Merge branch 'release/eni_7.20'
This commit is contained in:
commit
dfb3b123ed
@ -15,6 +15,8 @@ using ENI2.Util;
|
|||||||
|
|
||||||
using ENI2.EditControls;
|
using ENI2.EditControls;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
|
using Microsoft.Office.Interop.Excel;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace ENI2
|
namespace ENI2
|
||||||
{
|
{
|
||||||
@ -163,7 +165,7 @@ namespace ENI2
|
|||||||
_messages.AddRange(missingMessages);
|
_messages.AddRange(missingMessages);
|
||||||
|
|
||||||
BindingOperations.EnableCollectionSynchronization(_messages, this.messageListLock);
|
BindingOperations.EnableCollectionSynchronization(_messages, this.messageListLock);
|
||||||
Dispatcher.BeginInvoke((Action)(() => this.listBoxMessages.SelectedIndex = 0));
|
Dispatcher.BeginInvoke((System.Action)(() => this.listBoxMessages.SelectedIndex = 0));
|
||||||
|
|
||||||
RoutedCommand saveCmd = new RoutedCommand();
|
RoutedCommand saveCmd = new RoutedCommand();
|
||||||
saveCmd.InputGestures.Add(new KeyGesture(Key.S, ModifierKeys.Control));
|
saveCmd.InputGestures.Add(new KeyGesture(Key.S, ModifierKeys.Control));
|
||||||
@ -190,7 +192,7 @@ namespace ENI2
|
|||||||
public void CoreChanged(MessageCore newCore)
|
public void CoreChanged(MessageCore newCore)
|
||||||
{
|
{
|
||||||
this.Core = newCore;
|
this.Core = newCore;
|
||||||
Application.Current.Dispatcher.Invoke(delegate
|
System.Windows.Application.Current.Dispatcher.Invoke(delegate
|
||||||
{
|
{
|
||||||
if(controlCache.ContainsKey(Properties.Resources.textOverview))
|
if(controlCache.ContainsKey(Properties.Resources.textOverview))
|
||||||
{
|
{
|
||||||
@ -429,7 +431,7 @@ namespace ENI2
|
|||||||
this.controlCache.Clear();
|
this.controlCache.Clear();
|
||||||
|
|
||||||
// return to "new" overview
|
// return to "new" overview
|
||||||
Dispatcher.BeginInvoke((Action)(() => this.listBoxMessages_SelectionChanged(this, null)));
|
Dispatcher.BeginInvoke((System.Action)(() => this.listBoxMessages_SelectionChanged(this, null)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DetailControl_ResetControlCache(string messageGroupName)
|
private void DetailControl_ResetControlCache(string messageGroupName)
|
||||||
@ -607,7 +609,7 @@ namespace ENI2
|
|||||||
this.controlCache.Clear();
|
this.controlCache.Clear();
|
||||||
|
|
||||||
// return to "new" overviewdan
|
// return to "new" overviewdan
|
||||||
Dispatcher.BeginInvoke((Action)(() =>
|
Dispatcher.BeginInvoke((System.Action)(() =>
|
||||||
{
|
{
|
||||||
this.listBoxMessages_SelectionChanged(this, null);
|
this.listBoxMessages_SelectionChanged(this, null);
|
||||||
shipNameLabel.Text = this.Core.Shipname;
|
shipNameLabel.Text = this.Core.Shipname;
|
||||||
@ -713,11 +715,6 @@ namespace ENI2
|
|||||||
RuleEngine ruleEngine = new RuleEngine();
|
RuleEngine ruleEngine = new RuleEngine();
|
||||||
foreach (Message aMessage in _messages)
|
foreach (Message aMessage in _messages)
|
||||||
{
|
{
|
||||||
// XXX : TODO wegmachen wenn CREWD/PASD kommt
|
|
||||||
if ((aMessage.MessageNotificationClass == Message.NotificationClass.PASD) ||
|
|
||||||
(aMessage.MessageNotificationClass == Message.NotificationClass.CREWD))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (!aMessage.EvaluateForValidation(this.Core.IsTransit)) continue;
|
if (!aMessage.EvaluateForValidation(this.Core.IsTransit)) continue;
|
||||||
|
|
||||||
List<MessageError> errors = new List<MessageError>();
|
List<MessageError> errors = new List<MessageError>();
|
||||||
@ -739,9 +736,9 @@ namespace ENI2
|
|||||||
}
|
}
|
||||||
|
|
||||||
#region 12.11.18 / 6.3.21 / 23.5.22: globale Plausi-Prüfungen
|
#region 12.11.18 / 6.3.21 / 23.5.22: globale Plausi-Prüfungen
|
||||||
Message crewaMessage = _messages.Find(message => message.MessageNotificationClass == Message.NotificationClass.CREW);
|
Message crewaMessage = _messages.Find(message => message.MessageNotificationClass == Message.NotificationClass.CREWA);
|
||||||
Message crewdMessage = _messages.Find(message => message.MessageNotificationClass == Message.NotificationClass.CREWD);
|
Message crewdMessage = _messages.Find(message => message.MessageNotificationClass == Message.NotificationClass.CREWD);
|
||||||
Message pasaMessage = _messages.Find(message => message.MessageNotificationClass == Message.NotificationClass.PAS);
|
Message pasaMessage = _messages.Find(message => message.MessageNotificationClass == Message.NotificationClass.PASA);
|
||||||
Message pasdMessage = _messages.Find(message => message.MessageNotificationClass == Message.NotificationClass.PASD);
|
Message pasdMessage = _messages.Find(message => message.MessageNotificationClass == Message.NotificationClass.PASD);
|
||||||
Message pobaMessage = _messages.Find(message => message.MessageNotificationClass == Message.NotificationClass.POBA);
|
Message pobaMessage = _messages.Find(message => message.MessageNotificationClass == Message.NotificationClass.POBA);
|
||||||
Message secMessage = _messages.Find(message => message.MessageNotificationClass == Message.NotificationClass.SEC);
|
Message secMessage = _messages.Find(message => message.MessageNotificationClass == Message.NotificationClass.SEC);
|
||||||
@ -777,28 +774,13 @@ namespace ENI2
|
|||||||
|
|
||||||
// Wir können davon ausgehen, dass bei allen Unterelementen die Flags gleich gesetzt sind. Das wird im Import und BorderPoliceDetailControl sichergestellt.
|
// Wir können davon ausgehen, dass bei allen Unterelementen die Flags gleich gesetzt sind. Das wird im Import und BorderPoliceDetailControl sichergestellt.
|
||||||
|
|
||||||
// XXX : TODO auskommentiert bis CREWD/PASD kommt
|
|
||||||
/*
|
|
||||||
|
|
||||||
if(crewaMessage.Elements.Count > 0)
|
if(crewaMessage.Elements.Count > 0)
|
||||||
{
|
{
|
||||||
CREW crewaFirst = crewaMessage.Elements[0] as CREW;
|
CREW crewaFirst = crewaMessage.Elements[0] as CREW;
|
||||||
bool crewaIsSchengen = crewaFirst.NotificationSchengen ?? false;
|
bool crewaIsSchengen = crewaFirst.NotificationSchengen ?? false;
|
||||||
if (!((crewaFirst.NotificationPAX ?? false) || crewaIsSchengen)) // mindestens eins der beiden
|
if (!((crewaFirst.NotificationPAX ?? false) || crewaIsSchengen)) // mindestens eins der beiden
|
||||||
{
|
{
|
||||||
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V181, "Wrong selection", null, "CREWA", null, "CREWA");
|
vErrors.Add(RuleEngine.CreateError(ValidationCode.V181, "Pax / Schengen: one must be set", null, Properties.Resources.textOverview, null, "CREWA")); ;
|
||||||
mv.MessageGroupName = Properties.Resources.textOverview;
|
|
||||||
vViolations.Add(mv);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach(CREW crewa in crewaMessage.Elements)
|
|
||||||
{
|
|
||||||
if(crewaIsSchengen && !crewa.HasSchengenDetails)
|
|
||||||
{
|
|
||||||
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V182, "No Schengen details", null, "CREWA", crewa.Identifier, "CREWA");
|
|
||||||
mv.MessageGroupName = Properties.Resources.textOverview;
|
|
||||||
vViolations.Add(mv);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -810,19 +792,7 @@ namespace ENI2
|
|||||||
bool crewdIsSchengen = crewdFirst.NotificationSchengen ?? false;
|
bool crewdIsSchengen = crewdFirst.NotificationSchengen ?? false;
|
||||||
if (!((crewdFirst.NotificationPAX ?? false) || crewdIsSchengen)) // mindestens eins der beiden
|
if (!((crewdFirst.NotificationPAX ?? false) || crewdIsSchengen)) // mindestens eins der beiden
|
||||||
{
|
{
|
||||||
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V181, "Wrong selection", null, "CREWD", null, "CREWD");
|
vErrors.Add(RuleEngine.CreateError(ValidationCode.V181, "Pax / Schengen: one must be set", null, Properties.Resources.textOverview, null, "CREWD")); ;
|
||||||
mv.MessageGroupName = Properties.Resources.textOverview;
|
|
||||||
vViolations.Add(mv);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (CREWD crewd in crewdMessage.Elements)
|
|
||||||
{
|
|
||||||
if (crewdIsSchengen && !crewd.HasSchengenDetails)
|
|
||||||
{
|
|
||||||
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V182, "No Schengen details", null, "CREWD", crewd.Identifier, "CREWD");
|
|
||||||
mv.MessageGroupName = Properties.Resources.textOverview;
|
|
||||||
vViolations.Add(mv);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -834,25 +804,7 @@ namespace ENI2
|
|||||||
bool pasIsPAX = pasFirst.NotificationPAX ?? false;
|
bool pasIsPAX = pasFirst.NotificationPAX ?? false;
|
||||||
if (!(pasIsPAX || pasIsSchengen)) // mindestens eins der beiden
|
if (!(pasIsPAX || pasIsSchengen)) // mindestens eins der beiden
|
||||||
{
|
{
|
||||||
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V201, "Wrong selection", null, "PASA", null, "PASA");
|
vErrors.Add(RuleEngine.CreateError (ValidationCode.V201, "Pax / Schengen: one must be set", null, Properties.Resources.textOverview, null, "PASA"));
|
||||||
mv.MessageGroupName = Properties.Resources.textOverview;
|
|
||||||
vViolations.Add(mv);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (PAS pasa in pasaMessage.Elements)
|
|
||||||
{
|
|
||||||
if (pasIsSchengen && !pasa.HasSchengenDetails)
|
|
||||||
{
|
|
||||||
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V202, "No Schengen details", null, "PASA", pasa.Identifier, "PASA");
|
|
||||||
mv.MessageGroupName = Properties.Resources.textOverview;
|
|
||||||
vViolations.Add(mv);
|
|
||||||
}
|
|
||||||
if(pasIsPAX && !pasa.HasPAXDetails)
|
|
||||||
{
|
|
||||||
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V203, "No PAX details", null, "PASA", pasa.Identifier, "PASA");
|
|
||||||
mv.MessageGroupName = Properties.Resources.textOverview;
|
|
||||||
vViolations.Add(mv);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -865,30 +817,54 @@ namespace ENI2
|
|||||||
bool pasdIsPAX = pasdFirst.NotificationPAX ?? false;
|
bool pasdIsPAX = pasdFirst.NotificationPAX ?? false;
|
||||||
if (!(pasdIsPAX || pasdIsSchengen)) // mindestens eins der beiden
|
if (!(pasdIsPAX || pasdIsSchengen)) // mindestens eins der beiden
|
||||||
{
|
{
|
||||||
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V201, "Wrong selection", null, "PASD", null, "PASD");
|
vErrors.Add(RuleEngine.CreateError(ValidationCode.V201, "Pax / Schengen: one must be set", null, Properties.Resources.textOverview, null, "PASD"));
|
||||||
mv.MessageGroupName = Properties.Resources.textOverview;
|
|
||||||
vViolations.Add(mv);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (PASD pasd in pasdMessage.Elements)
|
|
||||||
{
|
|
||||||
if (pasdIsSchengen && !pasd.HasSchengenDetails)
|
|
||||||
{
|
|
||||||
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V202, "No Schengen details", null, "PASD", pasd.Identifier, "PASD");
|
|
||||||
mv.MessageGroupName = Properties.Resources.textOverview;
|
|
||||||
vViolations.Add(mv);
|
|
||||||
}
|
|
||||||
if (pasdIsPAX && !pasd.HasPAXDetails)
|
|
||||||
{
|
|
||||||
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V203, "No PAX details", null, "PASD", pasd.Identifier, "PASD");
|
|
||||||
mv.MessageGroupName = Properties.Resources.textOverview;
|
|
||||||
vViolations.Add(mv);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
*/
|
#endregion
|
||||||
|
|
||||||
|
#region 7.11.23 > 12 Passagiere in PASA oder PASD -> CREW* und PAS* muss NotificationPAX gesetzt haben
|
||||||
|
|
||||||
|
if ((pasaMessage != null) && (pasaMessage.Elements.Count > 12))
|
||||||
|
{
|
||||||
|
PAS firstPASA = pasaMessage.Elements[0] as PAS;
|
||||||
|
if(!(firstPASA.NotificationPAX ?? false))
|
||||||
|
{
|
||||||
|
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.NO_PAX, "No PAX set (PASA > 12)", null, Properties.Resources.textOverview, null, "PASA");
|
||||||
|
vViolations.Add(mv);
|
||||||
|
}
|
||||||
|
|
||||||
|
if((crewaMessage != null) && (crewaMessage.Elements.Count > 0))
|
||||||
|
{
|
||||||
|
CREW firstCREW = crewaMessage.Elements[0] as CREW;
|
||||||
|
if(!(firstCREW.NotificationPAX ?? false))
|
||||||
|
{
|
||||||
|
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.NO_PAX, "No PAX set (PASA > 12)", null, Properties.Resources.textOverview, null, "CREWA");
|
||||||
|
vViolations.Add(mv);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if((pasdMessage != null) && (pasdMessage.Elements.Count > 12))
|
||||||
|
{
|
||||||
|
PASD firstPASD = pasdMessage.Elements[0] as PASD;
|
||||||
|
if(!(firstPASD.NotificationPAX ?? false))
|
||||||
|
{
|
||||||
|
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.NO_PAX, "No PAX set (PASD > 12)", null, Properties.Resources.textOverview, null, "PASD");
|
||||||
|
vViolations.Add(mv);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((crewdMessage != null) && (crewdMessage.Elements.Count > 0))
|
||||||
|
{
|
||||||
|
CREWD firstCREW = crewdMessage.Elements[0] as CREWD;
|
||||||
|
if(!(firstCREW.NotificationPAX ?? false))
|
||||||
|
{
|
||||||
|
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.NO_PAX, "No PAX set (PASD > 12)", null, Properties.Resources.textOverview, null, "CREWD");
|
||||||
|
vViolations.Add(mv);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -912,7 +888,7 @@ namespace ENI2
|
|||||||
|
|
||||||
Dictionary<string, string> identDict = new Dictionary<string, string>();
|
Dictionary<string, string> identDict = new Dictionary<string, string>();
|
||||||
|
|
||||||
foreach (WAS_RCPT was_rcpt in was_rcptMessage.Elements)
|
foreach (WAS_RCPT was_rcpt in was_rcptMessage.Elements.Cast<WAS_RCPT>())
|
||||||
{
|
{
|
||||||
if (!was_rcpt.IdentificationNumber.IsNullOrEmpty())
|
if (!was_rcpt.IdentificationNumber.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
@ -1243,9 +1219,9 @@ namespace ENI2
|
|||||||
case Message.NotificationClass.BKRA:
|
case Message.NotificationClass.BKRA:
|
||||||
return Properties.Resources.textArrivalNotification;
|
return Properties.Resources.textArrivalNotification;
|
||||||
case Message.NotificationClass.BPOL:
|
case Message.NotificationClass.BPOL:
|
||||||
case Message.NotificationClass.CREW:
|
case Message.NotificationClass.CREWA:
|
||||||
case Message.NotificationClass.CREWD:
|
case Message.NotificationClass.CREWD:
|
||||||
case Message.NotificationClass.PAS:
|
case Message.NotificationClass.PASA:
|
||||||
case Message.NotificationClass.PASD:
|
case Message.NotificationClass.PASD:
|
||||||
return Properties.Resources.textBorderPolice;
|
return Properties.Resources.textBorderPolice;
|
||||||
case Message.NotificationClass.HAZA:
|
case Message.NotificationClass.HAZA:
|
||||||
|
|||||||
@ -49,7 +49,7 @@
|
|||||||
</ScrollViewer>
|
</ScrollViewer>
|
||||||
</GroupBox>
|
</GroupBox>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem Header="{x:Static p:Resources.textCrew}" Name="tabCrewArrival">
|
<TabItem Header="{x:Static p:Resources.textCrewArrival}" Name="tabCrewArrival">
|
||||||
<GroupBox Name="groupBoxCrewList" Header="{x:Static p:Resources.textTabCrewList}">
|
<GroupBox Name="groupBoxCrewList" Header="{x:Static p:Resources.textTabCrewList}">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
@ -60,13 +60,13 @@
|
|||||||
<Button Name="buttonImportExcelCrew" Content="{x:Static p:Resources.textImportFromExcel}" Margin="2" Width="120" HorizontalAlignment="Left" VerticalAlignment="Center" Background="Transparent" Click="buttonImportExcelCrew_Click" />
|
<Button Name="buttonImportExcelCrew" Content="{x:Static p:Resources.textImportFromExcel}" Margin="2" Width="120" HorizontalAlignment="Left" VerticalAlignment="Center" Background="Transparent" Click="buttonImportExcelCrew_Click" />
|
||||||
<TextBlock Margin="20, 0, 0, 0" Name="textBlockNumCrewEntries" FontWeight="Bold" Text="{Binding Elements.Count}" VerticalAlignment="Center"/>
|
<TextBlock Margin="20, 0, 0, 0" Name="textBlockNumCrewEntries" FontWeight="Bold" Text="{Binding Elements.Count}" VerticalAlignment="Center"/>
|
||||||
<Label Name="labelCrewEntryCount" Content="{x:Static p:Resources.textEntries}" />
|
<Label Name="labelCrewEntryCount" Content="{x:Static p:Resources.textEntries}" />
|
||||||
<!--
|
|
||||||
<CheckBox Name="checkBoxCrewNotificationSchengen" IsThreeState="False" VerticalAlignment="Center" Margin="10,0,0,0" Click="checkBoxCrewNotificationSchengen_Click"/>
|
<CheckBox Name="checkBoxCrewNotificationSchengen" IsThreeState="False" VerticalAlignment="Center" Margin="10,0,0,0" Click="checkBoxCrewNotificationSchengen_Click"/>
|
||||||
<Label Name="labelCrewNotificationSchengen" Content="{x:Static p:Resources.textNotificationSchengen}" />
|
<Label Name="labelCrewNotificationSchengen" Content="{x:Static p:Resources.textNotificationSchengen}" />
|
||||||
<CheckBox Name="checkBoxCrewNotificationPAX" IsThreeState="False" VerticalAlignment="Center" Margin="10,0,0,0" Click="checkBoxCrewNotificationPAX_Click"/>
|
<CheckBox Name="checkBoxCrewNotificationPAX" IsThreeState="False" VerticalAlignment="Center" Margin="10,0,0,0" Click="checkBoxCrewNotificationPAX_Click"/>
|
||||||
<Label Name="labelCrewNotificationPAX" Content="{x:Static p:Resources.textNotificationPAX}" />
|
<Label Name="labelCrewNotificationPAX" Content="{x:Static p:Resources.textNotificationPAX}" />
|
||||||
<TextBlock Margin="30,0,0,0" FontWeight="Bold" FontSize="16" Text="CREWA" VerticalAlignment="Center" />
|
<TextBlock Margin="30,0,0,0" FontWeight="Bold" FontSize="16" Text="CREWA" VerticalAlignment="Center" />
|
||||||
-->
|
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<enictrl:ENIDataGrid Grid.Row="1" Grid.Column="0" x:Name="dataGridCrewList" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"
|
<enictrl:ENIDataGrid Grid.Row="1" Grid.Column="0" x:Name="dataGridCrewList" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"
|
||||||
AutoGenerateColumns="False" Margin="0,5,0,0">
|
AutoGenerateColumns="False" Margin="0,5,0,0">
|
||||||
@ -78,7 +78,7 @@
|
|||||||
<DataGridTextColumn Header="{x:Static p:Resources.textCrewFunctionOnBoard}" Binding="{Binding CrewMemberDuty, Mode=TwoWay}" IsReadOnly="True" Width="0.1*" />
|
<DataGridTextColumn Header="{x:Static p:Resources.textCrewFunctionOnBoard}" Binding="{Binding CrewMemberDuty, Mode=TwoWay}" IsReadOnly="True" Width="0.1*" />
|
||||||
<DataGridTextColumn Header="{x:Static p:Resources.textNationality}" Binding="{Binding CrewMemberNationality, Mode=TwoWay}" IsReadOnly="True" Width="0.1*" />
|
<DataGridTextColumn Header="{x:Static p:Resources.textNationality}" Binding="{Binding CrewMemberNationality, Mode=TwoWay}" IsReadOnly="True" Width="0.1*" />
|
||||||
<DataGridTextColumn Header="{x:Static p:Resources.textPlaceOfBirth}" Binding="{Binding CrewMemberPlaceOfBirth, Mode=TwoWay}" IsReadOnly="True" Width="0.1*" />
|
<DataGridTextColumn Header="{x:Static p:Resources.textPlaceOfBirth}" Binding="{Binding CrewMemberPlaceOfBirth, Mode=TwoWay}" IsReadOnly="True" Width="0.1*" />
|
||||||
<!--<DataGridTextColumn Header="{x:Static p:Resources.textCountryOfBirth}" Binding="{Binding CrewMemberCountryOfBirth, Mode=TwoWay}" IsReadOnly="True" Width="0.1*" />--> <!-- XXX: TODO -->
|
<DataGridTextColumn Header="{x:Static p:Resources.textCountryOfBirth}" Binding="{Binding CrewMemberCountryOfBirth, Mode=TwoWay}" IsReadOnly="True" Width="0.1*" />
|
||||||
<DataGridTextColumn Header="{x:Static p:Resources.textDateOfBirth}" Binding="{Binding CrewMemberDateOfBirth, Mode=TwoWay, StringFormat=\{0:dd.MM.yyyy\}}" IsReadOnly="True" Width="0.1*" />
|
<DataGridTextColumn Header="{x:Static p:Resources.textDateOfBirth}" Binding="{Binding CrewMemberDateOfBirth, Mode=TwoWay, StringFormat=\{0:dd.MM.yyyy\}}" IsReadOnly="True" Width="0.1*" />
|
||||||
<DataGridTextColumn Header="{x:Static p:Resources.textIdDocType}" Binding="{Binding CrewMemberIdentityDocumentTypeDisplay}" IsReadOnly="True" Width="0.1*" />
|
<DataGridTextColumn Header="{x:Static p:Resources.textIdDocType}" Binding="{Binding CrewMemberIdentityDocumentTypeDisplay}" IsReadOnly="True" Width="0.1*" />
|
||||||
<DataGridTextColumn Header="{x:Static p:Resources.textIdDocNumber}" Binding="{Binding CrewMemberIdentityDocumentId, Mode=TwoWay}" IsReadOnly="True" Width="0.1*" />
|
<DataGridTextColumn Header="{x:Static p:Resources.textIdDocNumber}" Binding="{Binding CrewMemberIdentityDocumentId, Mode=TwoWay}" IsReadOnly="True" Width="0.1*" />
|
||||||
@ -91,7 +91,7 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
</GroupBox>
|
</GroupBox>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<!-- XXX : TODO
|
|
||||||
<TabItem Header="{x:Static p:Resources.textCrewDeparture}" Name="tabCrewDeparture">
|
<TabItem Header="{x:Static p:Resources.textCrewDeparture}" Name="tabCrewDeparture">
|
||||||
<GroupBox Name="groupBoxCrewListDeparture" Header="{x:Static p:Resources.textTabCrewList}">
|
<GroupBox Name="groupBoxCrewListDeparture" Header="{x:Static p:Resources.textTabCrewList}">
|
||||||
<Grid>
|
<Grid>
|
||||||
@ -131,8 +131,8 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
</GroupBox>
|
</GroupBox>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
-->
|
|
||||||
<TabItem Header="{x:Static p:Resources.textPas}" Name="tabPassengerList">
|
<TabItem Header="{x:Static p:Resources.textPasArrival}" Name="tabPassengerList">
|
||||||
<GroupBox Name="groupBoxPassengerList" Header="{x:Static p:Resources.textTabPassengerList}">
|
<GroupBox Name="groupBoxPassengerList" Header="{x:Static p:Resources.textTabPassengerList}">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
@ -143,13 +143,11 @@
|
|||||||
<Button Name="buttonImportExcelPassenger" Grid.Row="0" Grid.Column="0" Content="{x:Static p:Resources.textImportFromExcel}" Margin="2" Width="120" HorizontalAlignment="Left" VerticalAlignment="Center" Background="Transparent" Click="buttonImportExcelPassenger_Click" />
|
<Button Name="buttonImportExcelPassenger" Grid.Row="0" Grid.Column="0" Content="{x:Static p:Resources.textImportFromExcel}" Margin="2" Width="120" HorizontalAlignment="Left" VerticalAlignment="Center" Background="Transparent" Click="buttonImportExcelPassenger_Click" />
|
||||||
<TextBlock Margin="20, 0, 0, 0" Name="textBlockNumPasEntries" FontWeight="Bold" Text="{Binding Elements.Count}" VerticalAlignment="Center"/>
|
<TextBlock Margin="20, 0, 0, 0" Name="textBlockNumPasEntries" FontWeight="Bold" Text="{Binding Elements.Count}" VerticalAlignment="Center"/>
|
||||||
<Label Name="labelPasEntryCount" Content="{x:Static p:Resources.textEntries}" />
|
<Label Name="labelPasEntryCount" Content="{x:Static p:Resources.textEntries}" />
|
||||||
<!--
|
|
||||||
<CheckBox Name="checkBoxPasNotificationSchengen" IsThreeState="False" VerticalAlignment="Center" Margin="10,0,0,0" Click="checkBoxPasNotificationSchengen_Click"/>
|
<CheckBox Name="checkBoxPasNotificationSchengen" IsThreeState="False" VerticalAlignment="Center" Margin="10,0,0,0" Click="checkBoxPasNotificationSchengen_Click"/>
|
||||||
<Label Name="labelPasNotificationSchengen" Content="{x:Static p:Resources.textNotificationSchengen}" />
|
<Label Name="labelPasNotificationSchengen" Content="{x:Static p:Resources.textNotificationSchengen}" />
|
||||||
<CheckBox Name="checkBoxPasNotificationPAX" IsThreeState="False" VerticalAlignment="Center" Margin="10,0,0,0" Click="checkBoxPasNotificationPAX_Click"/>
|
<CheckBox Name="checkBoxPasNotificationPAX" IsThreeState="False" VerticalAlignment="Center" Margin="10,0,0,0" Click="checkBoxPasNotificationPAX_Click"/>
|
||||||
<Label Name="labelPasNotificationPAX" Content="{x:Static p:Resources.textNotificationPAX}" />
|
<Label Name="labelPasNotificationPAX" Content="{x:Static p:Resources.textNotificationPAX}" />
|
||||||
<TextBlock Margin="30,0,0,0" FontWeight="Bold" FontSize="16" Text="PASA" VerticalAlignment="Center" />
|
<TextBlock Margin="30,0,0,0" FontWeight="Bold" FontSize="16" Text="PASA" VerticalAlignment="Center" />
|
||||||
-->
|
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<enictrl:ENIDataGrid Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" x:Name="dataGridPassengerList" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"
|
<enictrl:ENIDataGrid Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" x:Name="dataGridPassengerList" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"
|
||||||
AutoGenerateColumns="False" Margin="0,5,0,0">
|
AutoGenerateColumns="False" Margin="0,5,0,0">
|
||||||
@ -163,22 +161,22 @@
|
|||||||
<DataGridCheckBoxColumn Header="{x:Static p:Resources.textTransitPassenger}" Binding="{Binding PassengerInTransit}" IsReadOnly="True" Width="0.1*" />
|
<DataGridCheckBoxColumn Header="{x:Static p:Resources.textTransitPassenger}" Binding="{Binding PassengerInTransit}" IsReadOnly="True" Width="0.1*" />
|
||||||
<DataGridTextColumn Header="{x:Static p:Resources.textNationality}" Binding="{Binding PassengerNationality}" IsReadOnly="True" Width="0.1*" />
|
<DataGridTextColumn Header="{x:Static p:Resources.textNationality}" Binding="{Binding PassengerNationality}" IsReadOnly="True" Width="0.1*" />
|
||||||
<DataGridTextColumn Header="{x:Static p:Resources.textPlaceOfBirth}" Binding="{Binding PassengerPlaceOfBirth}" IsReadOnly="True" Width="0.1*" />
|
<DataGridTextColumn Header="{x:Static p:Resources.textPlaceOfBirth}" Binding="{Binding PassengerPlaceOfBirth}" IsReadOnly="True" Width="0.1*" />
|
||||||
<!--<DataGridTextColumn Header="{x:Static p:Resources.textCountryOfBirth}" Binding="{Binding PassengerCountryOfBirth, Mode=TwoWay}" IsReadOnly="True" Width="0.1*" />-->
|
<DataGridTextColumn Header="{x:Static p:Resources.textCountryOfBirth}" Binding="{Binding PassengerCountryOfBirth, Mode=TwoWay}" IsReadOnly="True" Width="0.1*" />
|
||||||
<DataGridTextColumn Header="{x:Static p:Resources.textDateOfBirth}" Binding="{Binding PassengerDateOfBirth, StringFormat=\{0:dd.MM.yyyy\}}" IsReadOnly="True" Width="0.1*" />
|
<DataGridTextColumn Header="{x:Static p:Resources.textDateOfBirth}" Binding="{Binding PassengerDateOfBirth, StringFormat=\{0:dd.MM.yyyy\}}" IsReadOnly="True" Width="0.1*" />
|
||||||
<DataGridTextColumn Header="{x:Static p:Resources.textIdDocType}" Binding="{Binding PassengerIdentityDocumentTypeDisplay}" IsReadOnly="True" Width="0.1*" />
|
<DataGridTextColumn Header="{x:Static p:Resources.textIdDocType}" Binding="{Binding PassengerIdentityDocumentTypeDisplay}" IsReadOnly="True" Width="0.1*" />
|
||||||
<DataGridTextColumn Header="{x:Static p:Resources.textIdDocNumber}" Binding="{Binding PassengerIdentityDocumentId}" IsReadOnly="True" Width="0.1*" />
|
<DataGridTextColumn Header="{x:Static p:Resources.textIdDocNumber}" Binding="{Binding PassengerIdentityDocumentId}" IsReadOnly="True" Width="0.1*" />
|
||||||
<DataGridTextColumn Header="{x:Static p:Resources.textDocumentIssuingState}" Binding="{Binding PassengerIdentityDocumentIssuingState}" IsReadOnly="True" Width="0.1*" />
|
<DataGridTextColumn Header="{x:Static p:Resources.textDocumentIssuingState}" Binding="{Binding PassengerIdentityDocumentIssuingState}" IsReadOnly="True" Width="0.1*" />
|
||||||
<DataGridTextColumn Header="{x:Static p:Resources.textDocumentExpiryDate}" Binding="{Binding PassengerIdentityDocumentExpiryDate, StringFormat=\{0:dd.MM.yyyy\}}" IsReadOnly="True" Width="0.1*" />
|
<DataGridTextColumn Header="{x:Static p:Resources.textDocumentExpiryDate}" Binding="{Binding PassengerIdentityDocumentExpiryDate, StringFormat=\{0:dd.MM.yyyy\}}" IsReadOnly="True" Width="0.1*" />
|
||||||
<DataGridTextColumn Header="{x:Static p:Resources.textVisaNumber}" Binding="{Binding PassengerVisaNumber}" IsReadOnly="True" Width="0.1*" />
|
<DataGridTextColumn Header="{x:Static p:Resources.textVisaNumber}" Binding="{Binding PassengerVisaNumber}" IsReadOnly="True" Width="0.1*" />
|
||||||
<!--<DataGridTextColumn Header="{x:Static p:Resources.textEmergencyCare}" Binding="{Binding EmergencyCare, Mode=TwoWay}" IsReadOnly="True" Width="0.1*" />--> <!-- XXX : TODO -->
|
<DataGridTextColumn Header="{x:Static p:Resources.textEmergencyCare}" Binding="{Binding EmergencyCare, Mode=TwoWay}" IsReadOnly="True" Width="0.1*" />
|
||||||
<!-- <DataGridTextColumn Header="{x:Static p:Resources.textEmergencyContactNumber}" Binding="{Binding EmergencyContactNumber, Mode=TwoWay}" IsReadOnly="True" Width="0.1*" /> -->
|
<DataGridTextColumn Header="{x:Static p:Resources.textEmergencyContactNumber}" Binding="{Binding EmergencyContactNumber, Mode=TwoWay}" IsReadOnly="True" Width="0.1*" />
|
||||||
|
|
||||||
</DataGrid.Columns>
|
</DataGrid.Columns>
|
||||||
</enictrl:ENIDataGrid>
|
</enictrl:ENIDataGrid>
|
||||||
</Grid>
|
</Grid>
|
||||||
</GroupBox>
|
</GroupBox>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<!-- XXX : TODO
|
|
||||||
<TabItem Header="{x:Static p:Resources.textPasDeparture}" Name="tabPassengerListDeparture">
|
<TabItem Header="{x:Static p:Resources.textPasDeparture}" Name="tabPassengerListDeparture">
|
||||||
<GroupBox Name="groupBoxPassengerListDeparture" Header="{x:Static p:Resources.textTabPassengerList}">
|
<GroupBox Name="groupBoxPassengerListDeparture" Header="{x:Static p:Resources.textTabPassengerList}">
|
||||||
<Grid>
|
<Grid>
|
||||||
@ -222,7 +220,7 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
</GroupBox>
|
</GroupBox>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
-->
|
|
||||||
</TabControl>
|
</TabControl>
|
||||||
|
|
||||||
</src:DetailBaseControl>
|
</src:DetailBaseControl>
|
||||||
|
|||||||
@ -13,6 +13,7 @@ using ENI2.Util;
|
|||||||
using ENI2.Locode;
|
using ENI2.Locode;
|
||||||
using ExcelDataReader;
|
using ExcelDataReader;
|
||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
|
using System.Windows.Media.Imaging;
|
||||||
|
|
||||||
namespace ENI2.DetailViewControls
|
namespace ENI2.DetailViewControls
|
||||||
{
|
{
|
||||||
@ -50,8 +51,8 @@ namespace ENI2.DetailViewControls
|
|||||||
foreach (Message aMessage in this.Messages)
|
foreach (Message aMessage in this.Messages)
|
||||||
{
|
{
|
||||||
if (aMessage.MessageNotificationClass == Message.NotificationClass.BPOL) { this._bpolMessage = aMessage; this.ControlMessages.Add(aMessage); }
|
if (aMessage.MessageNotificationClass == Message.NotificationClass.BPOL) { this._bpolMessage = aMessage; this.ControlMessages.Add(aMessage); }
|
||||||
if (aMessage.MessageNotificationClass == Message.NotificationClass.CREW) { this._crewMessage = aMessage; this.ControlMessages.Add(aMessage); }
|
if (aMessage.MessageNotificationClass == Message.NotificationClass.CREWA) { this._crewMessage = aMessage; this.ControlMessages.Add(aMessage); }
|
||||||
if (aMessage.MessageNotificationClass == Message.NotificationClass.PAS) { this._pasMessage = aMessage; this.ControlMessages.Add(aMessage); }
|
if (aMessage.MessageNotificationClass == Message.NotificationClass.PASA) { this._pasMessage = aMessage; this.ControlMessages.Add(aMessage); }
|
||||||
if (aMessage.MessageNotificationClass == Message.NotificationClass.CREWD) { this._crewdMessage = aMessage; this.ControlMessages.Add(aMessage); }
|
if (aMessage.MessageNotificationClass == Message.NotificationClass.CREWD) { this._crewdMessage = aMessage; this.ControlMessages.Add(aMessage); }
|
||||||
if (aMessage.MessageNotificationClass == Message.NotificationClass.PASD) { this._pasdMessage = aMessage; this.ControlMessages.Add(aMessage); }
|
if (aMessage.MessageNotificationClass == Message.NotificationClass.PASD) { this._pasdMessage = aMessage; this.ControlMessages.Add(aMessage); }
|
||||||
|
|
||||||
@ -99,7 +100,7 @@ namespace ENI2.DetailViewControls
|
|||||||
|
|
||||||
if (this._crewMessage == null)
|
if (this._crewMessage == null)
|
||||||
{
|
{
|
||||||
this._crewMessage = this.Core.CreateMessage(Message.NotificationClass.CREW);
|
this._crewMessage = this.Core.CreateMessage(Message.NotificationClass.CREWA);
|
||||||
this.Messages.Add(this._crewMessage);
|
this.Messages.Add(this._crewMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -112,20 +113,27 @@ namespace ENI2.DetailViewControls
|
|||||||
this.dataGridCrewList.DeleteRequested += DataGridCrewList_DeleteRequested;
|
this.dataGridCrewList.DeleteRequested += DataGridCrewList_DeleteRequested;
|
||||||
this.dataGridCrewList.CreateRequested += DataGridCrewList_CreateRequested;
|
this.dataGridCrewList.CreateRequested += DataGridCrewList_CreateRequested;
|
||||||
this.dataGridCrewList.RefreshGrid += DataGridCrewList_RefreshGrid;
|
this.dataGridCrewList.RefreshGrid += DataGridCrewList_RefreshGrid;
|
||||||
/* XXX : TODO
|
|
||||||
if(this._crewMessage.Elements.Count > 0)
|
if(this._crewMessage.Elements.Count > 0)
|
||||||
{
|
{
|
||||||
this.checkBoxCrewNotificationSchengen.IsChecked = ((CREW)this._crewMessage.Elements[0]).NotificationSchengen;
|
this.checkBoxCrewNotificationSchengen.IsChecked = ((CREW)this._crewMessage.Elements[0]).NotificationSchengen;
|
||||||
this.checkBoxCrewNotificationPAX.IsChecked = ((CREW)this._crewMessage.Elements[0]).NotificationPAX;
|
this.checkBoxCrewNotificationPAX.IsChecked = ((CREW)this._crewMessage.Elements[0]).NotificationPAX;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
// extra menu copy to CREWD
|
||||||
|
{
|
||||||
|
this.dataGridCrewList.ContextMenu.Items.Add(new Separator());
|
||||||
|
MenuItem copyCREWAItem = new MenuItem();
|
||||||
|
copyCREWAItem.Header = Properties.Resources.textCopyToCREWD;
|
||||||
|
copyCREWAItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/documents.png")) };
|
||||||
|
copyCREWAItem.Click += CopyCREWAItem_Click;
|
||||||
|
this.dataGridCrewList.ContextMenu.Items.Add(copyCREWAItem);
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region init CREWD
|
#region init CREWD
|
||||||
|
|
||||||
/* XXX : TODO
|
|
||||||
|
|
||||||
if (this._crewdMessage == null)
|
if (this._crewdMessage == null)
|
||||||
{
|
{
|
||||||
this._crewdMessage = this.Core.CreateMessage(Message.NotificationClass.CREWD);
|
this._crewdMessage = this.Core.CreateMessage(Message.NotificationClass.CREWD);
|
||||||
@ -148,7 +156,15 @@ namespace ENI2.DetailViewControls
|
|||||||
this.checkBoxCrewNotificationPAXDeparture.IsChecked = ((CREWD)this._crewdMessage.Elements[0]).NotificationPAX;
|
this.checkBoxCrewNotificationPAXDeparture.IsChecked = ((CREWD)this._crewdMessage.Elements[0]).NotificationPAX;
|
||||||
}
|
}
|
||||||
|
|
||||||
*/
|
// extra menu copy to CREWA
|
||||||
|
{
|
||||||
|
this.dataGridCrewListDeparture.ContextMenu.Items.Add(new Separator());
|
||||||
|
MenuItem copyCREWDItem = new MenuItem();
|
||||||
|
copyCREWDItem.Header = Properties.Resources.textCopyToCREWA;
|
||||||
|
copyCREWDItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/documents.png")) };
|
||||||
|
copyCREWDItem.Click += CopyCREWDItem_Click;
|
||||||
|
this.dataGridCrewListDeparture.ContextMenu.Items.Add(copyCREWDItem);
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -156,7 +172,7 @@ namespace ENI2.DetailViewControls
|
|||||||
|
|
||||||
if (this._pasMessage == null)
|
if (this._pasMessage == null)
|
||||||
{
|
{
|
||||||
this._pasMessage = this.Core.CreateMessage(Message.NotificationClass.PAS);
|
this._pasMessage = this.Core.CreateMessage(Message.NotificationClass.PASA);
|
||||||
this.Messages.Add(this._pasMessage);
|
this.Messages.Add(this._pasMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -170,22 +186,26 @@ namespace ENI2.DetailViewControls
|
|||||||
this.dataGridPassengerList.CreateRequested += DataGridPassengerList_CreateRequested;
|
this.dataGridPassengerList.CreateRequested += DataGridPassengerList_CreateRequested;
|
||||||
this.dataGridPassengerList.RefreshGrid += DataGridPassengerList_RefreshGrid;
|
this.dataGridPassengerList.RefreshGrid += DataGridPassengerList_RefreshGrid;
|
||||||
|
|
||||||
/* XXX : TODO
|
|
||||||
|
|
||||||
if (this._pasMessage.Elements.Count > 0)
|
if (this._pasMessage.Elements.Count > 0)
|
||||||
{
|
{
|
||||||
this.checkBoxPasNotificationSchengen.IsChecked = ((PAS)this._pasMessage.Elements[0]).NotificationSchengen;
|
this.checkBoxPasNotificationSchengen.IsChecked = ((PAS)this._pasMessage.Elements[0]).NotificationSchengen;
|
||||||
this.checkBoxPasNotificationPAX.IsChecked = ((PAS)this._pasMessage.Elements[0]).NotificationPAX;
|
this.checkBoxPasNotificationPAX.IsChecked = ((PAS)this._pasMessage.Elements[0]).NotificationPAX;
|
||||||
}
|
}
|
||||||
|
|
||||||
*/
|
// extra menu copy to PASD
|
||||||
|
{
|
||||||
|
this.dataGridPassengerList.ContextMenu.Items.Add(new Separator());
|
||||||
|
MenuItem copyPASAItem = new MenuItem();
|
||||||
|
copyPASAItem.Header = Properties.Resources.textCopyToPASD;
|
||||||
|
copyPASAItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/documents.png")) };
|
||||||
|
copyPASAItem.Click += CopyPASAItem_Click;
|
||||||
|
this.dataGridPassengerList.ContextMenu.Items.Add(copyPASAItem);
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region init PASD
|
#region init PASD
|
||||||
|
|
||||||
/* XXX : TODO
|
|
||||||
|
|
||||||
if (this._pasdMessage == null)
|
if (this._pasdMessage == null)
|
||||||
{
|
{
|
||||||
this._pasdMessage = this.Core.CreateMessage(Message.NotificationClass.PASD);
|
this._pasdMessage = this.Core.CreateMessage(Message.NotificationClass.PASD);
|
||||||
@ -208,11 +228,171 @@ namespace ENI2.DetailViewControls
|
|||||||
this.checkBoxPasNotificationPAXDeparture.IsChecked = ((PASD)this._pasdMessage.Elements[0]).NotificationPAX;
|
this.checkBoxPasNotificationPAXDeparture.IsChecked = ((PASD)this._pasdMessage.Elements[0]).NotificationPAX;
|
||||||
}
|
}
|
||||||
|
|
||||||
*/
|
// extra menu copy to PASA
|
||||||
|
{
|
||||||
|
this.dataGridPassengerListDeparture.ContextMenu.Items.Add(new Separator());
|
||||||
|
MenuItem copyPASDItem = new MenuItem();
|
||||||
|
copyPASDItem.Header = Properties.Resources.textCopyToPASA;
|
||||||
|
copyPASDItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/documents.png")) };
|
||||||
|
copyPASDItem.Click += CopyPASDItem_Click; ;
|
||||||
|
this.dataGridPassengerListDeparture.ContextMenu.Items.Add(copyPASDItem);
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region Grid copy handlers
|
||||||
|
|
||||||
|
private void CopyPASDItem_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
if (this.dataGridPassengerListDeparture.SelectedItems != null)
|
||||||
|
{
|
||||||
|
foreach (PASD pasd in this.dataGridPassengerListDeparture.SelectedItems)
|
||||||
|
{
|
||||||
|
PAS pasa = new PAS();
|
||||||
|
pasa.MessageHeader = this._pasMessage;
|
||||||
|
pasa.CopyFromPAS(pasd);
|
||||||
|
pasa.IsDeparture = false;
|
||||||
|
pasa.Identifier = DatabaseEntity.GetNewIdentifier(this._pasMessage.Elements);
|
||||||
|
this._pasMessage.Elements.Add(pasa);
|
||||||
|
this.SublistElementChanged(Message.NotificationClass.PASA);
|
||||||
|
}
|
||||||
|
this.CheckPASA();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CopyPASAItem_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
if (this.dataGridPassengerList.SelectedItems != null)
|
||||||
|
{
|
||||||
|
foreach (PAS pasa in this.dataGridPassengerList.SelectedItems)
|
||||||
|
{
|
||||||
|
PASD pasd = new PASD();
|
||||||
|
pasd.MessageHeader = this._pasdMessage;
|
||||||
|
pasd.CopyFromPAS(pasa);
|
||||||
|
pasd.IsDeparture = true;
|
||||||
|
pasd.Identifier = DatabaseEntity.GetNewIdentifier(this._pasdMessage.Elements);
|
||||||
|
this._pasdMessage.Elements.Add(pasd);
|
||||||
|
this.SublistElementChanged(Message.NotificationClass.PASD);
|
||||||
|
}
|
||||||
|
this.CheckPASD();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CopyCREWDItem_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
if (this.dataGridCrewListDeparture.SelectedItems != null)
|
||||||
|
{
|
||||||
|
foreach (CREWD crewd in this.dataGridCrewListDeparture.SelectedItems)
|
||||||
|
{
|
||||||
|
CREW crewa = new CREW();
|
||||||
|
crewa.MessageHeader = this._crewMessage;
|
||||||
|
crewa.CopyFromCREW(crewd);
|
||||||
|
crewa.IsDeparture = false;
|
||||||
|
crewa.Identifier = DatabaseEntity.GetNewIdentifier(this._crewMessage.Elements);
|
||||||
|
this._crewMessage.Elements.Add(crewa);
|
||||||
|
this.SublistElementChanged(Message.NotificationClass.CREWA);
|
||||||
|
}
|
||||||
|
this.CheckCREWA();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CopyCREWAItem_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
if(this.dataGridCrewList.SelectedItems != null)
|
||||||
|
{
|
||||||
|
foreach(CREW crewa in this.dataGridCrewList.SelectedItems)
|
||||||
|
{
|
||||||
|
CREWD crewd = new CREWD();
|
||||||
|
crewd.MessageHeader = this._crewdMessage;
|
||||||
|
crewd.CopyFromCREW(crewa);
|
||||||
|
crewd.IsDeparture = true;
|
||||||
|
crewd.Identifier = DatabaseEntity.GetNewIdentifier(this._crewdMessage.Elements);
|
||||||
|
this._crewdMessage.Elements.Add(crewd);
|
||||||
|
this.SublistElementChanged(Message.NotificationClass.CREWD);
|
||||||
|
}
|
||||||
|
this.CheckCREWD();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Check Schengen / PAX flags and sync
|
||||||
|
|
||||||
|
private void CheckCREWA()
|
||||||
|
{
|
||||||
|
if (this._crewMessage.Elements.Count == 0) return;
|
||||||
|
CREW firstCREW = this._crewMessage.Elements[0] as CREW;
|
||||||
|
if (this._crewMessage.Elements.Count == 1)
|
||||||
|
{
|
||||||
|
firstCREW.NotificationSchengen = true;
|
||||||
|
this.checkBoxCrewNotificationSchengen.IsChecked = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (int i = 1; i < this._crewMessage.Elements.Count; i++)
|
||||||
|
{
|
||||||
|
((CREW)this._crewMessage.Elements[i]).NotificationSchengen = firstCREW.NotificationSchengen;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckCREWD()
|
||||||
|
{
|
||||||
|
if (this._crewdMessage.Elements.Count == 0) return;
|
||||||
|
CREWD firstCREW = this._crewdMessage.Elements[0] as CREWD;
|
||||||
|
if (this._crewdMessage.Elements.Count == 1)
|
||||||
|
{
|
||||||
|
firstCREW.NotificationSchengen = true;
|
||||||
|
this.checkBoxCrewNotificationSchengenDeparture.IsChecked = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (int i = 1; i < this._crewdMessage.Elements.Count; i++)
|
||||||
|
{
|
||||||
|
((CREWD)this._crewdMessage.Elements[i]).NotificationSchengen = firstCREW.NotificationSchengen;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckPASA()
|
||||||
|
{
|
||||||
|
if(this._pasMessage.Elements.Count == 0) return;
|
||||||
|
PAS firstPAS = this._pasMessage.Elements[0] as PAS;
|
||||||
|
if(this._pasMessage.Elements.Count == 1)
|
||||||
|
{
|
||||||
|
firstPAS.NotificationSchengen = true;
|
||||||
|
this.checkBoxPasNotificationSchengen.IsChecked = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (int i = 1; i < this._pasMessage.Elements.Count; i++)
|
||||||
|
{
|
||||||
|
((PAS)this._pasMessage.Elements[i]).NotificationSchengen = firstPAS.NotificationSchengen;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckPASD()
|
||||||
|
{
|
||||||
|
if(this._pasdMessage.Elements.Count == 0) return;
|
||||||
|
PASD firstPAS = this._pasdMessage.Elements[0] as PASD;
|
||||||
|
if (this._pasdMessage.Elements.Count == 1)
|
||||||
|
{
|
||||||
|
firstPAS.NotificationSchengen = true;
|
||||||
|
this.checkBoxPasNotificationSchengenDeparture.IsChecked = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (int i = 1; i < this._pasdMessage.Elements.Count; i++)
|
||||||
|
{
|
||||||
|
((PASD)this._pasdMessage.Elements[i]).NotificationSchengen = firstPAS.NotificationSchengen;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region SetEnabled
|
#region SetEnabled
|
||||||
|
|
||||||
public override void SetEnabled(bool enabled)
|
public override void SetEnabled(bool enabled)
|
||||||
@ -365,22 +545,28 @@ namespace ENI2.DetailViewControls
|
|||||||
{
|
{
|
||||||
epd.CopyValuesToEntity();
|
epd.CopyValuesToEntity();
|
||||||
if (!this._pasMessage.Elements.Contains(epd.PAS))
|
if (!this._pasMessage.Elements.Contains(epd.PAS))
|
||||||
|
{
|
||||||
this._pasMessage.Elements.Add(epd.PAS);
|
this._pasMessage.Elements.Add(epd.PAS);
|
||||||
|
this.CheckPASA();
|
||||||
|
}
|
||||||
this.dataGridPassengerList.Items.Refresh();
|
this.dataGridPassengerList.Items.Refresh();
|
||||||
epd.PAS = new PAS
|
epd.PAS = new PAS
|
||||||
{
|
{
|
||||||
MessageHeader = this._pasMessage,
|
MessageHeader = this._pasMessage,
|
||||||
Identifier = PAS.GetNewIdentifier(_pasMessage.Elements)
|
Identifier = PAS.GetNewIdentifier(_pasMessage.Elements)
|
||||||
};
|
};
|
||||||
this.SublistElementChanged(Message.NotificationClass.PAS);
|
this.SublistElementChanged(Message.NotificationClass.PASA);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (epd.ShowDialog() ?? false)
|
if (epd.ShowDialog() ?? false)
|
||||||
{
|
{
|
||||||
if (!this._pasMessage.Elements.Contains(epd.PAS))
|
if (!this._pasMessage.Elements.Contains(epd.PAS))
|
||||||
|
{
|
||||||
_pasMessage.Elements.Add(epd.PAS);
|
_pasMessage.Elements.Add(epd.PAS);
|
||||||
|
this.CheckPASA();
|
||||||
|
}
|
||||||
this.dataGridPassengerList.Items.Refresh();
|
this.dataGridPassengerList.Items.Refresh();
|
||||||
this.SublistElementChanged(Message.NotificationClass.PAS);
|
this.SublistElementChanged(Message.NotificationClass.PASA);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -397,7 +583,7 @@ namespace ENI2.DetailViewControls
|
|||||||
private void DataGridPassengerList_RefreshGrid()
|
private void DataGridPassengerList_RefreshGrid()
|
||||||
{
|
{
|
||||||
DatabaseEntity.ResetIdentifiers(_pasMessage.Elements);
|
DatabaseEntity.ResetIdentifiers(_pasMessage.Elements);
|
||||||
this.SublistElementChanged(Message.NotificationClass.PAS);
|
this.SublistElementChanged(Message.NotificationClass.PASA);
|
||||||
this.dataGridPassengerList.Items.Refresh();
|
this.dataGridPassengerList.Items.Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -412,23 +598,29 @@ namespace ENI2.DetailViewControls
|
|||||||
{
|
{
|
||||||
epd.CopyValuesToEntity();
|
epd.CopyValuesToEntity();
|
||||||
if (!_pasMessage.Elements.Contains(epd.PAS))
|
if (!_pasMessage.Elements.Contains(epd.PAS))
|
||||||
|
{
|
||||||
_pasMessage.Elements.Add(epd.PAS);
|
_pasMessage.Elements.Add(epd.PAS);
|
||||||
|
this.CheckPASA();
|
||||||
|
}
|
||||||
this.dataGridPassengerList.Items.Refresh();
|
this.dataGridPassengerList.Items.Refresh();
|
||||||
epd.PAS = new PAS
|
epd.PAS = new PAS
|
||||||
{
|
{
|
||||||
Identifier = PAS.GetNewIdentifier(_pasMessage.Elements),
|
Identifier = PAS.GetNewIdentifier(_pasMessage.Elements),
|
||||||
MessageHeader = _pasMessage
|
MessageHeader = _pasMessage
|
||||||
};
|
};
|
||||||
this.SublistElementChanged(Message.NotificationClass.PAS);
|
this.SublistElementChanged(Message.NotificationClass.PASA);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (epd.ShowDialog() ?? false)
|
if (epd.ShowDialog() ?? false)
|
||||||
{
|
{
|
||||||
if (!_pasMessage.Elements.Contains(epd.PAS))
|
if (!_pasMessage.Elements.Contains(epd.PAS))
|
||||||
|
{
|
||||||
_pasMessage.Elements.Add(epd.PAS);
|
_pasMessage.Elements.Add(epd.PAS);
|
||||||
|
this.CheckPASA();
|
||||||
|
}
|
||||||
epd.PAS.IsDirty = true;
|
epd.PAS.IsDirty = true;
|
||||||
this.dataGridPassengerList.Items.Refresh();
|
this.dataGridPassengerList.Items.Refresh();
|
||||||
this.SublistElementChanged(Message.NotificationClass.PAS);
|
this.SublistElementChanged(Message.NotificationClass.PASA);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -439,8 +631,6 @@ namespace ENI2.DetailViewControls
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
/* XXX : TODO
|
|
||||||
|
|
||||||
#region passenger grid departure
|
#region passenger grid departure
|
||||||
|
|
||||||
private void DataGridPassengerListDeparture_CreateRequested()
|
private void DataGridPassengerListDeparture_CreateRequested()
|
||||||
@ -457,7 +647,10 @@ namespace ENI2.DetailViewControls
|
|||||||
{
|
{
|
||||||
epd.CopyValuesToEntity();
|
epd.CopyValuesToEntity();
|
||||||
if (!this._pasdMessage.Elements.Contains(epd.PAS))
|
if (!this._pasdMessage.Elements.Contains(epd.PAS))
|
||||||
|
{
|
||||||
this._pasdMessage.Elements.Add(epd.PAS);
|
this._pasdMessage.Elements.Add(epd.PAS);
|
||||||
|
this.CheckPASD();
|
||||||
|
}
|
||||||
this.dataGridPassengerList.Items.Refresh();
|
this.dataGridPassengerList.Items.Refresh();
|
||||||
epd.PAS = new PASD
|
epd.PAS = new PASD
|
||||||
{
|
{
|
||||||
@ -471,7 +664,10 @@ namespace ENI2.DetailViewControls
|
|||||||
if (epd.ShowDialog() ?? false)
|
if (epd.ShowDialog() ?? false)
|
||||||
{
|
{
|
||||||
if (!this._pasdMessage.Elements.Contains(epd.PAS))
|
if (!this._pasdMessage.Elements.Contains(epd.PAS))
|
||||||
|
{
|
||||||
_pasdMessage.Elements.Add(epd.PAS);
|
_pasdMessage.Elements.Add(epd.PAS);
|
||||||
|
this.CheckPASD();
|
||||||
|
}
|
||||||
this.dataGridPassengerListDeparture.Items.Refresh();
|
this.dataGridPassengerListDeparture.Items.Refresh();
|
||||||
this.SublistElementChanged(Message.NotificationClass.PASD);
|
this.SublistElementChanged(Message.NotificationClass.PASD);
|
||||||
}
|
}
|
||||||
@ -505,7 +701,10 @@ namespace ENI2.DetailViewControls
|
|||||||
{
|
{
|
||||||
epd.CopyValuesToEntity();
|
epd.CopyValuesToEntity();
|
||||||
if (!_pasMessage.Elements.Contains(epd.PAS))
|
if (!_pasMessage.Elements.Contains(epd.PAS))
|
||||||
|
{
|
||||||
_pasMessage.Elements.Add(epd.PAS);
|
_pasMessage.Elements.Add(epd.PAS);
|
||||||
|
this.CheckPASD();
|
||||||
|
}
|
||||||
this.dataGridPassengerList.Items.Refresh();
|
this.dataGridPassengerList.Items.Refresh();
|
||||||
epd.PAS = new PASD
|
epd.PAS = new PASD
|
||||||
{
|
{
|
||||||
@ -519,7 +718,10 @@ namespace ENI2.DetailViewControls
|
|||||||
if (epd.ShowDialog() ?? false)
|
if (epd.ShowDialog() ?? false)
|
||||||
{
|
{
|
||||||
if (!_pasdMessage.Elements.Contains(epd.PAS))
|
if (!_pasdMessage.Elements.Contains(epd.PAS))
|
||||||
|
{
|
||||||
_pasdMessage.Elements.Add(epd.PAS);
|
_pasdMessage.Elements.Add(epd.PAS);
|
||||||
|
this.CheckPASD();
|
||||||
|
}
|
||||||
epd.PAS.IsDirty = true;
|
epd.PAS.IsDirty = true;
|
||||||
this.dataGridPassengerListDeparture.Items.Refresh();
|
this.dataGridPassengerListDeparture.Items.Refresh();
|
||||||
this.SublistElementChanged(Message.NotificationClass.PASD);
|
this.SublistElementChanged(Message.NotificationClass.PASD);
|
||||||
@ -533,8 +735,6 @@ namespace ENI2.DetailViewControls
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#region crew grid arrival
|
#region crew grid arrival
|
||||||
|
|
||||||
private void DataGridCrewList_CreateRequested()
|
private void DataGridCrewList_CreateRequested()
|
||||||
@ -550,22 +750,28 @@ namespace ENI2.DetailViewControls
|
|||||||
{
|
{
|
||||||
ecd.CopyValuesToEntity();
|
ecd.CopyValuesToEntity();
|
||||||
if (!this._crewMessage.Elements.Contains(ecd.CREW))
|
if (!this._crewMessage.Elements.Contains(ecd.CREW))
|
||||||
|
{
|
||||||
this._crewMessage.Elements.Add(ecd.CREW);
|
this._crewMessage.Elements.Add(ecd.CREW);
|
||||||
|
this.CheckCREWA();
|
||||||
|
}
|
||||||
this.dataGridCrewList.Items.Refresh();
|
this.dataGridCrewList.Items.Refresh();
|
||||||
ecd.CREW = new CREW
|
ecd.CREW = new CREW
|
||||||
{
|
{
|
||||||
MessageHeader = this._crewMessage,
|
MessageHeader = this._crewMessage,
|
||||||
Identifier = CREW.GetNewIdentifier(_crewMessage.Elements)
|
Identifier = CREW.GetNewIdentifier(_crewMessage.Elements)
|
||||||
};
|
};
|
||||||
this.SublistElementChanged(Message.NotificationClass.CREW);
|
this.SublistElementChanged(Message.NotificationClass.CREWA);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (ecd.ShowDialog() ?? false)
|
if (ecd.ShowDialog() ?? false)
|
||||||
{
|
{
|
||||||
if (!this._crewMessage.Elements.Contains(ecd.CREW))
|
if (!this._crewMessage.Elements.Contains(ecd.CREW))
|
||||||
|
{
|
||||||
_crewMessage.Elements.Add(ecd.CREW);
|
_crewMessage.Elements.Add(ecd.CREW);
|
||||||
|
this.CheckCREWA();
|
||||||
|
}
|
||||||
this.dataGridCrewList.Items.Refresh();
|
this.dataGridCrewList.Items.Refresh();
|
||||||
this.SublistElementChanged(Message.NotificationClass.CREW);
|
this.SublistElementChanged(Message.NotificationClass.CREWA);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -582,7 +788,7 @@ namespace ENI2.DetailViewControls
|
|||||||
private void DataGridCrewList_RefreshGrid()
|
private void DataGridCrewList_RefreshGrid()
|
||||||
{
|
{
|
||||||
DatabaseEntity.ResetIdentifiers(_crewMessage.Elements);
|
DatabaseEntity.ResetIdentifiers(_crewMessage.Elements);
|
||||||
this.SublistElementChanged(Message.NotificationClass.CREW);
|
this.SublistElementChanged(Message.NotificationClass.CREWA);
|
||||||
this.dataGridCrewList.Items.Refresh();
|
this.dataGridCrewList.Items.Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -597,23 +803,29 @@ namespace ENI2.DetailViewControls
|
|||||||
{
|
{
|
||||||
ecd.CopyValuesToEntity();
|
ecd.CopyValuesToEntity();
|
||||||
if (!_crewMessage.Elements.Contains(ecd.CREW))
|
if (!_crewMessage.Elements.Contains(ecd.CREW))
|
||||||
|
{
|
||||||
_crewMessage.Elements.Add(ecd.CREW);
|
_crewMessage.Elements.Add(ecd.CREW);
|
||||||
|
this.CheckCREWA();
|
||||||
|
}
|
||||||
this.dataGridCrewList.Items.Refresh();
|
this.dataGridCrewList.Items.Refresh();
|
||||||
ecd.CREW = new CREW
|
ecd.CREW = new CREW
|
||||||
{
|
{
|
||||||
Identifier = CREW.GetNewIdentifier(_crewMessage.Elements),
|
Identifier = CREW.GetNewIdentifier(_crewMessage.Elements),
|
||||||
MessageHeader = _crewMessage
|
MessageHeader = _crewMessage
|
||||||
};
|
};
|
||||||
this.SublistElementChanged(Message.NotificationClass.CREW);
|
this.SublistElementChanged(Message.NotificationClass.CREWA);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (ecd.ShowDialog() ?? false)
|
if (ecd.ShowDialog() ?? false)
|
||||||
{
|
{
|
||||||
if (!_crewMessage.Elements.Contains(ecd.CREW))
|
if (!_crewMessage.Elements.Contains(ecd.CREW))
|
||||||
|
{
|
||||||
_crewMessage.Elements.Add(ecd.CREW);
|
_crewMessage.Elements.Add(ecd.CREW);
|
||||||
|
this.CheckCREWA();
|
||||||
|
}
|
||||||
ecd.CREW.IsDirty = true;
|
ecd.CREW.IsDirty = true;
|
||||||
this.dataGridCrewList.Items.Refresh();
|
this.dataGridCrewList.Items.Refresh();
|
||||||
this.SublistElementChanged(Message.NotificationClass.CREW);
|
this.SublistElementChanged(Message.NotificationClass.CREWA);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -624,8 +836,6 @@ namespace ENI2.DetailViewControls
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
/* XXX : TODO
|
|
||||||
|
|
||||||
#region crew grid departure
|
#region crew grid departure
|
||||||
|
|
||||||
private void DataGridCrewListDeparture_CreateRequested()
|
private void DataGridCrewListDeparture_CreateRequested()
|
||||||
@ -642,7 +852,10 @@ namespace ENI2.DetailViewControls
|
|||||||
{
|
{
|
||||||
ecd.CopyValuesToEntity();
|
ecd.CopyValuesToEntity();
|
||||||
if (!this._crewdMessage.Elements.Contains(ecd.CREW))
|
if (!this._crewdMessage.Elements.Contains(ecd.CREW))
|
||||||
|
{
|
||||||
this._crewdMessage.Elements.Add(ecd.CREW);
|
this._crewdMessage.Elements.Add(ecd.CREW);
|
||||||
|
this.CheckCREWD();
|
||||||
|
}
|
||||||
this.dataGridCrewListDeparture.Items.Refresh();
|
this.dataGridCrewListDeparture.Items.Refresh();
|
||||||
ecd.CREW = new CREWD
|
ecd.CREW = new CREWD
|
||||||
{
|
{
|
||||||
@ -656,7 +869,10 @@ namespace ENI2.DetailViewControls
|
|||||||
if (ecd.ShowDialog() ?? false)
|
if (ecd.ShowDialog() ?? false)
|
||||||
{
|
{
|
||||||
if (!this._crewdMessage.Elements.Contains(ecd.CREW))
|
if (!this._crewdMessage.Elements.Contains(ecd.CREW))
|
||||||
|
{
|
||||||
_crewdMessage.Elements.Add(ecd.CREW);
|
_crewdMessage.Elements.Add(ecd.CREW);
|
||||||
|
this.CheckCREWD();
|
||||||
|
}
|
||||||
this.dataGridCrewListDeparture.Items.Refresh();
|
this.dataGridCrewListDeparture.Items.Refresh();
|
||||||
this.SublistElementChanged(Message.NotificationClass.CREWD);
|
this.SublistElementChanged(Message.NotificationClass.CREWD);
|
||||||
}
|
}
|
||||||
@ -667,7 +883,7 @@ namespace ENI2.DetailViewControls
|
|||||||
if (obj is CREWD crewd)
|
if (obj is CREWD crewd)
|
||||||
{
|
{
|
||||||
// are you sure dialog is in base class
|
// are you sure dialog is in base class
|
||||||
_crewMessage.Elements.Remove(crewd);
|
_crewdMessage.Elements.Remove(crewd);
|
||||||
DBManager.Instance.Delete(crewd);
|
DBManager.Instance.Delete(crewd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -690,7 +906,10 @@ namespace ENI2.DetailViewControls
|
|||||||
{
|
{
|
||||||
ecd.CopyValuesToEntity();
|
ecd.CopyValuesToEntity();
|
||||||
if (!_crewdMessage.Elements.Contains(ecd.CREW))
|
if (!_crewdMessage.Elements.Contains(ecd.CREW))
|
||||||
|
{
|
||||||
_crewdMessage.Elements.Add(ecd.CREW);
|
_crewdMessage.Elements.Add(ecd.CREW);
|
||||||
|
this.CheckCREWD();
|
||||||
|
}
|
||||||
this.dataGridCrewListDeparture.Items.Refresh();
|
this.dataGridCrewListDeparture.Items.Refresh();
|
||||||
ecd.CREW = new CREWD
|
ecd.CREW = new CREWD
|
||||||
{
|
{
|
||||||
@ -704,7 +923,10 @@ namespace ENI2.DetailViewControls
|
|||||||
if (ecd.ShowDialog() ?? false)
|
if (ecd.ShowDialog() ?? false)
|
||||||
{
|
{
|
||||||
if (!_crewdMessage.Elements.Contains(ecd.CREW))
|
if (!_crewdMessage.Elements.Contains(ecd.CREW))
|
||||||
|
{
|
||||||
_crewdMessage.Elements.Add(ecd.CREW);
|
_crewdMessage.Elements.Add(ecd.CREW);
|
||||||
|
this.CheckCREWD();
|
||||||
|
}
|
||||||
ecd.CREW.IsDirty = true;
|
ecd.CREW.IsDirty = true;
|
||||||
this.dataGridCrewListDeparture.Items.Refresh();
|
this.dataGridCrewListDeparture.Items.Refresh();
|
||||||
this.SublistElementChanged(Message.NotificationClass.CREWD);
|
this.SublistElementChanged(Message.NotificationClass.CREWD);
|
||||||
@ -718,8 +940,6 @@ namespace ENI2.DetailViewControls
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#region Excel import
|
#region Excel import
|
||||||
|
|
||||||
private string getValueAsString(IExcelDataReader reader, int index)
|
private string getValueAsString(IExcelDataReader reader, int index)
|
||||||
@ -799,7 +1019,7 @@ namespace ENI2.DetailViewControls
|
|||||||
if (importCrew.Count > 0)
|
if (importCrew.Count > 0)
|
||||||
{
|
{
|
||||||
this.dataGridCrewList.Items.Refresh();
|
this.dataGridCrewList.Items.Refresh();
|
||||||
this.SublistElementChanged(Message.NotificationClass.CREW);
|
this.SublistElementChanged(Message.NotificationClass.CREWA);
|
||||||
MessageBox.Show(String.Format(Properties.Resources.textCrewImported, importCrew.Count), Properties.Resources.textCaptionInformation, MessageBoxButton.OK, MessageBoxImage.Information);
|
MessageBox.Show(String.Format(Properties.Resources.textCrewImported, importCrew.Count), Properties.Resources.textCaptionInformation, MessageBoxButton.OK, MessageBoxImage.Information);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -808,8 +1028,6 @@ namespace ENI2.DetailViewControls
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* XXX : TODO
|
|
||||||
|
|
||||||
private void buttonImportExcelCrewDeparture_Click(object sender, RoutedEventArgs e)
|
private void buttonImportExcelCrewDeparture_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
OpenFileDialog ofd = new OpenFileDialog
|
OpenFileDialog ofd = new OpenFileDialog
|
||||||
@ -887,8 +1105,6 @@ namespace ENI2.DetailViewControls
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
private void buttonImportExcelPassenger_Click(object sender, RoutedEventArgs e)
|
private void buttonImportExcelPassenger_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
OpenFileDialog ofd = new OpenFileDialog
|
OpenFileDialog ofd = new OpenFileDialog
|
||||||
@ -964,7 +1180,7 @@ namespace ENI2.DetailViewControls
|
|||||||
if (importPassenger.Count > 0)
|
if (importPassenger.Count > 0)
|
||||||
{
|
{
|
||||||
this.dataGridPassengerList.Items.Refresh();
|
this.dataGridPassengerList.Items.Refresh();
|
||||||
this.SublistElementChanged(Message.NotificationClass.PAS);
|
this.SublistElementChanged(Message.NotificationClass.PASA);
|
||||||
MessageBox.Show(String.Format(Properties.Resources.textPassengerImported, importPassenger.Count), Properties.Resources.textCaptionInformation, MessageBoxButton.OK, MessageBoxImage.Information);
|
MessageBox.Show(String.Format(Properties.Resources.textPassengerImported, importPassenger.Count), Properties.Resources.textCaptionInformation, MessageBoxButton.OK, MessageBoxImage.Information);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -972,7 +1188,7 @@ namespace ENI2.DetailViewControls
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
|
|
||||||
private void buttonImportExcelPassengerDeparture_Click(object sender, RoutedEventArgs e)
|
private void buttonImportExcelPassengerDeparture_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
@ -1057,8 +1273,6 @@ namespace ENI2.DetailViewControls
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Highlighting
|
#region Highlighting
|
||||||
@ -1098,15 +1312,13 @@ namespace ENI2.DetailViewControls
|
|||||||
|
|
||||||
#region Schengen/PAX checkboxes changed event handler
|
#region Schengen/PAX checkboxes changed event handler
|
||||||
|
|
||||||
/* XXX : TODO
|
|
||||||
|
|
||||||
private void checkBoxCrewNotificationSchengen_Click(object sender, RoutedEventArgs e)
|
private void checkBoxCrewNotificationSchengen_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
foreach(CREW crew in _crewMessage.Elements)
|
foreach(CREW crew in _crewMessage.Elements)
|
||||||
{
|
{
|
||||||
crew.NotificationSchengen = checkBoxCrewNotificationSchengen.IsChecked;
|
crew.NotificationSchengen = checkBoxCrewNotificationSchengen.IsChecked;
|
||||||
}
|
}
|
||||||
this.SublistElementChanged(Message.NotificationClass.CREW);
|
this.SublistElementChanged(Message.NotificationClass.CREWA);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkBoxCrewNotificationPAX_Click(object sender, RoutedEventArgs e)
|
private void checkBoxCrewNotificationPAX_Click(object sender, RoutedEventArgs e)
|
||||||
@ -1116,7 +1328,7 @@ namespace ENI2.DetailViewControls
|
|||||||
{
|
{
|
||||||
crew.NotificationPAX = checkBoxCrewNotificationPAX.IsChecked;
|
crew.NotificationPAX = checkBoxCrewNotificationPAX.IsChecked;
|
||||||
}
|
}
|
||||||
this.SublistElementChanged(Message.NotificationClass.CREW);
|
this.SublistElementChanged(Message.NotificationClass.CREWA);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkBoxCrewNotificationSchengenDeparture_Click(object sender, RoutedEventArgs e)
|
private void checkBoxCrewNotificationSchengenDeparture_Click(object sender, RoutedEventArgs e)
|
||||||
@ -1143,7 +1355,7 @@ namespace ENI2.DetailViewControls
|
|||||||
{
|
{
|
||||||
pas.NotificationSchengen = checkBoxPasNotificationSchengen.IsChecked;
|
pas.NotificationSchengen = checkBoxPasNotificationSchengen.IsChecked;
|
||||||
}
|
}
|
||||||
this.SublistElementChanged(Message.NotificationClass.PAS);
|
this.SublistElementChanged(Message.NotificationClass.PASA);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkBoxPasNotificationPAX_Click(object sender, RoutedEventArgs e)
|
private void checkBoxPasNotificationPAX_Click(object sender, RoutedEventArgs e)
|
||||||
@ -1152,7 +1364,7 @@ namespace ENI2.DetailViewControls
|
|||||||
{
|
{
|
||||||
pas.NotificationPAX = checkBoxPasNotificationPAX.IsChecked;
|
pas.NotificationPAX = checkBoxPasNotificationPAX.IsChecked;
|
||||||
}
|
}
|
||||||
this.SublistElementChanged(Message.NotificationClass.PAS);
|
this.SublistElementChanged(Message.NotificationClass.PASA);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkBoxPasNotificationSchengenDeparture_Click(object sender, RoutedEventArgs e)
|
private void checkBoxPasNotificationSchengenDeparture_Click(object sender, RoutedEventArgs e)
|
||||||
@ -1173,8 +1385,6 @@ namespace ENI2.DetailViewControls
|
|||||||
this.SublistElementChanged(Message.NotificationClass.PASD);
|
this.SublistElementChanged(Message.NotificationClass.PASD);
|
||||||
}
|
}
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -151,7 +151,14 @@
|
|||||||
<MultiDataTrigger>
|
<MultiDataTrigger>
|
||||||
<MultiDataTrigger.Conditions>
|
<MultiDataTrigger.Conditions>
|
||||||
<Condition Binding="{Binding Path=Elements, Converter={util:CutoffConverter}, ConverterParameter=0}" Value="True" />
|
<Condition Binding="{Binding Path=Elements, Converter={util:CutoffConverter}, ConverterParameter=0}" Value="True" />
|
||||||
<Condition Binding="{Binding Path=MessageNotificationClass}" Value="{x:Static data:Message+NotificationClass.PAS}" />
|
<Condition Binding="{Binding Path=MessageNotificationClass}" Value="{x:Static data:Message+NotificationClass.PASA}" />
|
||||||
|
</MultiDataTrigger.Conditions>
|
||||||
|
<Setter Property="Background" Value="Yellow" />
|
||||||
|
</MultiDataTrigger>
|
||||||
|
<MultiDataTrigger>
|
||||||
|
<MultiDataTrigger.Conditions>
|
||||||
|
<Condition Binding="{Binding Path=Elements, Converter={util:CutoffConverter}, ConverterParameter=0}" Value="True" />
|
||||||
|
<Condition Binding="{Binding Path=MessageNotificationClass}" Value="{x:Static data:Message+NotificationClass.PASD}" />
|
||||||
</MultiDataTrigger.Conditions>
|
</MultiDataTrigger.Conditions>
|
||||||
<Setter Property="Background" Value="Yellow" />
|
<Setter Property="Background" Value="Yellow" />
|
||||||
</MultiDataTrigger>
|
</MultiDataTrigger>
|
||||||
|
|||||||
@ -186,12 +186,6 @@ namespace ENI2.DetailViewControls
|
|||||||
pasdMessage = aMessage;
|
pasdMessage = aMessage;
|
||||||
}
|
}
|
||||||
|
|
||||||
// XXX : TODO remove this
|
|
||||||
|
|
||||||
this.Messages.Remove(crewdMessage);
|
|
||||||
this.Messages.Remove(pasdMessage);
|
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region init ATA
|
#region init ATA
|
||||||
|
|||||||
@ -18,7 +18,7 @@
|
|||||||
<NuGetPackageImportStamp>
|
<NuGetPackageImportStamp>
|
||||||
</NuGetPackageImportStamp>
|
</NuGetPackageImportStamp>
|
||||||
<TargetFrameworkProfile />
|
<TargetFrameworkProfile />
|
||||||
<PublishUrl>eni2.publish\</PublishUrl>
|
<PublishUrl>eni_publish\</PublishUrl>
|
||||||
<Install>true</Install>
|
<Install>true</Install>
|
||||||
<InstallFrom>Web</InstallFrom>
|
<InstallFrom>Web</InstallFrom>
|
||||||
<UpdateEnabled>true</UpdateEnabled>
|
<UpdateEnabled>true</UpdateEnabled>
|
||||||
@ -28,7 +28,7 @@
|
|||||||
<UpdatePeriodically>false</UpdatePeriodically>
|
<UpdatePeriodically>false</UpdatePeriodically>
|
||||||
<UpdateRequired>false</UpdateRequired>
|
<UpdateRequired>false</UpdateRequired>
|
||||||
<MapFileExtensions>true</MapFileExtensions>
|
<MapFileExtensions>true</MapFileExtensions>
|
||||||
<InstallUrl>http://192.168.2.24/eni2.publish/</InstallUrl>
|
<InstallUrl>http://192.168.2.24/eni_publish/</InstallUrl>
|
||||||
<SupportUrl>http://www.textbausteine.net/</SupportUrl>
|
<SupportUrl>http://www.textbausteine.net/</SupportUrl>
|
||||||
<ProductName>ENI</ProductName>
|
<ProductName>ENI</ProductName>
|
||||||
<PublisherName>Informatikbüro Daniel Schick</PublisherName>
|
<PublisherName>Informatikbüro Daniel Schick</PublisherName>
|
||||||
@ -36,8 +36,8 @@
|
|||||||
<MinimumRequiredVersion>5.4.0.0</MinimumRequiredVersion>
|
<MinimumRequiredVersion>5.4.0.0</MinimumRequiredVersion>
|
||||||
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
|
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
|
||||||
<WebPage>publish.html</WebPage>
|
<WebPage>publish.html</WebPage>
|
||||||
<ApplicationRevision>4</ApplicationRevision>
|
<ApplicationRevision>9</ApplicationRevision>
|
||||||
<ApplicationVersion>7.14.0.%2a</ApplicationVersion>
|
<ApplicationVersion>7.2.0.9</ApplicationVersion>
|
||||||
<UseApplicationTrust>false</UseApplicationTrust>
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
<CreateDesktopShortcut>true</CreateDesktopShortcut>
|
<CreateDesktopShortcut>true</CreateDesktopShortcut>
|
||||||
<PublishWizardCompleted>true</PublishWizardCompleted>
|
<PublishWizardCompleted>true</PublishWizardCompleted>
|
||||||
@ -1022,7 +1022,7 @@
|
|||||||
<SignToolPath Condition="'$(SignToolPath)' == '' And '$(SignToolPathBase)' != ''">$(SignToolPathBase)$(Platform)\</SignToolPath>
|
<SignToolPath Condition="'$(SignToolPath)' == '' And '$(SignToolPathBase)' != ''">$(SignToolPathBase)$(Platform)\</SignToolPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PostBuildEvent>"$(SignToolPath)signtool.exe" sign /f $(ProjectDir)\..\misc\codesigning.pfx /p t5bj2dk9ifdIWBPhPra4U $(TargetPath)</PostBuildEvent>
|
<PostBuildEvent>"$(SignToolPath)signtool.exe" sign /f $(ProjectDir)\..\misc\codesigning.pfx /p t5bj2dk9ifdIWBPhPra4U /fd SHA256 $(TargetPath)</PostBuildEvent>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
|
<Import Project="packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
xmlns:p="clr-namespace:ENI2.Properties"
|
xmlns:p="clr-namespace:ENI2.Properties"
|
||||||
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="{x:Static p:Resources.textCompareExcel}" Height="260" Width="600" Background="AliceBlue" Icon="/ENI2;component/Resources/bullet_ball_grey.ico">
|
Title="{x:Static p:Resources.textCompareExcel}" Height="260" Width="600" Background="AliceBlue" Icon="/Eni2;component/Resources/bullet_ball_grey.ico">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="32" />
|
<RowDefinition Height="32" />
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
xmlns:p="clr-namespace:ENI2.Properties"
|
xmlns:p="clr-namespace:ENI2.Properties"
|
||||||
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="{x:Static p:Resources.textCopyDeclaration}" Height="326" Width="440" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="NoResize" Icon="/ENI2;component/Resources/id_cards.ico">
|
Title="{x:Static p:Resources.textCopyDeclaration}" Height="326" Width="440" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="NoResize" Icon="/Eni2;component/Resources/id_cards.ico">
|
||||||
<Grid Margin="5">
|
<Grid Margin="5">
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="28" />
|
<RowDefinition Height="28" />
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||||
xmlns:p="clr-namespace:ENI2.Properties"
|
xmlns:p="clr-namespace:ENI2.Properties"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="{x:Static p:Resources.textCoreStatus}" Height="436" Width="600" WindowStyle="SingleBorderWindow" Background="AliceBlue" Icon="/ENI2;component/Resources/bullet_ball_grey.ico" >
|
Title="{x:Static p:Resources.textCoreStatus}" Height="436" Width="600" WindowStyle="SingleBorderWindow" Background="AliceBlue" Icon="/Eni2;component/Resources/bullet_ball_grey.ico" >
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="0.3*"/>
|
<ColumnDefinition Width="0.3*"/>
|
||||||
|
|||||||
@ -34,7 +34,7 @@
|
|||||||
<Label Name="labelNationality" Grid.Row="3" Grid.Column="0" Content="{x:Static p:Resources.textNationality}" />
|
<Label Name="labelNationality" Grid.Row="3" Grid.Column="0" Content="{x:Static p:Resources.textNationality}" />
|
||||||
<Label Name="labelDateOfBirth" Grid.Row="3" Grid.Column="2" Content="{x:Static p:Resources.textDateOfBirth}" />
|
<Label Name="labelDateOfBirth" Grid.Row="3" Grid.Column="2" Content="{x:Static p:Resources.textDateOfBirth}" />
|
||||||
<Label Name="labelIdDocType" Grid.Row="4" Grid.Column="0" Content="{x:Static p:Resources.textIdDocType}" />
|
<Label Name="labelIdDocType" Grid.Row="4" Grid.Column="0" Content="{x:Static p:Resources.textIdDocType}" />
|
||||||
<!--<Label Name="labelCountryOfBirth" Grid.Row="4" Grid.Column="1" Content="{x:Static p:Resources.textCountryOfBirth}" Grid.ColumnSpan="2" Margin="263,0,1,0" />--> <!-- XXX : TODO -->
|
<Label Name="labelCountryOfBirth" Grid.Row="4" Grid.Column="1" Content="{x:Static p:Resources.textCountryOfBirth}" Grid.ColumnSpan="2" Margin="263,0,1,0" />
|
||||||
<Label Name="labelIdDocNumber" Grid.Row="5" Grid.Column="2" Content="{x:Static p:Resources.textIdDocNumber}" />
|
<Label Name="labelIdDocNumber" Grid.Row="5" Grid.Column="2" Content="{x:Static p:Resources.textIdDocNumber}" />
|
||||||
<Label Name="labelVisaNumber" Grid.Row="5" Grid.Column="0" Content="{x:Static p:Resources.textVisaNumber}" />
|
<Label Name="labelVisaNumber" Grid.Row="5" Grid.Column="0" Content="{x:Static p:Resources.textVisaNumber}" />
|
||||||
<Label Name="labelIssuingState" Grid.Row="6" Grid.Column="2" Content="{x:Static p:Resources.textDocumentIssuingState}" />
|
<Label Name="labelIssuingState" Grid.Row="6" Grid.Column="2" Content="{x:Static p:Resources.textDocumentIssuingState}" />
|
||||||
@ -42,27 +42,29 @@
|
|||||||
<!--Label Name="labelEffects" Grid.Row="7" Grid.Column="0" Content="{x:Static p:Resources.textEffects}" /-->
|
<!--Label Name="labelEffects" Grid.Row="7" Grid.Column="0" Content="{x:Static p:Resources.textEffects}" /-->
|
||||||
<TextBox Grid.Row="0" Grid.Column="1" Width="auto" Name="textBoxDuty" Margin="2" MaxLength="100" VerticalContentAlignment="Center"/>
|
<TextBox Grid.Row="0" Grid.Column="1" Width="auto" Name="textBoxDuty" Margin="2" MaxLength="100" VerticalContentAlignment="Center"/>
|
||||||
<TextBox Grid.Row="1" Grid.Column="1" Width="auto" Name="textBoxLastName" Margin="2" MaxLength="100" VerticalContentAlignment="Center"/>
|
<TextBox Grid.Row="1" Grid.Column="1" Width="auto" Name="textBoxLastName" Margin="2" MaxLength="100" VerticalContentAlignment="Center"/>
|
||||||
<TextBox Grid.Row="1" Grid.Column="3" Width="auto" Name="textBoxFirstName" Margin="2" MaxLength="100" VerticalContentAlignment="Center"/>
|
|
||||||
<ComboBox Grid.Row="2" Grid.Column="1" Name="comboBoxGender" Margin="2" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" SelectedValuePath="Key" DisplayMemberPath="Value" ContextMenu="{DynamicResource ClearContextMenu}"/>
|
<ComboBox Grid.Row="2" Grid.Column="1" Name="comboBoxGender" Margin="2" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" SelectedValuePath="Key" DisplayMemberPath="Value" ContextMenu="{DynamicResource ClearContextMenu}"/>
|
||||||
<TextBox Grid.Row="2" Grid.Column="3" Width="auto" Name="textBoxPlaceOfBirth" Margin="2" MaxLength="100" VerticalContentAlignment="Center"/>
|
|
||||||
<ComboBox Grid.Row="3" Grid.Column="1" Name="comboBoxNationality" Margin="2" SelectedValuePath="Key" DisplayMemberPath="Value" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" ContextMenu="{DynamicResource ClearContextMenu}"/>
|
<ComboBox Grid.Row="3" Grid.Column="1" Name="comboBoxNationality" Margin="2" SelectedValuePath="Key" DisplayMemberPath="Value" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" ContextMenu="{DynamicResource ClearContextMenu}"/>
|
||||||
<DatePicker Grid.Row="3" Grid.Column="3" Name="datePickerDateOfBirth" Margin="2" DisplayDateStart="1/1/1900" DisplayDateEnd="12/31/2199" PreviewKeyUp="DateTimePicker_PreviewKeyUpDate">
|
|
||||||
<DatePicker.BlackoutDates>
|
|
||||||
<CalendarDateRange Start="1/1/0001" End="12/31/1899"/>
|
|
||||||
<CalendarDateRange Start="1/1/2199" End="1/1/9999"/>
|
|
||||||
</DatePicker.BlackoutDates>
|
|
||||||
</DatePicker>
|
|
||||||
<ComboBox Grid.Row="4" Grid.Column="1" Name="comboBoxIdDocType" Margin="2" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" SelectedValuePath="Key" DisplayMemberPath="Value" ContextMenu="{DynamicResource ClearContextMenu}" />
|
<ComboBox Grid.Row="4" Grid.Column="1" Name="comboBoxIdDocType" Margin="2" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" SelectedValuePath="Key" DisplayMemberPath="Value" ContextMenu="{DynamicResource ClearContextMenu}" />
|
||||||
<!-- <ComboBox Grid.Row="4" Grid.Column="3" Width="auto" Name="comboBoxCountryOfBirth" Margin="2" SelectedValuePath="Key" DisplayMemberPath="Value" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" ContextMenu="{DynamicResource ClearContextMenu}"/>-->
|
|
||||||
<TextBox Grid.Row="5" Grid.Column="3" Width="auto" Name="textBoxIdDocNumber" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
|
|
||||||
<TextBox Grid.Row="5" Grid.Column="1" Width="auto" Name="textBoxVisaNumber" Margin="2" MaxLength="100" VerticalContentAlignment="Center"/>
|
<TextBox Grid.Row="5" Grid.Column="1" Width="auto" Name="textBoxVisaNumber" Margin="2" MaxLength="100" VerticalContentAlignment="Center"/>
|
||||||
<ComboBox Grid.Row="6" Grid.Column="3" Width="auto" Name="comboBoxIssuingState" Margin="2" SelectedValuePath="Key" DisplayMemberPath="Value" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" ContextMenu="{DynamicResource ClearContextMenu}"/>
|
|
||||||
<DatePicker Grid.Row="6" Grid.Column="1" Name="datePickerExpiryDate" Margin="2" DisplayDateStart="1/1/1900" DisplayDateEnd="12/31/2199" PreviewKeyUp="DateTimePicker_PreviewKeyUpDate">
|
<DatePicker Grid.Row="6" Grid.Column="1" Name="datePickerExpiryDate" Margin="2" DisplayDateStart="1/1/1900" DisplayDateEnd="12/31/2199" PreviewKeyUp="DateTimePicker_PreviewKeyUpDate">
|
||||||
<DatePicker.BlackoutDates>
|
<DatePicker.BlackoutDates>
|
||||||
<CalendarDateRange Start="1/1/0001" End="12/31/1899"/>
|
<CalendarDateRange Start="1/1/0001" End="12/31/1899"/>
|
||||||
<CalendarDateRange Start="1/1/2199" End="1/1/9999"/>
|
<CalendarDateRange Start="1/1/2199" End="1/1/9999"/>
|
||||||
</DatePicker.BlackoutDates>
|
</DatePicker.BlackoutDates>
|
||||||
</DatePicker>
|
</DatePicker>
|
||||||
|
|
||||||
|
<TextBox Grid.Row="1" Grid.Column="3" Width="auto" Name="textBoxFirstName" Margin="2" MaxLength="100" VerticalContentAlignment="Center"/>
|
||||||
|
<TextBox Grid.Row="2" Grid.Column="3" Width="auto" Name="textBoxPlaceOfBirth" Margin="2" MaxLength="100" VerticalContentAlignment="Center"/>
|
||||||
|
<DatePicker Grid.Row="3" Grid.Column="3" Name="datePickerDateOfBirth" Margin="2" DisplayDateStart="1/1/1900" DisplayDateEnd="12/31/2199" PreviewKeyUp="DateTimePicker_PreviewKeyUpDate">
|
||||||
|
<DatePicker.BlackoutDates>
|
||||||
|
<CalendarDateRange Start="1/1/0001" End="12/31/1899"/>
|
||||||
|
<CalendarDateRange Start="1/1/2199" End="1/1/9999"/>
|
||||||
|
</DatePicker.BlackoutDates>
|
||||||
|
</DatePicker>
|
||||||
|
<ComboBox Grid.Row="4" Grid.Column="3" Width="auto" Name="comboBoxCountryOfBirth" Margin="2" SelectedValuePath="Key" DisplayMemberPath="Value" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" ContextMenu="{DynamicResource ClearContextMenu}"/>
|
||||||
|
<TextBox Grid.Row="5" Grid.Column="3" Width="auto" Name="textBoxIdDocNumber" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
|
||||||
|
<ComboBox Grid.Row="6" Grid.Column="3" Width="auto" Name="comboBoxIssuingState" Margin="2" SelectedValuePath="Key" DisplayMemberPath="Value" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" ContextMenu="{DynamicResource ClearContextMenu}"/>
|
||||||
|
|
||||||
<!--TextBox Grid.Row="7" Grid.Column="1" Width="auto" Name="textBoxEffects" Margin="2" MaxLength="100" VerticalContentAlignment="Center"/-->
|
<!--TextBox Grid.Row="7" Grid.Column="1" Width="auto" Name="textBoxEffects" Margin="2" MaxLength="100" VerticalContentAlignment="Center"/-->
|
||||||
</Grid>
|
</Grid>
|
||||||
</enictrl:EditWindowBase>
|
</enictrl:EditWindowBase>
|
||||||
|
|||||||
@ -67,8 +67,9 @@ namespace ENI2.EditControls
|
|||||||
{
|
{
|
||||||
this.datePickerExpiryDate.SelectedDate = this.CREW.CrewMemberIdentityDocumentExpiryDate;
|
this.datePickerExpiryDate.SelectedDate = this.CREW.CrewMemberIdentityDocumentExpiryDate;
|
||||||
}
|
}
|
||||||
// this.comboBoxCountryOfBirth.ItemsSource = bsmd.database.CREW.NationalityDict; // XXX: TODO
|
|
||||||
// this.comboBoxCountryOfBirth.SelectedValue = this.CREW.CrewMemberCountryOfBirth;
|
this.comboBoxCountryOfBirth.ItemsSource = bsmd.database.CREW.NationalityDict;
|
||||||
|
this.comboBoxCountryOfBirth.SelectedValue = this.CREW.CrewMemberCountryOfBirth;
|
||||||
// this.textBoxEffects.Text = this.CREW.Effects;
|
// this.textBoxEffects.Text = this.CREW.Effects;
|
||||||
this.OKClicked += EditCREWDialog_OKClicked;
|
this.OKClicked += EditCREWDialog_OKClicked;
|
||||||
this.AddVisible = true;
|
this.AddVisible = true;
|
||||||
@ -89,7 +90,7 @@ namespace ENI2.EditControls
|
|||||||
this.CREW.CrewMemberVisaNumber = this.textBoxVisaNumber.Text.Trim();
|
this.CREW.CrewMemberVisaNumber = this.textBoxVisaNumber.Text.Trim();
|
||||||
this.CREW.CrewMemberIdentityDocumentIssuingState = (this.comboBoxIssuingState.SelectedValue == null) ? "" : (string) this.comboBoxIssuingState.SelectedValue;
|
this.CREW.CrewMemberIdentityDocumentIssuingState = (this.comboBoxIssuingState.SelectedValue == null) ? "" : (string) this.comboBoxIssuingState.SelectedValue;
|
||||||
this.CREW.CrewMemberIdentityDocumentExpiryDate = this.datePickerExpiryDate.SelectedDate;
|
this.CREW.CrewMemberIdentityDocumentExpiryDate = this.datePickerExpiryDate.SelectedDate;
|
||||||
// this.CREW.CrewMemberCountryOfBirth = (this.comboBoxCountryOfBirth.SelectedValue == null) ? "" : (string)this.comboBoxCountryOfBirth.SelectedValue;
|
this.CREW.CrewMemberCountryOfBirth = (this.comboBoxCountryOfBirth.SelectedValue == null) ? "" : (string)this.comboBoxCountryOfBirth.SelectedValue;
|
||||||
// this.CREW.Effects = this.textBoxEffects.Text.Trim();
|
// this.CREW.Effects = this.textBoxEffects.Text.Trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -34,7 +34,7 @@
|
|||||||
<Label Name="labelNationality" Grid.Row="2" Grid.Column="0" Content="{x:Static p:Resources.textNationality}" />
|
<Label Name="labelNationality" Grid.Row="2" Grid.Column="0" Content="{x:Static p:Resources.textNationality}" />
|
||||||
<Label Name="labelDateOfBirth" Grid.Row="2" Grid.Column="2" Content="{x:Static p:Resources.textDateOfBirth}" />
|
<Label Name="labelDateOfBirth" Grid.Row="2" Grid.Column="2" Content="{x:Static p:Resources.textDateOfBirth}" />
|
||||||
<Label Name="labelIdDocType" Grid.Row="3" Grid.Column="0" Content="{x:Static p:Resources.textIdDocType}" />
|
<Label Name="labelIdDocType" Grid.Row="3" Grid.Column="0" Content="{x:Static p:Resources.textIdDocType}" />
|
||||||
<!--<Label Name="labelCountryOfBirth" Grid.Row="3" Grid.Column="2" Content="{x:Static p:Resources.textCountryOfBirth}" />-->
|
<Label Name="labelCountryOfBirth" Grid.Row="3" Grid.Column="2" Content="{x:Static p:Resources.textCountryOfBirth}" />
|
||||||
<Label Name="labelIdDocNumber" Grid.Row="4" Grid.Column="2" Content="{x:Static p:Resources.textIdDocNumber}" />
|
<Label Name="labelIdDocNumber" Grid.Row="4" Grid.Column="2" Content="{x:Static p:Resources.textIdDocNumber}" />
|
||||||
<Label Name="labelVisaNumber" Grid.Row="4" Grid.Column="0" Content="{x:Static p:Resources.textVisaNumber}" />
|
<Label Name="labelVisaNumber" Grid.Row="4" Grid.Column="0" Content="{x:Static p:Resources.textVisaNumber}" />
|
||||||
<Label Name="labelPortOfEmbarkation" Grid.Row="5" Grid.Column="2" Content="{x:Static p:Resources.textPortOfEmbarkation}" />
|
<Label Name="labelPortOfEmbarkation" Grid.Row="5" Grid.Column="2" Content="{x:Static p:Resources.textPortOfEmbarkation}" />
|
||||||
@ -42,35 +42,37 @@
|
|||||||
<Label Name="labelTransitPassenger" Grid.Row="6" Grid.Column="2" Content="{x:Static p:Resources.textTransitPassenger}" />
|
<Label Name="labelTransitPassenger" Grid.Row="6" Grid.Column="2" Content="{x:Static p:Resources.textTransitPassenger}" />
|
||||||
<Label Name="labelIssuingState" Grid.Row="6" Grid.Column="0" Content="{x:Static p:Resources.textDocumentIssuingState}" />
|
<Label Name="labelIssuingState" Grid.Row="6" Grid.Column="0" Content="{x:Static p:Resources.textDocumentIssuingState}" />
|
||||||
<Label Name="labelExpiryDate" Grid.Row="7" Grid.Column="2" Content="{x:Static p:Resources.textDocumentExpiryDate}" />
|
<Label Name="labelExpiryDate" Grid.Row="7" Grid.Column="2" Content="{x:Static p:Resources.textDocumentExpiryDate}" />
|
||||||
<!--<Label Name="labelEmergencyCare" Grid.Row="7" Grid.Column="0" Content="{x:Static p:Resources.textEmergencyCare}" />
|
<Label Name="labelEmergencyCare" Grid.Row="7" Grid.Column="0" Content="{x:Static p:Resources.textEmergencyCare}" />
|
||||||
<Label Name="labelEmergencyContactNumber" Grid.Row="8" Grid.Column="0" Content="{x:Static p:Resources.textEmergencyContactNumber}" />-->
|
<Label Name="labelEmergencyContactNumber" Grid.Row="8" Grid.Column="0" Content="{x:Static p:Resources.textEmergencyContactNumber}" />
|
||||||
|
|
||||||
<TextBox Grid.Row="0" Grid.Column="1" Width="auto" Name="textBoxLastName" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
|
<TextBox Grid.Row="0" Grid.Column="1" Width="auto" Name="textBoxLastName" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
|
||||||
<TextBox Grid.Row="0" Grid.Column="3" Width="auto" Name="textBoxFirstName" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
|
|
||||||
<ComboBox Grid.Row="1" Grid.Column="1" Name="comboBoxGender" Margin="2" SelectedValuePath="Key" DisplayMemberPath="Value" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True"/>
|
<ComboBox Grid.Row="1" Grid.Column="1" Name="comboBoxGender" Margin="2" SelectedValuePath="Key" DisplayMemberPath="Value" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True"/>
|
||||||
<TextBox Grid.Row="1" Grid.Column="3" Width="auto" Name="textBoxPlaceOfBirth" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
|
|
||||||
<ComboBox Grid.Row="2" Grid.Column="1" Name="comboBoxNationality" Margin="2" SelectedValuePath="Key" DisplayMemberPath="Value" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" />
|
<ComboBox Grid.Row="2" Grid.Column="1" Name="comboBoxNationality" Margin="2" SelectedValuePath="Key" DisplayMemberPath="Value" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" />
|
||||||
|
<ComboBox Grid.Row="3" Grid.Column="1" Name="comboBoxIdDocType" Margin="2" IsEditable="True" SelectedValuePath="Key" DisplayMemberPath="Value" StaysOpenOnEdit="True" IsTextSearchEnabled="True" />
|
||||||
|
<TextBox Grid.Row="4" Grid.Column="1" Width="auto" Name="textBoxVisaNumber" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
|
||||||
|
<enictrl:LocodeControl x:Name="locodePortOfDisembarkation" Grid.Row="5" Grid.Column="1" />
|
||||||
|
<ComboBox Grid.Row="6" Grid.Column="1" Name="comboBoxIssuingState" Margin="2" SelectedValuePath="Key" DisplayMemberPath="Value" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" />
|
||||||
|
<TextBox Grid.Row="7" Grid.Column="1" Width="auto" Name="textBoxEmergencyCare" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
|
||||||
|
<TextBox Grid.Row="8" Grid.Column="1" Width="auto" Name="textBoxEmergencyContactNumber" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
|
||||||
|
|
||||||
|
<TextBox Grid.Row="0" Grid.Column="3" Width="auto" Name="textBoxFirstName" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
|
||||||
|
<TextBox Grid.Row="1" Grid.Column="3" Width="auto" Name="textBoxPlaceOfBirth" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
|
||||||
<DatePicker Grid.Row="2" Grid.Column="3" Name="datePickerDateOfBirth" Margin="2" DisplayDateStart="1/1/1900" DisplayDateEnd="12/31/2199" PreviewKeyUp="DateTimePicker_PreviewKeyUpDate">
|
<DatePicker Grid.Row="2" Grid.Column="3" Name="datePickerDateOfBirth" Margin="2" DisplayDateStart="1/1/1900" DisplayDateEnd="12/31/2199" PreviewKeyUp="DateTimePicker_PreviewKeyUpDate">
|
||||||
<DatePicker.BlackoutDates>
|
<DatePicker.BlackoutDates>
|
||||||
<CalendarDateRange Start="1/1/0001" End="12/31/1899"/>
|
<CalendarDateRange Start="1/1/0001" End="12/31/1899"/>
|
||||||
<CalendarDateRange Start="1/1/2199" End="1/1/9999"/>
|
<CalendarDateRange Start="1/1/2199" End="1/1/9999"/>
|
||||||
</DatePicker.BlackoutDates>
|
</DatePicker.BlackoutDates>
|
||||||
</DatePicker>
|
</DatePicker>
|
||||||
<ComboBox Grid.Row="3" Grid.Column="1" Name="comboBoxIdDocType" Margin="2" IsEditable="True" SelectedValuePath="Key" DisplayMemberPath="Value" StaysOpenOnEdit="True" IsTextSearchEnabled="True" />
|
<ComboBox Grid.Row="3" Grid.Column="3" Name="comboBoxCountryOfBirth" Margin="2" SelectedValuePath="Key" DisplayMemberPath="Value" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" />
|
||||||
<!--<ComboBox Grid.Row="3" Grid.Column="3" Name="comboBoxCountryOfBirth" Margin="2" SelectedValuePath="Key" DisplayMemberPath="Value" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" />-->
|
|
||||||
<TextBox Grid.Row="4" Grid.Column="3" Width="auto" Name="textBoxIdDocNumber" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
|
<TextBox Grid.Row="4" Grid.Column="3" Width="auto" Name="textBoxIdDocNumber" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
|
||||||
<TextBox Grid.Row="4" Grid.Column="1" Width="auto" Name="textBoxVisaNumber" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
|
|
||||||
<enictrl:LocodeControl x:Name="locodePortOfEmbarkation" Grid.Row="5" Grid.Column="3" />
|
<enictrl:LocodeControl x:Name="locodePortOfEmbarkation" Grid.Row="5" Grid.Column="3" />
|
||||||
<enictrl:LocodeControl x:Name="locodePortOfDisembarkation" Grid.Row="5" Grid.Column="1" />
|
|
||||||
<CheckBox Name="checkBoxTransitPassenger" Grid.Row="6" Grid.Column="3" VerticalAlignment="Center" Margin="2"/>
|
<CheckBox Name="checkBoxTransitPassenger" Grid.Row="6" Grid.Column="3" VerticalAlignment="Center" Margin="2"/>
|
||||||
<ComboBox Grid.Row="6" Grid.Column="1" Name="comboBoxIssuingState" Margin="2" SelectedValuePath="Key" DisplayMemberPath="Value" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" />
|
|
||||||
<DatePicker Grid.Row="7" Grid.Column="3" Name="datePickerExpiryDate" Margin="2" DisplayDateStart="1/1/1900" DisplayDateEnd="12/31/2199" PreviewKeyUp="DateTimePicker_PreviewKeyUpDate">
|
<DatePicker Grid.Row="7" Grid.Column="3" Name="datePickerExpiryDate" Margin="2" DisplayDateStart="1/1/1900" DisplayDateEnd="12/31/2199" PreviewKeyUp="DateTimePicker_PreviewKeyUpDate">
|
||||||
<DatePicker.BlackoutDates>
|
<DatePicker.BlackoutDates>
|
||||||
<CalendarDateRange Start="1/1/0001" End="12/31/1899"/>
|
<CalendarDateRange Start="1/1/0001" End="12/31/1899"/>
|
||||||
<CalendarDateRange Start="1/1/2199" End="1/1/9999"/>
|
<CalendarDateRange Start="1/1/2199" End="1/1/9999"/>
|
||||||
</DatePicker.BlackoutDates>
|
</DatePicker.BlackoutDates>
|
||||||
</DatePicker>
|
</DatePicker>
|
||||||
<!--<TextBox Grid.Row="7" Grid.Column="1" Width="auto" Name="textBoxEmergencyCare" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />
|
|
||||||
<TextBox Grid.Row="8" Grid.Column="1" Width="auto" Name="textBoxEmergencyContactNumber" Margin="2" MaxLength="100" VerticalContentAlignment="Center" />-->
|
|
||||||
</Grid>
|
</Grid>
|
||||||
</enictrl:EditWindowBase>
|
</enictrl:EditWindowBase>
|
||||||
|
|||||||
@ -71,11 +71,10 @@ namespace ENI2.EditControls
|
|||||||
this.datePickerExpiryDate.SelectedDate = this.PAS.PassengerIdentityDocumentExpiryDate;
|
this.datePickerExpiryDate.SelectedDate = this.PAS.PassengerIdentityDocumentExpiryDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
// XXX : TODO
|
this.comboBoxCountryOfBirth.ItemsSource = bsmd.database.CREW.NationalityDict;
|
||||||
//this.comboBoxCountryOfBirth.ItemsSource = bsmd.database.CREW.NationalityDict;
|
this.comboBoxCountryOfBirth.SelectedValue = this.PAS.PassengerCountryOfBirth;
|
||||||
//this.comboBoxCountryOfBirth.SelectedValue = this.PAS.PassengerCountryOfBirth;
|
this.textBoxEmergencyCare.Text = this.PAS.EmergencyCare;
|
||||||
//this.textBoxEmergencyCare.Text = this.PAS.EmergencyCare;
|
this.textBoxEmergencyContactNumber.Text = this.PAS.EmergencyContactNumber;
|
||||||
//this.textBoxEmergencyContactNumber.Text = this.PAS.EmergencyContactNumber;
|
|
||||||
|
|
||||||
this.OKClicked += EditPasDialog_OKClicked;
|
this.OKClicked += EditPasDialog_OKClicked;
|
||||||
this.AddVisible = true;
|
this.AddVisible = true;
|
||||||
@ -98,10 +97,10 @@ namespace ENI2.EditControls
|
|||||||
this.PAS.PassengerInTransit = this.checkBoxTransitPassenger.IsChecked;
|
this.PAS.PassengerInTransit = this.checkBoxTransitPassenger.IsChecked;
|
||||||
this.PAS.PassengerIdentityDocumentIssuingState = (this.comboBoxIssuingState.SelectedValue == null) ? "" : (string)this.comboBoxIssuingState.SelectedValue;
|
this.PAS.PassengerIdentityDocumentIssuingState = (this.comboBoxIssuingState.SelectedValue == null) ? "" : (string)this.comboBoxIssuingState.SelectedValue;
|
||||||
this.PAS.PassengerIdentityDocumentExpiryDate = this.datePickerExpiryDate.SelectedDate;
|
this.PAS.PassengerIdentityDocumentExpiryDate = this.datePickerExpiryDate.SelectedDate;
|
||||||
// XXX : TODO
|
|
||||||
// this.PAS.PassengerCountryOfBirth = (this.comboBoxCountryOfBirth.SelectedValue == null) ? "" : (string)this.comboBoxCountryOfBirth.SelectedValue;
|
this.PAS.PassengerCountryOfBirth = (this.comboBoxCountryOfBirth.SelectedValue == null) ? "" : (string)this.comboBoxCountryOfBirth.SelectedValue;
|
||||||
//this.PAS.EmergencyCare = this.textBoxEmergencyCare.Text.Trim();
|
this.PAS.EmergencyCare = this.textBoxEmergencyCare.Text.Trim();
|
||||||
//this.PAS.EmergencyContactNumber = this.textBoxEmergencyContactNumber.Text.Trim();
|
this.PAS.EmergencyContactNumber = this.textBoxEmergencyContactNumber.Text.Trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void EditPasDialog_OKClicked()
|
private void EditPasDialog_OKClicked()
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||||
xmlns:p="clr-namespace:ENI2.Properties"
|
xmlns:p="clr-namespace:ENI2.Properties"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="{x:Static p:Resources.textEditRules}" Height="402" Width="800" WindowStyle="SingleBorderWindow" Background="AliceBlue" Icon="/ENI2;component/Resources/mail_forward.png">
|
Title="{x:Static p:Resources.textEditRules}" Height="402" Width="800" WindowStyle="SingleBorderWindow" Background="AliceBlue" Icon="/Eni2;component/Resources/mail_forward.png">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="32" />
|
<RowDefinition Height="32" />
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
xmlns:p="clr-namespace:ENI2.Properties"
|
xmlns:p="clr-namespace:ENI2.Properties"
|
||||||
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="{x:Static p:Resources.textErrors}" Height="300" Width="600" Background="AliceBlue" Icon="/ENI2;component/Resources/bullet_ball_red.ico" Topmost="False">
|
Title="{x:Static p:Resources.textErrors}" Height="300" Width="600" Background="AliceBlue" Icon="/Eni2;component/Resources/bullet_ball_red.ico" Topmost="False">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="*" />
|
<RowDefinition Height="*" />
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
xmlns:enictrl="clr-namespace:ENI2.Controls"
|
xmlns:enictrl="clr-namespace:ENI2.Controls"
|
||||||
xmlns:p="clr-namespace:ENI2.Properties"
|
xmlns:p="clr-namespace:ENI2.Properties"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="{x:Static p:Resources.textMessageHistory}" Height="450" Width="800" Background="AliceBlue" Icon="/ENI2;component/Resources/clock_history.ico">
|
Title="{x:Static p:Resources.textMessageHistory}" Height="450" Width="800" Background="AliceBlue" Icon="/Eni2;component/Resources/clock_history.ico">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="*" />
|
<RowDefinition Height="*" />
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="{x:Static p:Resources.textNewDGItem}" Height="350" Width="600" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="CanResize"
|
Title="{x:Static p:Resources.textNewDGItem}" Height="350" Width="600" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="CanResize"
|
||||||
Icon="/ENI2;component/Resources/bullet_ball_yellow.ico" Loaded="EditWindowBase_Loaded">
|
Icon="/Eni2;component/Resources/bullet_ball_yellow.ico" Loaded="EditWindowBase_Loaded">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="28" />
|
<RowDefinition Height="28" />
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
xmlns:p="clr-namespace:ENI2.Properties"
|
xmlns:p="clr-namespace:ENI2.Properties"
|
||||||
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="{x:Static p:Resources.textNewWithId}" Height="220" Width="350" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="NoResize" Icon="/ENI2;component/Resources/id_card_add.ico">
|
Title="{x:Static p:Resources.textNewWithId}" Height="220" Width="350" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="NoResize" Icon="/Eni2;component/Resources/id_card_add.ico">
|
||||||
|
|
||||||
<Grid Margin="4">
|
<Grid Margin="4">
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
|
|||||||
@ -46,9 +46,7 @@ namespace ENI2.EditControls
|
|||||||
(aMessage.MessageNotificationClass == Message.NotificationClass.TRANSIT) ||
|
(aMessage.MessageNotificationClass == Message.NotificationClass.TRANSIT) ||
|
||||||
(aMessage.MessageNotificationClass == Message.NotificationClass.ATA) ||
|
(aMessage.MessageNotificationClass == Message.NotificationClass.ATA) ||
|
||||||
(aMessage.MessageNotificationClass == Message.NotificationClass.ATD) ||
|
(aMessage.MessageNotificationClass == Message.NotificationClass.ATD) ||
|
||||||
(aMessage.MessageNotificationClass == Message.NotificationClass.STO) ||
|
(aMessage.MessageNotificationClass == Message.NotificationClass.STO)
|
||||||
(aMessage.MessageNotificationClass == Message.NotificationClass.CREWD) || // XXX : TODO remove
|
|
||||||
(aMessage.MessageNotificationClass == Message.NotificationClass.PASD)
|
|
||||||
) continue;
|
) continue;
|
||||||
|
|
||||||
if (IsTransit &&
|
if (IsTransit &&
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
xmlns:local="clr-namespace:ENI2.EditControls"
|
xmlns:local="clr-namespace:ENI2.EditControls"
|
||||||
xmlns:p="clr-namespace:ENI2.Properties"
|
xmlns:p="clr-namespace:ENI2.Properties"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="Search port area" Height="400" Width="600" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="CanResize" Icon="/ENI2;component/Resources/bullet_ball_yellow.ico" Loaded="Window_Loaded">
|
Title="Search port area" Height="400" Width="600" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="CanResize" Icon="/Eni2;component/Resources/bullet_ball_yellow.ico" Loaded="Window_Loaded">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="28" />
|
<RowDefinition Height="28" />
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
xmlns:p="clr-namespace:ENI2.Properties"
|
xmlns:p="clr-namespace:ENI2.Properties"
|
||||||
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="{x:Static p:Resources.textViolations}" Height="300" Width="600" Background="AliceBlue" Icon="/ENI2;component/Resources/bullet_ball_yellow.ico" Topmost="False">
|
Title="{x:Static p:Resources.textViolations}" Height="300" Width="600" Background="AliceBlue" Icon="/Eni2;component/Resources/bullet_ball_yellow.ico" Topmost="False">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="*" />
|
<RowDefinition Height="*" />
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
xmlns:p="clr-namespace:ENI2.Properties"
|
xmlns:p="clr-namespace:ENI2.Properties"
|
||||||
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="{x:Static p:Resources.textNewVisitTransitId}" Height="220" Width="350" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="NoResize" Icon="/ENI2;component/Resources/id_card_new.ico">
|
Title="{x:Static p:Resources.textNewVisitTransitId}" Height="220" Width="350" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="NoResize" Icon="/Eni2;component/Resources/id_card_new.ico">
|
||||||
<Grid Margin="4">
|
<Grid Margin="4">
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="28" />
|
<RowDefinition Height="28" />
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
|
|
||||||
namespace ENI2.Excel
|
namespace ENI2.Excel
|
||||||
@ -74,7 +74,7 @@ namespace ENI2.Excel
|
|||||||
{ if (ScanBKRD(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
{ if (ScanBKRD(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
||||||
if ((message.MessageNotificationClass == Message.NotificationClass.BPOL) && notificationClasses.Contains(Message.NotificationClass.BPOL))
|
if ((message.MessageNotificationClass == Message.NotificationClass.BPOL) && notificationClasses.Contains(Message.NotificationClass.BPOL))
|
||||||
{ if (ScanBPOL(message, reader)) ExcelReader.SaveMessage(message); }
|
{ if (ScanBPOL(message, reader)) ExcelReader.SaveMessage(message); }
|
||||||
if ((message.MessageNotificationClass == Message.NotificationClass.CREW) && notificationClasses.Contains(Message.NotificationClass.CREW))
|
if ((message.MessageNotificationClass == Message.NotificationClass.CREWA) && notificationClasses.Contains(Message.NotificationClass.CREWA))
|
||||||
{ if (ScanCREW(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
{ if (ScanCREW(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
||||||
if ((message.MessageNotificationClass == Message.NotificationClass.CREWD) && notificationClasses.Contains(Message.NotificationClass.CREWD))
|
if ((message.MessageNotificationClass == Message.NotificationClass.CREWD) && notificationClasses.Contains(Message.NotificationClass.CREWD))
|
||||||
{ if (ScanCREWD(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
{ if (ScanCREWD(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
||||||
@ -92,8 +92,8 @@ namespace ENI2.Excel
|
|||||||
{ if (ScanNAME(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
{ if (ScanNAME(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
||||||
if ((message.MessageNotificationClass == Message.NotificationClass.NOA_NOD) && notificationClasses.Contains(Message.NotificationClass.NOA_NOD))
|
if ((message.MessageNotificationClass == Message.NotificationClass.NOA_NOD) && notificationClasses.Contains(Message.NotificationClass.NOA_NOD))
|
||||||
{ if (ScanNOA_NOD(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
{ if (ScanNOA_NOD(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
||||||
if ((message.MessageNotificationClass == Message.NotificationClass.PAS) && notificationClasses.Contains(Message.NotificationClass.PAS))
|
if ((message.MessageNotificationClass == Message.NotificationClass.PASA) && notificationClasses.Contains(Message.NotificationClass.PASA))
|
||||||
{ if (ScanPAS(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
{ if (ScanPASA(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
||||||
if ((message.MessageNotificationClass == Message.NotificationClass.PASD) && notificationClasses.Contains(Message.NotificationClass.PASD))
|
if ((message.MessageNotificationClass == Message.NotificationClass.PASD) && notificationClasses.Contains(Message.NotificationClass.PASD))
|
||||||
{ if (ScanPASD(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
{ if (ScanPASD(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
||||||
if ((message.MessageNotificationClass == Message.NotificationClass.POBA) && notificationClasses.Contains(Message.NotificationClass.POBA))
|
if ((message.MessageNotificationClass == Message.NotificationClass.POBA) && notificationClasses.Contains(Message.NotificationClass.POBA))
|
||||||
@ -726,40 +726,53 @@ namespace ENI2.Excel
|
|||||||
pas = new PASD();
|
pas = new PASD();
|
||||||
pas.Identifier = (i + 1).ToString();
|
pas.Identifier = (i + 1).ToString();
|
||||||
pas.MessageHeader = pasdMessage;
|
pas.MessageHeader = pasdMessage;
|
||||||
|
pas.IsDeparture = true;
|
||||||
pasdMessage.Elements.Add(pas);
|
pasdMessage.Elements.Add(pas);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// these two are not working, since the lookup field is a combobox where reading text always yields empty string
|
||||||
|
// if there is time we should do the solution suggested in this question
|
||||||
|
// https://stackoverflow.com/questions/46752911/how-to-read-comboboxes-value-from-excel-using-c-sharp
|
||||||
|
|
||||||
pas.NotificationSchengen = reader.ReadCellAsBool("passenger departure", "C10");
|
pas.NotificationSchengen = reader.ReadCellAsBool("passenger departure", "C10");
|
||||||
pas.NotificationPAX = reader.ReadCellAsBool("passenger departure", "C11");
|
pas.NotificationPAX = reader.ReadCellAsBool("passenger departure", "C11") ?? false;
|
||||||
|
|
||||||
pas.PassengerLastName = lastName;
|
pas.PassengerLastName = lastName;
|
||||||
pas.PassengerFirstName = reader.ReadCellAsText("passenger departure", string.Format("C{0}", i + 16));
|
pas.PassengerFirstName = reader.ReadCellAsText("passenger departure", string.Format("C{0}", i + 16));
|
||||||
pas.PassengerPlaceOfBirth = reader.ReadCellAsText("passenger departure", string.Format("D{0}", i + 16));
|
pas.PassengerPlaceOfBirth = reader.ReadCellAsText("passenger departure", string.Format("D{0}", i + 16));
|
||||||
pas.PassengerCountryOfBirth = reader.ReadCellAsText("passenger departure", string.Format("E{0}", i + 16));
|
pas.PassengerCountryOfBirth = ExcelUtil.ReadNationality(reader.ReadCellAsText("passenger departure", string.Format("E{0}", i + 16)), out bool canceled);
|
||||||
|
if (canceled) return false;
|
||||||
pas.PassengerDateOfBirth = reader.ReadCellAsDateTime("passenger departure", string.Format("F{0}", i + 16));
|
pas.PassengerDateOfBirth = reader.ReadCellAsDateTime("passenger departure", string.Format("F{0}", i + 16));
|
||||||
pas.PassengerGender = ParseGender(reader.ReadCellAsText("passenger departure", string.Format("G{0}", i + 16)));
|
pas.PassengerGender = ParseGender(reader.ReadCellAsText("passenger departure", string.Format("G{0}", i + 16)));
|
||||||
pas.PassengerNationality = reader.ReadCellAsText("passenger departure", string.Format("H{0}", i + 16));
|
pas.PassengerNationality = ExcelUtil.ReadNationality(reader.ReadCellAsText("passenger departure", string.Format("H{0}", i + 16)), out canceled);
|
||||||
pas.PassengerIdentityDocumentIssuingState = reader.ReadCellAsText("passenger departure", string.Format("O{0}", i + 16));
|
if (canceled) return false;
|
||||||
|
pas.PassengerIdentityDocumentIssuingState = ExcelUtil.ReadNationality(reader.ReadCellAsText("passenger departure", string.Format("O{0}", i + 16)), out canceled);
|
||||||
|
if (canceled) return false;
|
||||||
pas.PassengerIdentityDocumentExpiryDate = reader.ReadCellAsDateTime("passenger departure", string.Format("P{0}", i + 16));
|
pas.PassengerIdentityDocumentExpiryDate = reader.ReadCellAsDateTime("passenger departure", string.Format("P{0}", i + 16));
|
||||||
|
|
||||||
if (pas.NotificationPAX ?? false)
|
|
||||||
{
|
|
||||||
pas.EmergencyCare = reader.ReadCellAsText("passenger departure", string.Format("Q{0}", i + 16));
|
pas.EmergencyCare = reader.ReadCellAsText("passenger departure", string.Format("Q{0}", i + 16));
|
||||||
pas.EmergencyContactNumber = reader.ReadCellAsText("passenger departure", string.Format("R{0}", i + 16));
|
pas.EmergencyContactNumber = reader.ReadCellAsText("passenger departure", string.Format("R{0}", i + 16));
|
||||||
}
|
|
||||||
|
|
||||||
if (pas.NotificationSchengen ?? false)
|
|
||||||
{
|
|
||||||
pas.PassengerIdentityDocumentType = ParseDocumentType(reader.ReadCellAsText("passenger departure", string.Format("I{0}", i + 16)));
|
pas.PassengerIdentityDocumentType = ParseDocumentType(reader.ReadCellAsText("passenger departure", string.Format("I{0}", i + 16)));
|
||||||
pas.PassengerIdentityDocumentId = reader.ReadCellAsText("passenger departure", string.Format("J{0}", i + 16));
|
pas.PassengerIdentityDocumentId = reader.ReadCellAsText("passenger departure", string.Format("J{0}", i + 16));
|
||||||
pas.PassengerVisaNumber = reader.ReadCellAsText("passenger departure", string.Format("K{0}", i + 16));
|
pas.PassengerVisaNumber = reader.ReadCellAsText("passenger departure", string.Format("K{0}", i + 16));
|
||||||
pas.PassengerPortOfEmbarkation = reader.ReadCellAsText("passenger departure", string.Format("L{0}", i + 16));
|
pas.PassengerPortOfEmbarkation = reader.ReadCellAsText("passenger departure", string.Format("L{0}", i + 16));
|
||||||
pas.PassengerPortOfDisembarkation = reader.ReadCellAsText("passenger departure", string.Format("M{0}", i + 16));
|
pas.PassengerPortOfDisembarkation = reader.ReadCellAsText("passenger departure", string.Format("M{0}", i + 16));
|
||||||
pas.PassengerInTransit = reader.ReadCellAsBool("passenger departure", string.Format("N{0}", i + 16));
|
pas.PassengerInTransit = reader.ReadCellAsBool("passenger departure", string.Format("N{0}", i + 16));
|
||||||
}
|
|
||||||
|
// if (pas.HasSchengenDetails) pas.NotificationSchengen = true;
|
||||||
|
// if (pas.HasPAXDetails) pas.NotificationPAX = true;
|
||||||
|
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool mustPAX = pasdMessage.Elements.Count >= 12;
|
||||||
|
if (mustPAX)
|
||||||
|
{
|
||||||
|
foreach (PASD pasd in pasdMessage.Elements.Cast<PASD>())
|
||||||
|
pasd.NotificationPAX = mustPAX;
|
||||||
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -767,7 +780,7 @@ namespace ENI2.Excel
|
|||||||
|
|
||||||
#region PAS
|
#region PAS
|
||||||
|
|
||||||
private static bool ScanPAS(Message pasMessage, ExcelReader reader)
|
private static bool ScanPASA(Message pasMessage, ExcelReader reader)
|
||||||
{
|
{
|
||||||
bool result = false;
|
bool result = false;
|
||||||
for (int i = 0; i < 1000; i++)
|
for (int i = 0; i < 1000; i++)
|
||||||
@ -784,36 +797,45 @@ namespace ENI2.Excel
|
|||||||
}
|
}
|
||||||
|
|
||||||
pas.NotificationSchengen = reader.ReadCellAsBool("passenger arrival", "C10");
|
pas.NotificationSchengen = reader.ReadCellAsBool("passenger arrival", "C10");
|
||||||
pas.NotificationPAX = reader.ReadCellAsBool("passenger arrival", "C11");
|
pas.NotificationPAX = reader.ReadCellAsBool("passenger arrival", "C11") ?? false;
|
||||||
|
|
||||||
pas.PassengerLastName = lastName;
|
pas.PassengerLastName = lastName;
|
||||||
pas.PassengerFirstName = reader.ReadCellAsText("passenger arrival", string.Format("C{0}", i + 16));
|
pas.PassengerFirstName = reader.ReadCellAsText("passenger arrival", string.Format("C{0}", i + 16));
|
||||||
pas.PassengerPlaceOfBirth = reader.ReadCellAsText("passenger arrival", string.Format("D{0}", i + 16));
|
pas.PassengerPlaceOfBirth = reader.ReadCellAsText("passenger arrival", string.Format("D{0}", i + 16));
|
||||||
pas.PassengerCountryOfBirth = reader.ReadCellAsText("passenger arrival", string.Format("E{0}", i + 16));
|
pas.PassengerCountryOfBirth = ExcelUtil.ReadNationality(reader.ReadCellAsText("passenger arrival", string.Format("E{0}", i + 16)), out bool canceled);
|
||||||
|
if (canceled) return false;
|
||||||
pas.PassengerDateOfBirth = reader.ReadCellAsDateTime("passenger arrival", string.Format("F{0}", i + 16));
|
pas.PassengerDateOfBirth = reader.ReadCellAsDateTime("passenger arrival", string.Format("F{0}", i + 16));
|
||||||
pas.PassengerGender = ParseGender(reader.ReadCellAsText("passenger arrival", string.Format("G{0}", i + 16)));
|
pas.PassengerGender = ParseGender(reader.ReadCellAsText("passenger arrival", string.Format("G{0}", i + 16)));
|
||||||
pas.PassengerNationality = reader.ReadCellAsText("passenger arrival", string.Format("H{0}", i + 16));
|
pas.PassengerNationality = ExcelUtil.ReadNationality(reader.ReadCellAsText("passenger arrival", string.Format("H{0}", i + 16)), out canceled);
|
||||||
pas.PassengerIdentityDocumentIssuingState = reader.ReadCellAsText("passenger arrival", string.Format("O{0}", i + 16));
|
if(canceled) return false;
|
||||||
|
pas.PassengerIdentityDocumentIssuingState = ExcelUtil.ReadNationality(reader.ReadCellAsText("passenger arrival", string.Format("O{0}", i + 16)), out canceled);
|
||||||
|
if (canceled) return false;
|
||||||
pas.PassengerIdentityDocumentExpiryDate = reader.ReadCellAsDateTime("passenger arrival", string.Format("P{0}", i + 16));
|
pas.PassengerIdentityDocumentExpiryDate = reader.ReadCellAsDateTime("passenger arrival", string.Format("P{0}", i + 16));
|
||||||
|
|
||||||
//if(pas.NotificationPAX ?? false)
|
|
||||||
//{
|
|
||||||
pas.EmergencyCare = reader.ReadCellAsText("passenger arrival", string.Format("Q{0}", i + 16));
|
pas.EmergencyCare = reader.ReadCellAsText("passenger arrival", string.Format("Q{0}", i + 16));
|
||||||
pas.EmergencyContactNumber = reader.ReadCellAsText("passenger arrival", string.Format("R{0}", i + 16));
|
pas.EmergencyContactNumber = reader.ReadCellAsText("passenger arrival", string.Format("R{0}", i + 16));
|
||||||
//}
|
|
||||||
|
|
||||||
//if(pas.NotificationSchengen ?? false)
|
|
||||||
//{
|
|
||||||
pas.PassengerIdentityDocumentType = ParseDocumentType(reader.ReadCellAsText("passenger arrival", string.Format("I{0}", i + 16)));
|
pas.PassengerIdentityDocumentType = ParseDocumentType(reader.ReadCellAsText("passenger arrival", string.Format("I{0}", i + 16)));
|
||||||
pas.PassengerIdentityDocumentId = reader.ReadCellAsText("passenger arrival", string.Format("J{0}", i + 16));
|
pas.PassengerIdentityDocumentId = reader.ReadCellAsText("passenger arrival", string.Format("J{0}", i + 16));
|
||||||
pas.PassengerVisaNumber = reader.ReadCellAsText("passenger arrival", string.Format("K{0}", i + 16));
|
pas.PassengerVisaNumber = reader.ReadCellAsText("passenger arrival", string.Format("K{0}", i + 16));
|
||||||
pas.PassengerPortOfEmbarkation = reader.ReadCellAsText("passenger arrival", string.Format("L{0}", i + 16));
|
pas.PassengerPortOfEmbarkation = reader.ReadCellAsText("passenger arrival", string.Format("L{0}", i + 16));
|
||||||
pas.PassengerPortOfDisembarkation = reader.ReadCellAsText("passenger arrival", string.Format("M{0}", i + 16));
|
pas.PassengerPortOfDisembarkation = reader.ReadCellAsText("passenger arrival", string.Format("M{0}", i + 16));
|
||||||
pas.PassengerInTransit = reader.ReadCellAsBool("passenger arrival", string.Format("N{0}", i + 16));
|
pas.PassengerInTransit = reader.ReadCellAsBool("passenger arrival", string.Format("N{0}", i + 16));
|
||||||
//}
|
|
||||||
|
|
||||||
|
// if (pas.HasSchengenDetails) pas.NotificationSchengen = true;
|
||||||
|
// if (pas.HasPAXDetails) pas.NotificationPAX = true;
|
||||||
|
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool mustPAX = pasMessage.Elements.Count >= 12;
|
||||||
|
if (mustPAX)
|
||||||
|
{
|
||||||
|
foreach (PAS pasa in pasMessage.Elements.Cast<PAS>())
|
||||||
|
pasa.NotificationPAX = mustPAX;
|
||||||
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1156,6 +1178,7 @@ namespace ENI2.Excel
|
|||||||
crew = new CREWD();
|
crew = new CREWD();
|
||||||
crew.Identifier = (i + 1).ToString();
|
crew.Identifier = (i + 1).ToString();
|
||||||
crew.MessageHeader = crewMessage;
|
crew.MessageHeader = crewMessage;
|
||||||
|
crew.IsDeparture = true;
|
||||||
crewMessage.Elements.Add(crew);
|
crewMessage.Elements.Add(crew);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1165,11 +1188,13 @@ namespace ENI2.Excel
|
|||||||
crew.CrewMemberLastName = lastName;
|
crew.CrewMemberLastName = lastName;
|
||||||
crew.CrewMemberFirstName = reader.ReadCellAsText("crew departure", string.Format("C{0}", i + 15));
|
crew.CrewMemberFirstName = reader.ReadCellAsText("crew departure", string.Format("C{0}", i + 15));
|
||||||
crew.CrewMemberPlaceOfBirth = reader.ReadCellAsText("crew departure", string.Format("D{0}", i + 15));
|
crew.CrewMemberPlaceOfBirth = reader.ReadCellAsText("crew departure", string.Format("D{0}", i + 15));
|
||||||
crew.CrewMemberCountryOfBirth = reader.ReadCellAsText("crew departure", string.Format("E{0}", i + 15));
|
crew.CrewMemberCountryOfBirth = ExcelUtil.ReadNationality(reader.ReadCellAsText("crew departure", string.Format("E{0}", i + 15)), out bool canceled);
|
||||||
|
if (canceled) return false;
|
||||||
crew.CrewMemberDateOfBirth = reader.ReadCellAsDateTime("crew departure", string.Format("F{0}", i + 15));
|
crew.CrewMemberDateOfBirth = reader.ReadCellAsDateTime("crew departure", string.Format("F{0}", i + 15));
|
||||||
string gender = reader.ReadCellAsText("crew departure", string.Format("G{0}", i + 15));
|
string gender = reader.ReadCellAsText("crew departure", string.Format("G{0}", i + 15));
|
||||||
crew.CrewMemberGender = ParseGender(gender);
|
crew.CrewMemberGender = ParseGender(gender);
|
||||||
crew.CrewMemberNationality = reader.ReadCellAsText("crew departure", string.Format("H{0}", i + 15));
|
crew.CrewMemberNationality = ExcelUtil.ReadNationality(reader.ReadCellAsText("crew departure", string.Format("H{0}", i + 15)), out canceled);
|
||||||
|
if (canceled) return false;
|
||||||
|
|
||||||
if (crew.NotificationSchengen ?? false)
|
if (crew.NotificationSchengen ?? false)
|
||||||
{
|
{
|
||||||
@ -1177,7 +1202,8 @@ namespace ENI2.Excel
|
|||||||
crew.CrewMemberIdentityDocumentType = ParseDocumentType(idDocType);
|
crew.CrewMemberIdentityDocumentType = ParseDocumentType(idDocType);
|
||||||
crew.CrewMemberIdentityDocumentId = reader.ReadCellAsText("crew departure", string.Format("J{0}", i + 15));
|
crew.CrewMemberIdentityDocumentId = reader.ReadCellAsText("crew departure", string.Format("J{0}", i + 15));
|
||||||
crew.CrewMemberVisaNumber = reader.ReadCellAsText("crew departure", string.Format("K{0}", i + 15));
|
crew.CrewMemberVisaNumber = reader.ReadCellAsText("crew departure", string.Format("K{0}", i + 15));
|
||||||
crew.CrewMemberIdentityDocumentIssuingState = reader.ReadCellAsText("crew departure", string.Format("M{0}", i + 15));
|
crew.CrewMemberIdentityDocumentIssuingState = ExcelUtil.ReadNationality(reader.ReadCellAsText("crew departure", string.Format("M{0}", i + 15)), out canceled);
|
||||||
|
if (canceled) return false;
|
||||||
crew.CrewMemberIdentityDocumentExpiryDate = reader.ReadCellAsDateTime("crew departure", string.Format("N{0}", i + 15));
|
crew.CrewMemberIdentityDocumentExpiryDate = reader.ReadCellAsDateTime("crew departure", string.Format("N{0}", i + 15));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1190,7 +1216,7 @@ namespace ENI2.Excel
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region CREW
|
#region CREWA
|
||||||
|
|
||||||
private static bool ScanCREW(Message crewMessage, ExcelReader reader)
|
private static bool ScanCREW(Message crewMessage, ExcelReader reader)
|
||||||
{
|
{
|
||||||
@ -1209,26 +1235,25 @@ namespace ENI2.Excel
|
|||||||
}
|
}
|
||||||
|
|
||||||
crew.NotificationSchengen = reader.ReadCellAsBool("crew arrival", "C10");
|
crew.NotificationSchengen = reader.ReadCellAsBool("crew arrival", "C10");
|
||||||
crew.NotificationPAX = reader.ReadCellAsBool("crew arrival", "C11");
|
crew.NotificationPAX = reader.ReadCellAsBool("crew arrival", "C11") ?? false;
|
||||||
|
|
||||||
crew.CrewMemberLastName = lastName;
|
crew.CrewMemberLastName = lastName;
|
||||||
crew.CrewMemberFirstName = reader.ReadCellAsText("crew arrival", string.Format("C{0}", i + 15));
|
crew.CrewMemberFirstName = reader.ReadCellAsText("crew arrival", string.Format("C{0}", i + 15));
|
||||||
crew.CrewMemberPlaceOfBirth = reader.ReadCellAsText("crew arrival", string.Format("D{0}", i + 15));
|
crew.CrewMemberPlaceOfBirth = reader.ReadCellAsText("crew arrival", string.Format("D{0}", i + 15));
|
||||||
crew.CrewMemberCountryOfBirth = reader.ReadCellAsText("crew arrival", string.Format("E{0}", i + 15));
|
crew.CrewMemberCountryOfBirth = ExcelUtil.ReadNationality(reader.ReadCellAsText("crew arrival", string.Format("E{0}", i + 15)), out bool canceled);
|
||||||
|
if (canceled) return false;
|
||||||
crew.CrewMemberDateOfBirth = reader.ReadCellAsDateTime("crew arrival", string.Format("F{0}", i + 15));
|
crew.CrewMemberDateOfBirth = reader.ReadCellAsDateTime("crew arrival", string.Format("F{0}", i + 15));
|
||||||
string gender = reader.ReadCellAsText("crew arrival", string.Format("G{0}", i + 15));
|
string gender = reader.ReadCellAsText("crew arrival", string.Format("G{0}", i + 15));
|
||||||
crew.CrewMemberGender = ParseGender(gender);
|
crew.CrewMemberGender = ParseGender(gender);
|
||||||
crew.CrewMemberNationality = reader.ReadCellAsText("crew arrival", string.Format("H{0}", i + 15));
|
crew.CrewMemberNationality = ExcelUtil.ReadNationality(reader.ReadCellAsText("crew arrival", string.Format("H{0}", i + 15)), out canceled);
|
||||||
|
if (canceled) return false;
|
||||||
//if(crew.NotificationSchengen ?? false)
|
|
||||||
//{
|
|
||||||
string idDocType = reader.ReadCellAsText("crew arrival", string.Format("I{0}", i + 15));
|
string idDocType = reader.ReadCellAsText("crew arrival", string.Format("I{0}", i + 15));
|
||||||
crew.CrewMemberIdentityDocumentType = ParseDocumentType(idDocType);
|
crew.CrewMemberIdentityDocumentType = ParseDocumentType(idDocType);
|
||||||
crew.CrewMemberIdentityDocumentId = reader.ReadCellAsText("crew arrival", string.Format("J{0}", i + 15));
|
crew.CrewMemberIdentityDocumentId = reader.ReadCellAsText("crew arrival", string.Format("J{0}", i + 15));
|
||||||
crew.CrewMemberVisaNumber = reader.ReadCellAsText("crew arrival", string.Format("K{0}", i + 15));
|
crew.CrewMemberVisaNumber = reader.ReadCellAsText("crew arrival", string.Format("K{0}", i + 15));
|
||||||
crew.CrewMemberIdentityDocumentIssuingState = reader.ReadCellAsText("crew arrival", string.Format("M{0}", i + 15));
|
crew.CrewMemberIdentityDocumentIssuingState = ExcelUtil.ReadNationality(reader.ReadCellAsText("crew arrival", string.Format("M{0}", i + 15)), out canceled);
|
||||||
|
if (canceled) return false;
|
||||||
crew.CrewMemberIdentityDocumentExpiryDate = reader.ReadCellAsDateTime("crew arrival", string.Format("N{0}", i + 15));
|
crew.CrewMemberIdentityDocumentExpiryDate = reader.ReadCellAsDateTime("crew arrival", string.Format("N{0}", i + 15));
|
||||||
//}
|
|
||||||
|
|
||||||
crew.CrewMemberDuty = reader.ReadCellAsText("crew arrival", string.Format("L{0}", i + 15));
|
crew.CrewMemberDuty = reader.ReadCellAsText("crew arrival", string.Format("L{0}", i + 15));
|
||||||
|
|
||||||
|
|||||||
@ -84,7 +84,7 @@ namespace ENI2.Excel
|
|||||||
{ if (ScanBKRD(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
{ if (ScanBKRD(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
||||||
if ((message.MessageNotificationClass == Message.NotificationClass.BPOL) && notificationClasses.Contains(Message.NotificationClass.BPOL))
|
if ((message.MessageNotificationClass == Message.NotificationClass.BPOL) && notificationClasses.Contains(Message.NotificationClass.BPOL))
|
||||||
{ if (ScanBPOL(message, messages, messageCore, reader)) ExcelReader.SaveMessage(message); }
|
{ if (ScanBPOL(message, messages, messageCore, reader)) ExcelReader.SaveMessage(message); }
|
||||||
if ((message.MessageNotificationClass == Message.NotificationClass.CREW) && notificationClasses.Contains(Message.NotificationClass.CREW))
|
if ((message.MessageNotificationClass == Message.NotificationClass.CREWA) && notificationClasses.Contains(Message.NotificationClass.CREWA))
|
||||||
{ if (ScanCREW(message, reader, isOldVersion)) ExcelReader.SaveMessage(message); continue; }
|
{ if (ScanCREW(message, reader, isOldVersion)) ExcelReader.SaveMessage(message); continue; }
|
||||||
if ((message.MessageNotificationClass == Message.NotificationClass.CREWD) && notificationClasses.Contains(Message.NotificationClass.CREWD))
|
if ((message.MessageNotificationClass == Message.NotificationClass.CREWD) && notificationClasses.Contains(Message.NotificationClass.CREWD))
|
||||||
{ if (ScanCREWD(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
{ if (ScanCREWD(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
||||||
@ -102,7 +102,7 @@ namespace ENI2.Excel
|
|||||||
{ if (ScanNAME(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
{ if (ScanNAME(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
||||||
if ((message.MessageNotificationClass == Message.NotificationClass.NOA_NOD) && notificationClasses.Contains(Message.NotificationClass.NOA_NOD))
|
if ((message.MessageNotificationClass == Message.NotificationClass.NOA_NOD) && notificationClasses.Contains(Message.NotificationClass.NOA_NOD))
|
||||||
{ if (ScanNOA_NOD(message, messageCore, reader)) ExcelReader.SaveMessage(message); continue; }
|
{ if (ScanNOA_NOD(message, messageCore, reader)) ExcelReader.SaveMessage(message); continue; }
|
||||||
if ((message.MessageNotificationClass == Message.NotificationClass.PAS) && notificationClasses.Contains(Message.NotificationClass.PAS))
|
if ((message.MessageNotificationClass == Message.NotificationClass.PASA) && notificationClasses.Contains(Message.NotificationClass.PASA))
|
||||||
{ if (ScanPAS(message, reader, isOldVersion)) ExcelReader.SaveMessage(message); continue; }
|
{ if (ScanPAS(message, reader, isOldVersion)) ExcelReader.SaveMessage(message); continue; }
|
||||||
if ((message.MessageNotificationClass == Message.NotificationClass.PASD) && notificationClasses.Contains(Message.NotificationClass.PASD))
|
if ((message.MessageNotificationClass == Message.NotificationClass.PASD) && notificationClasses.Contains(Message.NotificationClass.PASD))
|
||||||
{ if (ScanPASD(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
{ if (ScanPASD(message, reader)) ExcelReader.SaveMessage(message); continue; }
|
||||||
@ -2076,7 +2076,7 @@ namespace ENI2.Excel
|
|||||||
|
|
||||||
#endregion LADG
|
#endregion LADG
|
||||||
|
|
||||||
#region CREW
|
#region CREWA
|
||||||
|
|
||||||
private static bool ScanCREW(Message crewMessage, ExcelReader reader, bool isOldVersion)
|
private static bool ScanCREW(Message crewMessage, ExcelReader reader, bool isOldVersion)
|
||||||
{
|
{
|
||||||
@ -2086,7 +2086,7 @@ namespace ENI2.Excel
|
|||||||
// 5.9.22: Changed this area to work like reading from a Dakosy Sheet (by values in rows, not cell names)
|
// 5.9.22: Changed this area to work like reading from a Dakosy Sheet (by values in rows, not cell names)
|
||||||
if (reader.HasWorksheetNamed(sheetTitle))
|
if (reader.HasWorksheetNamed(sheetTitle))
|
||||||
{
|
{
|
||||||
bool? notificationSchengen = reader.ReadBoolean("CREW.NotificationSchengen");
|
// bool? notificationSchengen = reader.ReadBoolean("CREW.NotificationSchengen");
|
||||||
bool? notificationPax = reader.ReadBoolean("CREW.NotificationPAX");
|
bool? notificationPax = reader.ReadBoolean("CREW.NotificationPAX");
|
||||||
|
|
||||||
for (int i = 0; i < 5000; i++)
|
for (int i = 0; i < 5000; i++)
|
||||||
@ -2103,8 +2103,8 @@ namespace ENI2.Excel
|
|||||||
crewMessage.Elements.Add(crew);
|
crewMessage.Elements.Add(crew);
|
||||||
}
|
}
|
||||||
|
|
||||||
crew.NotificationSchengen = notificationSchengen;
|
crew.NotificationSchengen = true;
|
||||||
crew.NotificationPAX = notificationPax;
|
crew.NotificationPAX = notificationPax ?? false;
|
||||||
crew.CrewMemberLastName = lastName;
|
crew.CrewMemberLastName = lastName;
|
||||||
crew.CrewMemberFirstName = firstName;
|
crew.CrewMemberFirstName = firstName;
|
||||||
|
|
||||||
@ -2115,8 +2115,7 @@ namespace ENI2.Excel
|
|||||||
crew.CrewMemberNationality = ReadNationality(reader.ReadCellAsText(sheetTitle, string.Format("G{0}", i + 18)), out canceled);
|
crew.CrewMemberNationality = ReadNationality(reader.ReadCellAsText(sheetTitle, string.Format("G{0}", i + 18)), out canceled);
|
||||||
if (canceled) return true;
|
if (canceled) return true;
|
||||||
crew.CrewMemberPlaceOfBirth = reader.ReadCellAsText(sheetTitle, string.Format("H{0}", i + 18));
|
crew.CrewMemberPlaceOfBirth = reader.ReadCellAsText(sheetTitle, string.Format("H{0}", i + 18));
|
||||||
crew.CrewMemberCountryOfBirth = reader.ReadCellAsText(sheetTitle, string.Format("G{0}", i + 18));
|
crew.CrewMemberCountryOfBirth = ReadNationality(reader.ReadCellAsText(sheetTitle, string.Format("I{0}", i + 18)), out _);
|
||||||
if ((crew.CrewMemberCountryOfBirth != null) && (crew.CrewMemberCountryOfBirth.Length > 2)) crew.CrewMemberCountryOfBirth = null;
|
|
||||||
|
|
||||||
crew.CrewMemberDateOfBirth = reader.ReadCellAsDateTime(sheetTitle, string.Format("J{0}", i + 18));
|
crew.CrewMemberDateOfBirth = reader.ReadCellAsDateTime(sheetTitle, string.Format("J{0}", i + 18));
|
||||||
|
|
||||||
@ -2137,6 +2136,7 @@ namespace ENI2.Excel
|
|||||||
if (crew.Effects.Length > 256)
|
if (crew.Effects.Length > 256)
|
||||||
crew.Effects = crew.Effects.Substring(0, 256);
|
crew.Effects = crew.Effects.Substring(0, 256);
|
||||||
|
|
||||||
|
// crew.NotificationSchengen = crew.HasSchengenDetails;
|
||||||
|
|
||||||
Util.UIHelper.SetBusyState(); // dialog might reset busy state
|
Util.UIHelper.SetBusyState(); // dialog might reset busy state
|
||||||
}
|
}
|
||||||
@ -2192,6 +2192,10 @@ namespace ENI2.Excel
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region CREWD
|
||||||
|
|
||||||
private static bool ScanCREWD(Message crewdMessage, ExcelReader reader)
|
private static bool ScanCREWD(Message crewdMessage, ExcelReader reader)
|
||||||
{
|
{
|
||||||
crewdMessage.DeleteElements();
|
crewdMessage.DeleteElements();
|
||||||
@ -2199,7 +2203,7 @@ namespace ENI2.Excel
|
|||||||
// CREW DEPARTURE
|
// CREW DEPARTURE
|
||||||
if (reader.HasWorksheetNamed(sheetTitle))
|
if (reader.HasWorksheetNamed(sheetTitle))
|
||||||
{
|
{
|
||||||
bool? notificationSchengen = reader.ReadBoolean("CREWD.NotificationSchengen");
|
// bool? notificationSchengen = reader.ReadBoolean("CREWD.NotificationSchengen");
|
||||||
bool? notificationPax = reader.ReadBoolean("CREWD.NotificationPAX");
|
bool? notificationPax = reader.ReadBoolean("CREWD.NotificationPAX");
|
||||||
|
|
||||||
for (int i = 0; i < 5000; i++)
|
for (int i = 0; i < 5000; i++)
|
||||||
@ -2212,11 +2216,12 @@ namespace ENI2.Excel
|
|||||||
crewd = new CREWD();
|
crewd = new CREWD();
|
||||||
crewd.Identifier = (i + 1).ToString();
|
crewd.Identifier = (i + 1).ToString();
|
||||||
crewd.MessageHeader = crewdMessage;
|
crewd.MessageHeader = crewdMessage;
|
||||||
|
crewd.IsDeparture = true;
|
||||||
crewdMessage.Elements.Add(crewd);
|
crewdMessage.Elements.Add(crewd);
|
||||||
}
|
}
|
||||||
|
|
||||||
crewd.NotificationSchengen = notificationSchengen;
|
crewd.NotificationSchengen = true;
|
||||||
crewd.NotificationPAX = notificationPax;
|
crewd.NotificationPAX = notificationPax ?? false;
|
||||||
crewd.CrewMemberLastName = lastName;
|
crewd.CrewMemberLastName = lastName;
|
||||||
crewd.CrewMemberFirstName = reader.ReadCellAsText(sheetTitle, string.Format("D{0}", i + 18));
|
crewd.CrewMemberFirstName = reader.ReadCellAsText(sheetTitle, string.Format("D{0}", i + 18));
|
||||||
|
|
||||||
@ -2227,11 +2232,9 @@ namespace ENI2.Excel
|
|||||||
crewd.CrewMemberNationality = ReadNationality(reader.ReadCellAsText(sheetTitle, string.Format("G{0}", i + 18)), out canceled);
|
crewd.CrewMemberNationality = ReadNationality(reader.ReadCellAsText(sheetTitle, string.Format("G{0}", i + 18)), out canceled);
|
||||||
if (canceled) return true;
|
if (canceled) return true;
|
||||||
crewd.CrewMemberPlaceOfBirth = reader.ReadCellAsText(sheetTitle, string.Format("H{0}", i + 18));
|
crewd.CrewMemberPlaceOfBirth = reader.ReadCellAsText(sheetTitle, string.Format("H{0}", i + 18));
|
||||||
crewd.CrewMemberCountryOfBirth = reader.ReadCellAsText(sheetTitle, string.Format("G{0}", i + 18));
|
crewd.CrewMemberCountryOfBirth = ReadNationality(reader.ReadCellAsText(sheetTitle, string.Format("I{0}", i + 18)), out _);
|
||||||
if ((crewd.CrewMemberCountryOfBirth != null) && (crewd.CrewMemberCountryOfBirth.Length > 2)) crewd.CrewMemberCountryOfBirth = null;
|
|
||||||
crewd.CrewMemberDateOfBirth = reader.ReadCellAsDateTime(sheetTitle, string.Format("J{0}", i + 18));
|
crewd.CrewMemberDateOfBirth = reader.ReadCellAsDateTime(sheetTitle, string.Format("J{0}", i + 18));
|
||||||
|
|
||||||
|
|
||||||
crewd.CrewMemberIdentityDocumentType = ReadDocumentType(reader.ReadCellAsText(sheetTitle, string.Format("K{0}", i + 18)), out canceled);
|
crewd.CrewMemberIdentityDocumentType = ReadDocumentType(reader.ReadCellAsText(sheetTitle, string.Format("K{0}", i + 18)), out canceled);
|
||||||
if (canceled) return true;
|
if (canceled) return true;
|
||||||
|
|
||||||
@ -2245,6 +2248,8 @@ namespace ENI2.Excel
|
|||||||
|
|
||||||
crewd.Effects = reader.ReadCellAsText("2. PORT", string.Format("C{0}", i + 142));
|
crewd.Effects = reader.ReadCellAsText("2. PORT", string.Format("C{0}", i + 142));
|
||||||
|
|
||||||
|
// crewd.NotificationSchengen = crewd.HasSchengenDetails;
|
||||||
|
|
||||||
Util.UIHelper.SetBusyState(); // dialog might reset busy state
|
Util.UIHelper.SetBusyState(); // dialog might reset busy state
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2263,6 +2268,7 @@ namespace ENI2.Excel
|
|||||||
crewd = new CREWD();
|
crewd = new CREWD();
|
||||||
crewd.Identifier = (i + 1).ToString();
|
crewd.Identifier = (i + 1).ToString();
|
||||||
crewd.MessageHeader = crewdMessage;
|
crewd.MessageHeader = crewdMessage;
|
||||||
|
crewd.IsDeparture = true;
|
||||||
crewdMessage.Elements.Add(crewd);
|
crewdMessage.Elements.Add(crewd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2302,7 +2308,7 @@ namespace ENI2.Excel
|
|||||||
|
|
||||||
#region PAS
|
#region PAS
|
||||||
|
|
||||||
private static bool ScanPAS(Message pasMessage, ExcelReader reader, bool isOldVersion)
|
private static bool ScanPAS(Message pasMessage, ExcelReader reader, bool _)
|
||||||
{
|
{
|
||||||
List<PAS> newPasList = new List<PAS>();
|
List<PAS> newPasList = new List<PAS>();
|
||||||
|
|
||||||
@ -2310,7 +2316,7 @@ namespace ENI2.Excel
|
|||||||
|
|
||||||
if (reader.HasWorksheetNamed(sheetTitle))
|
if (reader.HasWorksheetNamed(sheetTitle))
|
||||||
{
|
{
|
||||||
bool? notificationSchengen = reader.ReadBoolean("PAS.NotificationSchengen");
|
// bool? notificationSchengen = reader.ReadBoolean("PAS.NotificationSchengen");
|
||||||
bool? notificationPax = reader.ReadBoolean("PAS.NotificationPAX");
|
bool? notificationPax = reader.ReadBoolean("PAS.NotificationPAX");
|
||||||
|
|
||||||
for (int i = 0; i < 5000; i++)
|
for (int i = 0; i < 5000; i++)
|
||||||
@ -2324,8 +2330,8 @@ namespace ENI2.Excel
|
|||||||
pas.MessageHeader = pasMessage;
|
pas.MessageHeader = pasMessage;
|
||||||
newPasList.Add(pas);
|
newPasList.Add(pas);
|
||||||
|
|
||||||
pas.NotificationSchengen = notificationSchengen;
|
pas.NotificationSchengen = true;
|
||||||
pas.NotificationPAX = notificationPax;
|
pas.NotificationPAX = notificationPax ?? false;
|
||||||
pas.PassengerLastName = lastName;
|
pas.PassengerLastName = lastName;
|
||||||
pas.PassengerFirstName = firstName;
|
pas.PassengerFirstName = firstName;
|
||||||
|
|
||||||
@ -2346,8 +2352,7 @@ namespace ENI2.Excel
|
|||||||
pas.PassengerInTransit = reader.ReadCellAsBool(sheetTitle, string.Format("H{0}", i + 17));
|
pas.PassengerInTransit = reader.ReadCellAsBool(sheetTitle, string.Format("H{0}", i + 17));
|
||||||
|
|
||||||
pas.PassengerPlaceOfBirth = reader.ReadCellAsText(sheetTitle, string.Format("J{0}", i + 17));
|
pas.PassengerPlaceOfBirth = reader.ReadCellAsText(sheetTitle, string.Format("J{0}", i + 17));
|
||||||
pas.PassengerCountryOfBirth = reader.ReadCellAsText(sheetTitle, string.Format("K{0}", i + 17));
|
pas.PassengerCountryOfBirth = ReadNationality(reader.ReadCellAsText(sheetTitle, string.Format("K{0}", i + 17)), out _);
|
||||||
if ((pas.PassengerCountryOfBirth != null) && (pas.PassengerCountryOfBirth.Length > 2)) pas.PassengerCountryOfBirth = null;
|
|
||||||
|
|
||||||
if (canceled) return true;
|
if (canceled) return true;
|
||||||
DateTime? dateOfBirth = reader.ReadCellAsDateTime(sheetTitle, string.Format("L{0}", i + 17));
|
DateTime? dateOfBirth = reader.ReadCellAsDateTime(sheetTitle, string.Format("L{0}", i + 17));
|
||||||
@ -2363,8 +2368,17 @@ namespace ENI2.Excel
|
|||||||
pas.EmergencyCare = reader.ReadCellAsText(sheetTitle, string.Format("R{0}", i + 17));
|
pas.EmergencyCare = reader.ReadCellAsText(sheetTitle, string.Format("R{0}", i + 17));
|
||||||
pas.EmergencyContactNumber = reader.ReadCellAsText(sheetTitle, string.Format("S{0}", i + 17));
|
pas.EmergencyContactNumber = reader.ReadCellAsText(sheetTitle, string.Format("S{0}", i + 17));
|
||||||
|
|
||||||
|
// pas.NotificationSchengen = pas.HasSchengenDetails;
|
||||||
|
|
||||||
Util.UIHelper.SetBusyState(); // dialog might reset busy state
|
Util.UIHelper.SetBusyState(); // dialog might reset busy state
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool mustPAX = newPasList.Count >= 12;
|
||||||
|
if (mustPAX)
|
||||||
|
{
|
||||||
|
foreach (PAS pasa in newPasList.Cast<PAS>())
|
||||||
|
pasa.NotificationPAX = mustPAX;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2433,66 +2447,83 @@ namespace ENI2.Excel
|
|||||||
|
|
||||||
private static bool ScanPASD(Message pasMessage, ExcelReader reader)
|
private static bool ScanPASD(Message pasMessage, ExcelReader reader)
|
||||||
{
|
{
|
||||||
pasMessage.DeleteElements();
|
List<PAS> newPasList = new List<PAS>();
|
||||||
|
|
||||||
bool? notificationSchengen = reader.ReadBoolean("PASD.NotificationSchengen");
|
string sheetTitle = "9. PAX - Departure";
|
||||||
|
|
||||||
|
if (reader.HasWorksheetNamed(sheetTitle))
|
||||||
|
{
|
||||||
|
// bool? notificationSchengen = reader.ReadBoolean("PAS.NotificationSchengen");
|
||||||
bool? notificationPax = reader.ReadBoolean("PASD.NotificationPAX");
|
bool? notificationPax = reader.ReadBoolean("PASD.NotificationPAX");
|
||||||
|
|
||||||
for (int i = 0; i < pasMessage.NumberOfExcelRows; i++)
|
for (int i = 0; i < 5000; i++)
|
||||||
{
|
{
|
||||||
string pasLastName = string.Format("PASD.PassengerLastName_{0}", i + 1);
|
string lastName = reader.ReadCellAsText(sheetTitle, string.Format("C{0}", i + 18));
|
||||||
string pasFirstName = string.Format("PASD.PassengerFirstName_{0}", i + 1);
|
string firstName = reader.ReadCellAsText(sheetTitle, string.Format("D{0}", i + 18));
|
||||||
string pasGender = string.Format("PASD.PassengerGender_{0}", i + 1);
|
if (lastName.IsNullOrEmpty() && firstName.IsNullOrEmpty()) break; // finish after reading last row
|
||||||
string pasNationality = string.Format("PASD.PassengerNationality_{0}", i + 1);
|
|
||||||
string pasEmbarkation = string.Format("PASD.PassengerPortOfEmbarkation_{0}", i + 1);
|
|
||||||
string pasDebarkation = string.Format("PASD.PassengerPortOfDisembarkation_{0}", i + 1);
|
|
||||||
string pasTransit = string.Format("PASD.PassengerInTransit_{0}", i + 1);
|
|
||||||
string pasPlaceOfBirth = string.Format("PASD.PassengerPlaceOfBirth_{0}", i + 1);
|
|
||||||
string pasDateOfBirth = string.Format("PASD.PassengerDateOfBirth_{0}", i + 1);
|
|
||||||
string pasIdentDocType = string.Format("PASD.PassengerIdentityDocumentType_{0}", i + 1);
|
|
||||||
string pasIdentDocId = string.Format("PASD.PassengerIdentityDocumentId_{0}", i + 1);
|
|
||||||
string pasVisaNo = string.Format("PASD.PassengerVisaNumber_{0}", i + 1);
|
|
||||||
string pasIssuing = string.Format("PASD.PassengerIdentityDocumentIssuingState_{0}", i + 1);
|
|
||||||
string pasExpiryDate = string.Format("PASD.PassengerIdentityDocumentExpiryDate_{0}", i + 1);
|
|
||||||
string pasCountryOfBirth = string.Format("PASD.CountryOfBirth_{0}", i + 1);
|
|
||||||
string pasEmergencyCare = string.Format("PASD.EmergencyCare_{0}", i + 1);
|
|
||||||
string pasEmergencyContact = string.Format("PASD.EmergencyContactNumber_{0}", i + 1);
|
|
||||||
|
|
||||||
string lastName = reader.ReadText(pasLastName);
|
PASD pas = new PASD();
|
||||||
if (!lastName.IsNullOrEmpty())
|
|
||||||
{
|
|
||||||
if (!(pasMessage.GetSublistElementWithIdentifier((i + 1).ToString()) is PASD pas))
|
|
||||||
{
|
|
||||||
pas = new PASD();
|
|
||||||
pas.IsDeparture = true;
|
|
||||||
pas.Identifier = (i + 1).ToString();
|
pas.Identifier = (i + 1).ToString();
|
||||||
pas.MessageHeader = pasMessage;
|
pas.MessageHeader = pasMessage;
|
||||||
pasMessage.Elements.Add(pas);
|
|
||||||
}
|
|
||||||
|
|
||||||
pas.IsDeparture = true;
|
pas.IsDeparture = true;
|
||||||
pas.NotificationSchengen = notificationSchengen;
|
newPasList.Add(pas);
|
||||||
pas.NotificationPAX = notificationPax;
|
|
||||||
pas.PassengerLastName = lastName;
|
|
||||||
pas.PassengerFirstName = reader.ReadText(pasFirstName);
|
|
||||||
pas.PassengerGender = reader.ReadGender(pasGender);
|
|
||||||
pas.PassengerNationality = reader.ReadNationality(pasNationality);
|
|
||||||
|
|
||||||
pas.PassengerPortOfEmbarkation = reader.ReadTextNoWhitespace(pasEmbarkation);
|
pas.NotificationSchengen = true;
|
||||||
pas.PassengerPortOfDisembarkation = reader.ReadTextNoWhitespace(pasDebarkation);
|
pas.NotificationPAX = notificationPax ?? false;
|
||||||
pas.PassengerInTransit = reader.ReadBoolean(pasTransit);
|
pas.PassengerLastName = lastName;
|
||||||
pas.PassengerPlaceOfBirth = reader.ReadText(pasPlaceOfBirth);
|
pas.PassengerFirstName = firstName;
|
||||||
pas.PassengerDateOfBirth = reader.ReadBirthDate(pasDateOfBirth);
|
|
||||||
pas.PassengerIdentityDocumentType = reader.ReadIdentityDocumentType(pasIdentDocType);
|
pas.PassengerNationality = ReadNationality(reader.ReadCellAsText(sheetTitle, string.Format("I{0}", i + 18)), out bool canceled);
|
||||||
pas.PassengerIdentityDocumentId = reader.ReadText(pasIdentDocId);
|
if (canceled) return true;
|
||||||
pas.PassengerVisaNumber = reader.ReadText(pasVisaNo);
|
pas.PassengerIdentityDocumentIssuingState = ReadNationality(reader.ReadCellAsText(sheetTitle, string.Format("O{0}", i + 18)), out canceled);
|
||||||
pas.PassengerIdentityDocumentIssuingState = reader.ReadNationality(pasIssuing);
|
if (canceled) return true;
|
||||||
pas.PassengerIdentityDocumentExpiryDate = reader.ReadDate(pasExpiryDate) ?? (DateTime?)new DateTime(2100, 12, 31);
|
if (pas.PassengerIdentityDocumentIssuingState.IsNullOrEmpty())
|
||||||
pas.PassengerCountryOfBirth = reader.ReadNationality(pasCountryOfBirth);
|
pas.PassengerIdentityDocumentIssuingState = "XX";
|
||||||
pas.EmergencyCare = reader.ReadText(pasEmergencyCare);
|
|
||||||
pas.EmergencyContactNumber = reader.ReadText(pasEmergencyContact);
|
pas.PassengerGender = ReadGender(reader.ReadCellAsText(sheetTitle, string.Format("E{0}", i + 18)), out canceled);
|
||||||
|
if (canceled) return true;
|
||||||
|
pas.PassengerPortOfEmbarkation = ReadLocode(reader.ReadCellAsText(sheetTitle, string.Format("F{0}", i + 18)), out canceled);
|
||||||
|
if (canceled) return true;
|
||||||
|
pas.PassengerPortOfDisembarkation = ReadLocode(reader.ReadCellAsText(sheetTitle, string.Format("G{0}", i + 18)), out canceled);
|
||||||
|
if (canceled) return true;
|
||||||
|
|
||||||
|
pas.PassengerInTransit = reader.ReadCellAsBool(sheetTitle, string.Format("H{0}", i + 18));
|
||||||
|
|
||||||
|
pas.PassengerPlaceOfBirth = reader.ReadCellAsText(sheetTitle, string.Format("J{0}", i + 18));
|
||||||
|
pas.PassengerCountryOfBirth = ReadNationality(reader.ReadCellAsText(sheetTitle, string.Format("K{0}", i + 18)), out _);
|
||||||
|
|
||||||
|
if (canceled) return true;
|
||||||
|
DateTime? dateOfBirth = reader.ReadCellAsDateTime(sheetTitle, string.Format("L{0}", i + 18));
|
||||||
|
pas.PassengerDateOfBirth = dateOfBirth;
|
||||||
|
|
||||||
|
pas.PassengerIdentityDocumentType = ReadDocumentType(reader.ReadCellAsText(sheetTitle, string.Format("M{0}", i + 18)), out canceled);
|
||||||
|
if (canceled) return true;
|
||||||
|
pas.PassengerIdentityDocumentId = reader.ReadCellAsText(sheetTitle, string.Format("N{0}", i + 18));
|
||||||
|
|
||||||
|
pas.PassengerIdentityDocumentExpiryDate = reader.ReadCellAsDateTime(sheetTitle, string.Format("P{0}", i + 18)) ?? (DateTime?)new DateTime(2100, 12, 31);
|
||||||
|
|
||||||
|
pas.PassengerVisaNumber = reader.ReadCellAsText(sheetTitle, string.Format("Q{0}", i + 18));
|
||||||
|
pas.EmergencyCare = reader.ReadCellAsText(sheetTitle, string.Format("R{0}", i + 18));
|
||||||
|
pas.EmergencyContactNumber = reader.ReadCellAsText(sheetTitle, string.Format("S{0}", i + 18));
|
||||||
|
|
||||||
|
// pas.NotificationSchengen = pas.HasSchengenDetails;
|
||||||
|
|
||||||
|
Util.UIHelper.SetBusyState(); // dialog might reset busy state
|
||||||
|
}
|
||||||
|
|
||||||
|
bool mustPAX = newPasList.Count >= 12;
|
||||||
|
if (mustPAX)
|
||||||
|
{
|
||||||
|
foreach (PASD pasd in newPasList.Cast<PASD>())
|
||||||
|
pasd.NotificationPAX = mustPAX;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DBManager.Instance.DeleteAllPASForMessage(pasMessage.Id);
|
||||||
|
pasMessage.Elements.Clear();
|
||||||
|
foreach (PASD pas in newPasList.Cast<PASD>())
|
||||||
|
pasMessage.Elements.Add(pas);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -76,12 +76,12 @@ namespace ENI2.Excel
|
|||||||
this.WriteItineraries(bpol);
|
this.WriteItineraries(bpol);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Message.NotificationClass.CREW:
|
case Message.NotificationClass.CREWA:
|
||||||
this.WriteCREW(message, true, isRefSheet);
|
this.WriteCREW(message, true, isRefSheet);
|
||||||
break;
|
break;
|
||||||
//case Message.NotificationClass.CREWD: // XXX-TODO
|
case Message.NotificationClass.CREWD:
|
||||||
// this.WriteCREW(message, false, isRefSheet);
|
this.WriteCREW(message, false, isRefSheet);
|
||||||
// break;
|
break;
|
||||||
case Message.NotificationClass.HAZA:
|
case Message.NotificationClass.HAZA:
|
||||||
this.WriteHAZ(message, true);
|
this.WriteHAZ(message, true);
|
||||||
break;
|
break;
|
||||||
@ -111,12 +111,12 @@ namespace ENI2.Excel
|
|||||||
case Message.NotificationClass.NOA_NOD:
|
case Message.NotificationClass.NOA_NOD:
|
||||||
if (message.Elements[0] is NOA_NOD noa_nod) this.WriteNOA_NOD(noa_nod, core.IsTransit, isRefSheet);
|
if (message.Elements[0] is NOA_NOD noa_nod) this.WriteNOA_NOD(noa_nod, core.IsTransit, isRefSheet);
|
||||||
break;
|
break;
|
||||||
case Message.NotificationClass.PAS:
|
case Message.NotificationClass.PASA:
|
||||||
this.WritePAS(message, true, isRefSheet);
|
this.WritePAS(message, true, isRefSheet);
|
||||||
break;
|
break;
|
||||||
//case Message.NotificationClass.PASD: // XXX - TODO
|
case Message.NotificationClass.PASD:
|
||||||
// this.WritePAS(message, false, isRefSheet);
|
this.WritePAS(message, false, isRefSheet);
|
||||||
// break;
|
break;
|
||||||
case Message.NotificationClass.POBA:
|
case Message.NotificationClass.POBA:
|
||||||
if (message.Elements[0] is POBA poba) this.WriteMessage(poba);
|
if (message.Elements[0] is POBA poba) this.WriteMessage(poba);
|
||||||
break;
|
break;
|
||||||
@ -379,13 +379,11 @@ namespace ENI2.Excel
|
|||||||
private void WriteCREW(Message crewMessage, bool isArrival, bool isRefSheet)
|
private void WriteCREW(Message crewMessage, bool isArrival, bool isRefSheet)
|
||||||
{
|
{
|
||||||
|
|
||||||
/* XXX - TODO
|
|
||||||
if (crewMessage.Elements.Count > 0)
|
if (crewMessage.Elements.Count > 0)
|
||||||
{
|
{
|
||||||
WriteBoolean(string.Format("CREW{0}.NotificationSchengen", isArrival ? "" : "D"), ((CREW)crewMessage.Elements[0]).NotificationSchengen);
|
WriteBoolean(string.Format("CREW{0}.NotificationSchengen", isArrival ? "" : "D"), ((CREW)crewMessage.Elements[0]).NotificationSchengen);
|
||||||
WriteBoolean(string.Format("CREW{0}.NotificationPAX", isArrival ? "" : "D"), ((CREW)crewMessage.Elements[0]).NotificationPAX);
|
WriteBoolean(string.Format("CREW{0}.NotificationPAX", isArrival ? "" : "D"), ((CREW)crewMessage.Elements[0]).NotificationPAX);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
for(int i = 0; i<Math.Min(crewMessage.NumberOfExcelRows, crewMessage.Elements.Count); i++)
|
for(int i = 0; i<Math.Min(crewMessage.NumberOfExcelRows, crewMessage.Elements.Count); i++)
|
||||||
{
|
{
|
||||||
@ -795,13 +793,12 @@ namespace ENI2.Excel
|
|||||||
|
|
||||||
private void WritePAS(Message pasMessage, bool isArrival, bool isRefSheet)
|
private void WritePAS(Message pasMessage, bool isArrival, bool isRefSheet)
|
||||||
{
|
{
|
||||||
/* XXX - TODO
|
|
||||||
if(pasMessage.Elements.Count > 0)
|
if(pasMessage.Elements.Count > 0)
|
||||||
{
|
{
|
||||||
WriteBoolean(string.Format("PAS{0}.NotificationSchengen", isArrival ? "" : "D"), ((PAS)pasMessage.Elements[0]).NotificationSchengen);
|
WriteBoolean(string.Format("PAS{0}.NotificationSchengen", isArrival ? "" : "D"), ((PAS)pasMessage.Elements[0]).NotificationSchengen);
|
||||||
WriteBoolean(string.Format("PAS{0}.NotificationPAX", isArrival ? "" : "D"), ((PAS)pasMessage.Elements[0]).NotificationPAX);
|
WriteBoolean(string.Format("PAS{0}.NotificationPAX", isArrival ? "" : "D"), ((PAS)pasMessage.Elements[0]).NotificationPAX);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
for(int i = 0; i < Math.Min(pasMessage.NumberOfExcelRows, pasMessage.Elements.Count); i++)
|
for(int i = 0; i < Math.Min(pasMessage.NumberOfExcelRows, pasMessage.Elements.Count); i++)
|
||||||
{
|
{
|
||||||
|
|||||||
38
ENI2/Properties/Resources.Designer.cs
generated
38
ENI2/Properties/Resources.Designer.cs
generated
@ -19,7 +19,7 @@ namespace ENI2.Properties {
|
|||||||
// class via a tool like ResGen or Visual Studio.
|
// class via a tool like ResGen or Visual Studio.
|
||||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||||
// with the /str option, or rebuild your VS project.
|
// with the /str option, or rebuild your VS project.
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
public class Resources {
|
public class Resources {
|
||||||
@ -1649,6 +1649,24 @@ namespace ENI2.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Copy to CREWA.
|
||||||
|
/// </summary>
|
||||||
|
public static string textCopyToCREWA {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("textCopyToCREWA", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Copy to CREWD.
|
||||||
|
/// </summary>
|
||||||
|
public static string textCopyToCREWD {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("textCopyToCREWD", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Copy to HAZD.
|
/// Looks up a localized string similar to Copy to HAZD.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -1667,6 +1685,24 @@ namespace ENI2.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Copy to PASA.
|
||||||
|
/// </summary>
|
||||||
|
public static string textCopyToPASA {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("textCopyToPASA", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Copy to PASD.
|
||||||
|
/// </summary>
|
||||||
|
public static string textCopyToPASD {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("textCopyToPASD", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Do you want to copy / overwrite disposal amounts using values from WAS?.
|
/// Looks up a localized string similar to Do you want to copy / overwrite disposal amounts using values from WAS?.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -1888,4 +1888,16 @@
|
|||||||
<data name="textCopyToWASConfirmation" xml:space="preserve">
|
<data name="textCopyToWASConfirmation" xml:space="preserve">
|
||||||
<value>Do you want to copy / overwrite disposal amounts using values from WAS?</value>
|
<value>Do you want to copy / overwrite disposal amounts using values from WAS?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="textCopyToCREWA" xml:space="preserve">
|
||||||
|
<value>Copy to CREWA</value>
|
||||||
|
</data>
|
||||||
|
<data name="textCopyToCREWD" xml:space="preserve">
|
||||||
|
<value>Copy to CREWD</value>
|
||||||
|
</data>
|
||||||
|
<data name="textCopyToPASA" xml:space="preserve">
|
||||||
|
<value>Copy to PASA</value>
|
||||||
|
</data>
|
||||||
|
<data name="textCopyToPASD" xml:space="preserve">
|
||||||
|
<value>Copy to PASD</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@ -373,9 +373,9 @@ namespace ENI2.Report
|
|||||||
|
|
||||||
switch (message.MessageNotificationClass)
|
switch (message.MessageNotificationClass)
|
||||||
{
|
{
|
||||||
case Message.NotificationClass.CREW:
|
case Message.NotificationClass.CREWA:
|
||||||
case Message.NotificationClass.CREWD:
|
case Message.NotificationClass.CREWD:
|
||||||
case Message.NotificationClass.PAS:
|
case Message.NotificationClass.PASA:
|
||||||
case Message.NotificationClass.PASD:
|
case Message.NotificationClass.PASD:
|
||||||
case Message.NotificationClass.TOWA:
|
case Message.NotificationClass.TOWA:
|
||||||
case Message.NotificationClass.TOWD:
|
case Message.NotificationClass.TOWD:
|
||||||
@ -393,7 +393,14 @@ namespace ENI2.Report
|
|||||||
document.LastSection.AddPageBreak();
|
document.LastSection.AddPageBreak();
|
||||||
}
|
}
|
||||||
|
|
||||||
document.LastSection.AddParagraph(ReplaceTitle(messageParagraph.Title), "Heading2");
|
string title = messageParagraph.Title;
|
||||||
|
if (message.MessageNotificationClass == Message.NotificationClass.CREWA) title = "CREWA";
|
||||||
|
if (message.MessageNotificationClass == Message.NotificationClass.CREWD) title = "CREWD";
|
||||||
|
if (message.MessageNotificationClass == Message.NotificationClass.PASA) title = "PASA";
|
||||||
|
if (message.MessageNotificationClass == Message.NotificationClass.PASD) title = "PASD";
|
||||||
|
|
||||||
|
|
||||||
|
document.LastSection.AddParagraph(ReplaceTitle(title), "Heading2");
|
||||||
document.LastSection.AddParagraph(ReplaceTitle(messageParagraph.Subtitle), "Heading3");
|
document.LastSection.AddParagraph(ReplaceTitle(messageParagraph.Subtitle), "Heading3");
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -418,11 +425,11 @@ namespace ENI2.Report
|
|||||||
|
|
||||||
switch(message.MessageNotificationClass)
|
switch(message.MessageNotificationClass)
|
||||||
{
|
{
|
||||||
case Message.NotificationClass.CREW:
|
case Message.NotificationClass.CREWA:
|
||||||
case Message.NotificationClass.CREWD:
|
case Message.NotificationClass.CREWD:
|
||||||
CreateCrewTable(document, message);
|
CreateCrewTable(document, message);
|
||||||
return;
|
return;
|
||||||
case Message.NotificationClass.PAS:
|
case Message.NotificationClass.PASA:
|
||||||
case Message.NotificationClass.PASD:
|
case Message.NotificationClass.PASD:
|
||||||
CreatePassengerTable(document, message);
|
CreatePassengerTable(document, message);
|
||||||
return;
|
return;
|
||||||
@ -519,13 +526,27 @@ namespace ENI2.Report
|
|||||||
#region CREW
|
#region CREW
|
||||||
private static void CreateCrewTable(Document document, Message message)
|
private static void CreateCrewTable(Document document, Message message)
|
||||||
{
|
{
|
||||||
|
string textSchengen = "[ ] Schengen";
|
||||||
|
|
||||||
|
if(message.Elements.Count > 0)
|
||||||
|
{
|
||||||
|
CREW firstCREW = message.Elements[0] as CREW;
|
||||||
|
if(firstCREW.NotificationSchengen ?? false)
|
||||||
|
{
|
||||||
|
textSchengen = "[X] Schengen";
|
||||||
|
}
|
||||||
|
|
||||||
|
document.LastSection.AddParagraph(firstCREW.NotificationPAX ?? false ? "[X] PAX notification" : "[ ] PAX notification");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
Table table = AddGrayTable(document);
|
Table table = AddGrayTable(document);
|
||||||
table.Format.Font.Size = 9;
|
table.Format.Font.Size = 8;
|
||||||
|
|
||||||
|
// width: 25
|
||||||
|
|
||||||
Column column = table.AddColumn();
|
Column column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(1);
|
column.Width = Unit.FromCentimeter(0.75);
|
||||||
column = table.AddColumn();
|
|
||||||
column.Width = Unit.FromCentimeter(3);
|
|
||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(3);
|
column.Width = Unit.FromCentimeter(3);
|
||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
@ -533,17 +554,28 @@ namespace ENI2.Report
|
|||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(2.5);
|
column.Width = Unit.FromCentimeter(2.5);
|
||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
|
column.Width = Unit.FromCentimeter(2);
|
||||||
|
column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(1.5);
|
column.Width = Unit.FromCentimeter(1.5);
|
||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(1);
|
column.Width = Unit.FromCentimeter(0.75);
|
||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(2);
|
column.Width = Unit.FromCentimeter(2);
|
||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(3);
|
column.Width = Unit.FromCentimeter(2);
|
||||||
|
column = table.AddColumn();
|
||||||
|
column.Width = Unit.FromCentimeter(1.5);
|
||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(2);
|
column.Width = Unit.FromCentimeter(2);
|
||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(3);
|
column.Width = Unit.FromCentimeter(2);
|
||||||
|
column = table.AddColumn();
|
||||||
|
column.Width = Unit.FromCentimeter(2);
|
||||||
|
|
||||||
|
Row firstRow = table.AddRow();
|
||||||
|
firstRow.Cells[7].AddParagraph(textSchengen);
|
||||||
|
firstRow.Cells[7].Shading.Color = Colors.LightGray;
|
||||||
|
firstRow.Cells[7].MergeRight = 5;
|
||||||
|
|
||||||
Row hRow = table.AddRow();
|
Row hRow = table.AddRow();
|
||||||
hRow.Cells[1].AddParagraph("Last name");
|
hRow.Cells[1].AddParagraph("Last name");
|
||||||
@ -554,13 +586,16 @@ namespace ENI2.Report
|
|||||||
hRow.Cells[6].AddParagraph("Nat.");
|
hRow.Cells[6].AddParagraph("Nat.");
|
||||||
hRow.Cells[7].AddParagraph("Id doc. type");
|
hRow.Cells[7].AddParagraph("Id doc. type");
|
||||||
hRow.Cells[8].AddParagraph("Id doc. number");
|
hRow.Cells[8].AddParagraph("Id doc. number");
|
||||||
hRow.Cells[9].AddParagraph("Visa number");
|
hRow.Cells[9].AddParagraph("Iss. state");
|
||||||
hRow.Cells[10].AddParagraph("Duty");
|
hRow.Cells[10].AddParagraph("Exp. date");
|
||||||
|
hRow.Cells[11].AddParagraph("Visa number");
|
||||||
|
hRow.Cells[12].AddParagraph("Duty");
|
||||||
|
|
||||||
for (int i = 0; i < message.Elements.Count; i++)
|
for (int i = 0; i < message.Elements.Count; i++)
|
||||||
{
|
{
|
||||||
CREW crew = message.Elements[i] as CREW;
|
CREW crew = message.Elements[i] as CREW;
|
||||||
Row row = table.AddRow();
|
Row row = table.AddRow();
|
||||||
|
|
||||||
row.Cells[0].AddParagraph((i + 1).ToString());
|
row.Cells[0].AddParagraph((i + 1).ToString());
|
||||||
row.Cells[1].AddParagraph(crew.CrewMemberLastName ?? "");
|
row.Cells[1].AddParagraph(crew.CrewMemberLastName ?? "");
|
||||||
row.Cells[2].AddParagraph(crew.CrewMemberFirstName ?? "");
|
row.Cells[2].AddParagraph(crew.CrewMemberFirstName ?? "");
|
||||||
@ -570,8 +605,10 @@ namespace ENI2.Report
|
|||||||
row.Cells[6].AddParagraph(crew.CrewMemberNationality ?? "");
|
row.Cells[6].AddParagraph(crew.CrewMemberNationality ?? "");
|
||||||
row.Cells[7].AddParagraph(crew.CrewMemberIdentityDocumentTypeDisplay);
|
row.Cells[7].AddParagraph(crew.CrewMemberIdentityDocumentTypeDisplay);
|
||||||
row.Cells[8].AddParagraph(crew.CrewMemberIdentityDocumentId ?? "");
|
row.Cells[8].AddParagraph(crew.CrewMemberIdentityDocumentId ?? "");
|
||||||
row.Cells[9].AddParagraph(crew.CrewMemberVisaNumber ?? "");
|
row.Cells[9].AddParagraph(crew.CrewMemberIdentityDocumentIssuingState ?? "");
|
||||||
row.Cells[10].AddParagraph(crew.CrewMemberDuty ?? "");
|
row.Cells[10].AddParagraph(crew.CrewMemberIdentityDocumentExpiryDateDisplay ?? "");
|
||||||
|
row.Cells[11].AddParagraph(crew.CrewMemberVisaNumber ?? "");
|
||||||
|
row.Cells[12].AddParagraph(crew.CrewMemberDuty ?? "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@ -579,17 +616,36 @@ namespace ENI2.Report
|
|||||||
#region PAS
|
#region PAS
|
||||||
private static void CreatePassengerTable(Document document, Message message)
|
private static void CreatePassengerTable(Document document, Message message)
|
||||||
{
|
{
|
||||||
|
string textSchengen = "[ ] Schengen";
|
||||||
|
string textPAX = "[ ] PAX";
|
||||||
|
|
||||||
|
if (message.Elements.Count > 0)
|
||||||
|
{
|
||||||
|
PAS firstPAS = message.Elements[0] as PAS;
|
||||||
|
if (firstPAS.NotificationSchengen ?? false)
|
||||||
|
textSchengen = "[X] Schengen";
|
||||||
|
if (firstPAS.NotificationPAX ?? false)
|
||||||
|
textPAX = "[X] PAX";
|
||||||
|
}
|
||||||
|
|
||||||
Table table = AddGrayTable(document);
|
Table table = AddGrayTable(document);
|
||||||
table.Format.Font.Size = 9;
|
table.Format.Font.Size = 7;
|
||||||
|
|
||||||
|
|
||||||
Column column = table.AddColumn();
|
Column column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(0.8);
|
column.Width = Unit.FromCentimeter(0.8);
|
||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(3);
|
column.Width = Unit.FromCentimeter(2);
|
||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(3);
|
column.Width = Unit.FromCentimeter(2);
|
||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(3);
|
column.Width = Unit.FromCentimeter(2);
|
||||||
|
column = table.AddColumn();
|
||||||
|
column.Width = Unit.FromCentimeter(2);
|
||||||
|
column = table.AddColumn();
|
||||||
|
column.Width = Unit.FromCentimeter(1.2);
|
||||||
|
column = table.AddColumn();
|
||||||
|
column.Width = Unit.FromCentimeter(1);
|
||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(2);
|
column.Width = Unit.FromCentimeter(2);
|
||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
@ -599,15 +655,24 @@ namespace ENI2.Report
|
|||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(2);
|
column.Width = Unit.FromCentimeter(2);
|
||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(3);
|
column.Width = Unit.FromCentimeter(1.5);
|
||||||
column = table.AddColumn();
|
|
||||||
column.Width = Unit.FromCentimeter(1.8);
|
|
||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(1.5);
|
column.Width = Unit.FromCentimeter(1.5);
|
||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(1.5);
|
column.Width = Unit.FromCentimeter(1.5);
|
||||||
column = table.AddColumn();
|
column = table.AddColumn();
|
||||||
column.Width = Unit.FromCentimeter(0.5);
|
column.Width = Unit.FromCentimeter(0.5);
|
||||||
|
column = table.AddColumn();
|
||||||
|
column.Width = Unit.FromCentimeter(1.5);
|
||||||
|
column = table.AddColumn();
|
||||||
|
column.Width = Unit.FromCentimeter(1.5);
|
||||||
|
|
||||||
|
Row h1Row = table.AddRow();
|
||||||
|
h1Row.Cells[7].AddParagraph(textSchengen);
|
||||||
|
h1Row.Cells[7].MergeRight = 7;
|
||||||
|
h1Row.Cells[7].Shading.Color = Colors.LightGray;
|
||||||
|
h1Row.Cells[15].AddParagraph(textPAX);
|
||||||
|
h1Row.Cells[15].MergeRight = 1;
|
||||||
|
|
||||||
Row hRow = table.AddRow();
|
Row hRow = table.AddRow();
|
||||||
hRow.Cells[1].AddParagraph("Last name");
|
hRow.Cells[1].AddParagraph("Last name");
|
||||||
@ -618,10 +683,14 @@ namespace ENI2.Report
|
|||||||
hRow.Cells[6].AddParagraph("Nat.");
|
hRow.Cells[6].AddParagraph("Nat.");
|
||||||
hRow.Cells[7].AddParagraph("Id doc. type");
|
hRow.Cells[7].AddParagraph("Id doc. type");
|
||||||
hRow.Cells[8].AddParagraph("Id doc. number");
|
hRow.Cells[8].AddParagraph("Id doc. number");
|
||||||
hRow.Cells[9].AddParagraph("Visa number");
|
hRow.Cells[9].AddParagraph("Iss. state");
|
||||||
hRow.Cells[10].AddParagraph("Emb.");
|
hRow.Cells[10].AddParagraph("Exp. date");
|
||||||
hRow.Cells[11].AddParagraph("Disemb.");
|
hRow.Cells[11].AddParagraph("Visa number");
|
||||||
hRow.Cells[12].AddParagraph("T");
|
hRow.Cells[12].AddParagraph("Emb.");
|
||||||
|
hRow.Cells[13].AddParagraph("Disemb.");
|
||||||
|
hRow.Cells[14].AddParagraph("T");
|
||||||
|
hRow.Cells[15].AddParagraph("Em. care");
|
||||||
|
hRow.Cells[16].AddParagraph("Em. number");
|
||||||
|
|
||||||
for (int i = 0; i < message.Elements.Count; i++)
|
for (int i = 0; i < message.Elements.Count; i++)
|
||||||
{
|
{
|
||||||
@ -636,10 +705,14 @@ namespace ENI2.Report
|
|||||||
row.Cells[6].AddParagraph(pas.PassengerNationality ?? "");
|
row.Cells[6].AddParagraph(pas.PassengerNationality ?? "");
|
||||||
row.Cells[7].AddParagraph(pas.PassengerIdentityDocumentTypeDisplay);
|
row.Cells[7].AddParagraph(pas.PassengerIdentityDocumentTypeDisplay);
|
||||||
row.Cells[8].AddParagraph(pas.PassengerIdentityDocumentId ?? "");
|
row.Cells[8].AddParagraph(pas.PassengerIdentityDocumentId ?? "");
|
||||||
row.Cells[9].AddParagraph(pas.PassengerVisaNumber ?? "");
|
row.Cells[9].AddParagraph(pas.PassengerIdentityDocumentIssuingState ?? "");
|
||||||
row.Cells[10].AddParagraph(pas.PassengerPortOfEmbarkation ?? "");
|
row.Cells[10].AddParagraph(pas.PassengerIdentityDocumentExpiryDateDisplay);
|
||||||
row.Cells[11].AddParagraph(pas.PassengerPortOfDisembarkation ?? "");
|
row.Cells[11].AddParagraph(pas.PassengerVisaNumber ?? "");
|
||||||
row.Cells[12].AddParagraph(pas.PassengerInTransit ?? false ? "X" : "");
|
row.Cells[12].AddParagraph(pas.PassengerPortOfEmbarkation ?? "");
|
||||||
|
row.Cells[13].AddParagraph(pas.PassengerPortOfDisembarkation ?? "");
|
||||||
|
row.Cells[14].AddParagraph(pas.PassengerInTransit ?? false ? "X" : "");
|
||||||
|
row.Cells[15].AddParagraph(pas.EmergencyCare ?? "");
|
||||||
|
row.Cells[16].AddParagraph(pas.EmergencyContactNumber ?? "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@ -172,10 +172,10 @@ namespace ENI2.Util
|
|||||||
aMessage.ENINotificationDetailIndex = 9;
|
aMessage.ENINotificationDetailIndex = 9;
|
||||||
break;
|
break;
|
||||||
case Message.NotificationClass.BPOL:
|
case Message.NotificationClass.BPOL:
|
||||||
case Message.NotificationClass.CREW:
|
case Message.NotificationClass.CREWA:
|
||||||
case Message.NotificationClass.PAS:
|
case Message.NotificationClass.PASA:
|
||||||
//case Message.NotificationClass.CREWD: // XXX : TODO
|
case Message.NotificationClass.CREWD:
|
||||||
//case Message.NotificationClass.PASD:
|
case Message.NotificationClass.PASD:
|
||||||
aMessage.ENINotificationIconString = "../Resources/policeman_german.png";
|
aMessage.ENINotificationIconString = "../Resources/policeman_german.png";
|
||||||
aMessage.ENINotificationDetailGroup = Properties.Resources.textBorderPolice;
|
aMessage.ENINotificationDetailGroup = Properties.Resources.textBorderPolice;
|
||||||
aMessage.ENINotificationDetailIndex = 10;
|
aMessage.ENINotificationDetailIndex = 10;
|
||||||
|
|||||||
@ -146,14 +146,6 @@ namespace SendNSWMessageService
|
|||||||
// "Virtuelle" Meldeklassen (bisher: DK) werden hier nicht versendet!
|
// "Virtuelle" Meldeklassen (bisher: DK) werden hier nicht versendet!
|
||||||
if (message.MessageNotificationClass == Message.NotificationClass.STO) continue;
|
if (message.MessageNotificationClass == Message.NotificationClass.STO) continue;
|
||||||
|
|
||||||
// muss zum Go Live wieder einkommentiert werden, da CREWD und PASD vorerst nicht versendet werden
|
|
||||||
|
|
||||||
// XXX : TODO herausnehmen
|
|
||||||
if((message.MessageNotificationClass == Message.NotificationClass.CREWD) ||
|
|
||||||
(message.MessageNotificationClass == Message.NotificationClass.PASD))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
|
|
||||||
if ((message.MessageNotificationClass == Message.NotificationClass.VISIT) ||
|
if ((message.MessageNotificationClass == Message.NotificationClass.VISIT) ||
|
||||||
(message.MessageNotificationClass == Message.NotificationClass.TRANSIT))
|
(message.MessageNotificationClass == Message.NotificationClass.TRANSIT))
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@ -2332,6 +2332,7 @@ namespace bsmd.ExcelReadService
|
|||||||
crew.Identifier = (i + 1).ToString();
|
crew.Identifier = (i + 1).ToString();
|
||||||
crew.MessageHeader = crewMessage;
|
crew.MessageHeader = crewMessage;
|
||||||
crewMessage.Elements.Add(crew);
|
crewMessage.Elements.Add(crew);
|
||||||
|
crew.NotificationSchengen = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
crew.CrewMemberLastName = lastName;
|
crew.CrewMemberLastName = lastName;
|
||||||
@ -2359,8 +2360,10 @@ namespace bsmd.ExcelReadService
|
|||||||
}
|
}
|
||||||
|
|
||||||
// CREW DEPARTURE
|
// CREW DEPARTURE
|
||||||
crewMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.CREWD);
|
crewdMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.CREWD);
|
||||||
for (int i = 0; i < crewMessage.NumberOfExcelRows; i++)
|
crewdMessage.DeleteElements();
|
||||||
|
|
||||||
|
for (int i = 0; i < crewdMessage.NumberOfExcelRows; i++)
|
||||||
{
|
{
|
||||||
string crewLastName = string.Format("CREWD.CrewMemberLastName_{0}", i + 1);
|
string crewLastName = string.Format("CREWD.CrewMemberLastName_{0}", i + 1);
|
||||||
string crewFirstName = string.Format("CREWD.CrewMemberFirstName_{0}", i + 1);
|
string crewFirstName = string.Format("CREWD.CrewMemberFirstName_{0}", i + 1);
|
||||||
@ -2376,12 +2379,13 @@ namespace bsmd.ExcelReadService
|
|||||||
string lastName = reader.ReadText(crewLastName);
|
string lastName = reader.ReadText(crewLastName);
|
||||||
if (!lastName.IsNullOrEmpty())
|
if (!lastName.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
if (!(crewMessage.GetSublistElementWithIdentifier((i + 1).ToString()) is CREWD crew))
|
if (!(crewdMessage.GetSublistElementWithIdentifier((i + 1).ToString()) is CREWD crew))
|
||||||
{
|
{
|
||||||
crew = new CREWD();
|
crew = new CREWD();
|
||||||
crew.Identifier = (i + 1).ToString();
|
crew.Identifier = (i + 1).ToString();
|
||||||
crew.MessageHeader = crewMessage;
|
crew.MessageHeader = crewdMessage;
|
||||||
crewMessage.Elements.Add(crew);
|
crewdMessage.Elements.Add(crew);
|
||||||
|
crew.NotificationSchengen = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
crew.IsDeparture = true;
|
crew.IsDeparture = true;
|
||||||
@ -2472,6 +2476,8 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
// PASSENGER DEPARTURE
|
// PASSENGER DEPARTURE
|
||||||
pasMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.PASD);
|
pasMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.PASD);
|
||||||
|
pasMessage.DeleteElements();
|
||||||
|
|
||||||
for (int i = 0; i < pasMessage.NumberOfExcelRows; i++)
|
for (int i = 0; i < pasMessage.NumberOfExcelRows; i++)
|
||||||
{
|
{
|
||||||
string pasLastName = string.Format("PASD.PassengerLastName_{0}", i + 1);
|
string pasLastName = string.Format("PASD.PassengerLastName_{0}", i + 1);
|
||||||
@ -2496,6 +2502,7 @@ namespace bsmd.ExcelReadService
|
|||||||
pas.Identifier = (i + 1).ToString();
|
pas.Identifier = (i + 1).ToString();
|
||||||
pas.MessageHeader = pasMessage;
|
pas.MessageHeader = pasMessage;
|
||||||
pasMessage.Elements.Add(pas);
|
pasMessage.Elements.Add(pas);
|
||||||
|
pas.NotificationSchengen = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
pas.IsDeparture = true;
|
pas.IsDeparture = true;
|
||||||
|
|||||||
@ -270,7 +270,7 @@ namespace bsmd.dakosy
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Message.NotificationClass.CREW:
|
case Message.NotificationClass.CREWA:
|
||||||
{
|
{
|
||||||
if (aMessage.Elements.Count > 0)
|
if (aMessage.Elements.Count > 0)
|
||||||
{
|
{
|
||||||
@ -425,7 +425,7 @@ namespace bsmd.dakosy
|
|||||||
vList.Visit[0].NAME = new NAME();
|
vList.Visit[0].NAME = new NAME();
|
||||||
vList.Visit[0].NAME.NameOfMaster = name.NameOfMaster;
|
vList.Visit[0].NAME.NameOfMaster = name.NameOfMaster;
|
||||||
break;
|
break;
|
||||||
case Message.NotificationClass.PAS:
|
case Message.NotificationClass.PASA:
|
||||||
{
|
{
|
||||||
if (aMessage.Elements.Count > 0)
|
if (aMessage.Elements.Count > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -12,6 +12,8 @@
|
|||||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<TargetFrameworkProfile />
|
<TargetFrameworkProfile />
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
@ -50,6 +52,9 @@
|
|||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
<Reference Include="System.Data" />
|
<Reference Include="System.Data" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
|
<Reference Include="WinSCPnet, Version=1.14.0.13797, Culture=neutral, PublicKeyToken=2271ec4a3c56d0bf, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\WinSCP.6.1.2\lib\net40\WinSCPnet.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="..\bsmd.database\Properties\AssemblyProductInfo.cs">
|
<Compile Include="..\bsmd.database\Properties\AssemblyProductInfo.cs">
|
||||||
@ -88,6 +93,13 @@
|
|||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<Import Project="..\packages\WinSCP.6.1.2\build\WinSCP.targets" Condition="Exists('..\packages\WinSCP.6.1.2\build\WinSCP.targets')" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('..\packages\WinSCP.6.1.2\build\WinSCP.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\WinSCP.6.1.2\build\WinSCP.targets'))" />
|
||||||
|
</Target>
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
<Target Name="BeforeBuild">
|
<Target Name="BeforeBuild">
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="log4net" version="2.0.15" targetFramework="net48" />
|
<package id="log4net" version="2.0.15" targetFramework="net48" />
|
||||||
|
<package id="WinSCP" version="6.1.2" targetFramework="net48" />
|
||||||
</packages>
|
</packages>
|
||||||
@ -10,6 +10,10 @@
|
|||||||
using log4net;
|
using log4net;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
|
using WinSCP;
|
||||||
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace bsmd.dakosy
|
namespace bsmd.dakosy
|
||||||
{
|
{
|
||||||
@ -107,16 +111,102 @@ namespace bsmd.dakosy
|
|||||||
winscp.StartInfo.RedirectStandardOutput = true;
|
winscp.StartInfo.RedirectStandardOutput = true;
|
||||||
winscp.StartInfo.RedirectStandardError = true;
|
winscp.StartInfo.RedirectStandardError = true;
|
||||||
winscp.StartInfo.CreateNoWindow = true;
|
winscp.StartInfo.CreateNoWindow = true;
|
||||||
winscp.EnableRaisingEvents = true;
|
//winscp.EnableRaisingEvents = true;
|
||||||
winscp.OutputDataReceived += (s, e) => { if (!e.Data.IsNullOrEmpty()) _log.Debug(e.Data); };
|
//winscp.OutputDataReceived += (s, e) => { if (!e.Data.IsNullOrEmpty()) _log.Debug(e.Data); };
|
||||||
winscp.ErrorDataReceived += (s, e) => { if (!e.Data.IsNullOrEmpty()) _log.Warn(e.Data); };
|
//winscp.ErrorDataReceived += (s, e) => { if (!e.Data.IsNullOrEmpty()) _log.Warn(e.Data); };
|
||||||
winscp.Start();
|
winscp.Start();
|
||||||
winscp.BeginErrorReadLine();
|
//winscp.BeginErrorReadLine();
|
||||||
winscp.BeginOutputReadLine();
|
//winscp.BeginOutputReadLine();
|
||||||
|
|
||||||
return winscp;
|
return winscp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void TransmitAllFiles(string remoteDir, string localDir, string host, string user, string keyPath, string hostkey)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
SessionOptions sessionOptions = new SessionOptions();
|
||||||
|
|
||||||
|
sessionOptions.Protocol = Protocol.Sftp;
|
||||||
|
sessionOptions.HostName = host;
|
||||||
|
sessionOptions.UserName = user;
|
||||||
|
sessionOptions.SshPrivateKeyPath = keyPath;
|
||||||
|
sessionOptions.SshHostKeyFingerprint = hostkey;
|
||||||
|
|
||||||
|
using (Session session = new Session())
|
||||||
|
{
|
||||||
|
session.Open(sessionOptions);
|
||||||
|
|
||||||
|
// upload
|
||||||
|
TransferOptions transferOptions = new TransferOptions();
|
||||||
|
transferOptions.TransferMode = TransferMode.Binary;
|
||||||
|
|
||||||
|
TransferOperationResult transferResult = session.PutFiles(localDir, remoteDir, false, transferOptions);
|
||||||
|
|
||||||
|
transferResult.Check();
|
||||||
|
|
||||||
|
foreach(TransferEventArgs tea in transferResult.Transfers.Cast<TransferEventArgs>())
|
||||||
|
{
|
||||||
|
_log.InfoFormat("Upload of {0} successful", tea.FileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch(Exception e)
|
||||||
|
{
|
||||||
|
_log.Error(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ReceiveAllFiles(string remoteDir, string localDir, string host, string user, string keyPath, string hostkey)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
SessionOptions sessionOptions = new SessionOptions();
|
||||||
|
|
||||||
|
sessionOptions.Protocol = Protocol.Sftp;
|
||||||
|
sessionOptions.HostName = host;
|
||||||
|
sessionOptions.UserName = user;
|
||||||
|
sessionOptions.SshPrivateKeyPath = keyPath;
|
||||||
|
sessionOptions.SshHostKeyFingerprint = hostkey;
|
||||||
|
|
||||||
|
using (Session session = new Session())
|
||||||
|
{
|
||||||
|
session.Open(sessionOptions);
|
||||||
|
|
||||||
|
// upload
|
||||||
|
TransferOptions transferOptions = new TransferOptions();
|
||||||
|
transferOptions.TransferMode = TransferMode.Binary;
|
||||||
|
|
||||||
|
TransferOperationResult transferResult = session.GetFiles(remoteDir, localDir, false, transferOptions);
|
||||||
|
transferResult.Check();
|
||||||
|
|
||||||
|
foreach (TransferEventArgs tea in transferResult.Transfers.Cast<TransferEventArgs>())
|
||||||
|
{
|
||||||
|
_log.InfoFormat("Download of {0} successful", tea.FileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (transferResult.Transfers.Count > 0)
|
||||||
|
{
|
||||||
|
RemovalOperationResult removalResult = session.RemoveFiles(remoteDir + "/*.*");
|
||||||
|
if ((removalResult.IsSuccess) && (removalResult.Removals.Count > 0))
|
||||||
|
{
|
||||||
|
_log.InfoFormat("Removed {0} downloaded files on remote host", removalResult.Removals);
|
||||||
|
}
|
||||||
|
if (!removalResult.IsSuccess)
|
||||||
|
{
|
||||||
|
_log.WarnFormat("RemoveFiles was not successful, {0} failures", removalResult.Failures.Count);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_log.Error(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void TransmitAll(string remoteDir, string localDir, Direction direction, string openCommand)
|
public static void TransmitAll(string remoteDir, string localDir, Direction direction, string openCommand)
|
||||||
{
|
{
|
||||||
Process winscp = StartWinSCPProcess();
|
Process winscp = StartWinSCPProcess();
|
||||||
@ -135,8 +225,18 @@ namespace bsmd.dakosy
|
|||||||
winscp.StandardInput.WriteLine("put *.xml");
|
winscp.StandardInput.WriteLine("put *.xml");
|
||||||
winscp.StandardInput.Close();
|
winscp.StandardInput.Close();
|
||||||
|
|
||||||
|
// Collect all output
|
||||||
|
string output = winscp.StandardOutput.ReadToEnd();
|
||||||
|
_log.Debug(output);
|
||||||
|
output = winscp.StandardError.ReadToEnd();
|
||||||
|
if (!output.Trim().IsNullOrEmpty())
|
||||||
|
_log.Warn(output);
|
||||||
// Wait until WinSCP finishes
|
// Wait until WinSCP finishes
|
||||||
winscp.WaitForExit();
|
winscp.WaitForExit();
|
||||||
|
if(winscp.ExitCode != 0)
|
||||||
|
{
|
||||||
|
_log.Warn("WinSCP exited with an error");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void RemoveProcessedFile(string remoteDir, string filename, string openCommand)
|
public static void RemoveProcessedFile(string remoteDir, string filename, string openCommand)
|
||||||
|
|||||||
@ -11,6 +11,7 @@ using System;
|
|||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Data.SqlClient;
|
using System.Data.SqlClient;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace bsmd.database
|
namespace bsmd.database
|
||||||
{
|
{
|
||||||
@ -48,9 +49,9 @@ namespace bsmd.database
|
|||||||
[ENI2Validation]
|
[ENI2Validation]
|
||||||
public string CrewMemberPlaceOfBirth { get; set; }
|
public string CrewMemberPlaceOfBirth { get; set; }
|
||||||
|
|
||||||
// [Validation(ValidationCode.FLAG_CODE)]
|
[Validation(ValidationCode.FLAG_CODE)]
|
||||||
[MaxLength(2)]
|
[MaxLength(2)]
|
||||||
[ENI2Validation] // XXX - TODO
|
[ENI2Validation]
|
||||||
public string CrewMemberCountryOfBirth { get; set; }
|
public string CrewMemberCountryOfBirth { get; set; }
|
||||||
|
|
||||||
[Validation(ValidationCode.NOT_NULL)]
|
[Validation(ValidationCode.NOT_NULL)]
|
||||||
@ -122,12 +123,22 @@ namespace bsmd.database
|
|||||||
[ENI2Validation]
|
[ENI2Validation]
|
||||||
public string CrewMemberIdentityDocumentIssuingState { get; set; }
|
public string CrewMemberIdentityDocumentIssuingState { get; set; }
|
||||||
|
|
||||||
[ShowReport]
|
|
||||||
[ReportDisplayName("Expiry date")]
|
|
||||||
[Validation(ValidationCode.PAST_DATE)]
|
[Validation(ValidationCode.PAST_DATE)]
|
||||||
[ENI2Validation]
|
[ENI2Validation]
|
||||||
public DateTime? CrewMemberIdentityDocumentExpiryDate { get; set; }
|
public DateTime? CrewMemberIdentityDocumentExpiryDate { get; set; }
|
||||||
|
|
||||||
|
[ShowReport]
|
||||||
|
[ReportDisplayName("Doc. Expiry date")]
|
||||||
|
public string CrewMemberIdentityDocumentExpiryDateDisplay
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (CrewMemberIdentityDocumentExpiryDate.HasValue)
|
||||||
|
return this.CrewMemberIdentityDocumentExpiryDate.Value.ToShortDateString();
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[ENI2Validation]
|
[ENI2Validation]
|
||||||
[MaxLength(256)]
|
[MaxLength(256)]
|
||||||
public string Effects { get; set; }
|
public string Effects { get; set; }
|
||||||
@ -145,7 +156,7 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return CrewMemberIdentityDocumentType.HasValue && !CrewMemberIdentityDocumentId.IsNullOrEmpty() && CrewMemberIdentityDocumentExpiryDate.HasValue;
|
return CrewMemberIdentityDocumentType.HasValue && !CrewMemberIdentityDocumentId.IsNullOrEmpty() && !CrewMemberIdentityDocumentIssuingState.IsNullOrEmpty() && CrewMemberIdentityDocumentExpiryDate.HasValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -272,6 +283,8 @@ namespace bsmd.database
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override string Title => "CREWA";
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Validation
|
#region Validation
|
||||||
@ -281,41 +294,53 @@ namespace bsmd.database
|
|||||||
if (this.CrewMemberIdentityDocumentType.HasValue)
|
if (this.CrewMemberIdentityDocumentType.HasValue)
|
||||||
{
|
{
|
||||||
if (this.CrewMemberIdentityDocumentType.Value == 5)
|
if (this.CrewMemberIdentityDocumentType.Value == 5)
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Doc. type set to OTHER_LEGAL_IDENTITY_DOCUMENT", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Doc. type set to OTHER_LEGAL_IDENTITY_DOCUMENT", null, this.Title, this.Identifier, this.IsDeparture ? "CREWD" : "CREWA"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.CrewMemberIdentityDocumentIssuingState != null)
|
if (this.CrewMemberIdentityDocumentIssuingState != null)
|
||||||
{
|
{
|
||||||
if (this.CrewMemberIdentityDocumentIssuingState.Equals("XX"))
|
if (this.CrewMemberIdentityDocumentIssuingState.Equals("XX"))
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Id. doc issuing state set to XX", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Id. doc issuing state set to XX", null, this.Title, this.Identifier, this.IsDeparture ? "CREWD" : "CREWA"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.CrewMemberNationality != null)
|
if (this.CrewMemberNationality != null)
|
||||||
{
|
{
|
||||||
if (this.CrewMemberNationality.Equals("XX"))
|
if (this.CrewMemberNationality.Equals("XX"))
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Nationality set to XX", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Nationality set to XX", null, this.Title, this.Identifier, this.IsDeparture ? "CREWD" : "CREWA"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.CrewMemberIdentityDocumentExpiryDate.HasValue)
|
if (this.CrewMemberIdentityDocumentExpiryDate.HasValue)
|
||||||
{
|
{
|
||||||
if (this.CrewMemberIdentityDocumentExpiryDate.Equals(new DateTime(2100, 12, 31)))
|
if (this.CrewMemberIdentityDocumentExpiryDate.Equals(new DateTime(2100, 12, 31)))
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Id doc expiry date set to 31/12/2100", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Id doc expiry date set to 31/12/2100", null, this.Title, this.Identifier, this.IsDeparture ? "CREWD" : "CREWA"));
|
||||||
|
|
||||||
if ((this.CrewMemberIdentityDocumentExpiryDate >= CLAMPMAXDATE) || (this.CrewMemberIdentityDocumentExpiryDate <= CLAMPMINDATE))
|
if ((this.CrewMemberIdentityDocumentExpiryDate >= CLAMPMAXDATE) || (this.CrewMemberIdentityDocumentExpiryDate <= CLAMPMINDATE))
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Check id doc expiry date", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Check id doc expiry date", null, this.Title, this.Identifier, this.IsDeparture ? "CREWD" : "CREWA"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.CrewMemberGender.HasValue)
|
if (this.CrewMemberGender.HasValue)
|
||||||
{
|
{
|
||||||
if (this.CrewMemberGender == 0)
|
if (this.CrewMemberGender == 0)
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Gender set to unknown", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Gender set to unknown", null, this.Title, this.Identifier, this.IsDeparture ? "CREWD" : "CREWA"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.CrewMemberDateOfBirth.HasValue && (this.CrewMemberDateOfBirth.Value > DateTime.Today))
|
if (this.CrewMemberDateOfBirth.HasValue && (this.CrewMemberDateOfBirth.Value > DateTime.Today))
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.TIME_IMPLAUSIBLE, "Date of birth is in the future", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.TIME_IMPLAUSIBLE, "Date of birth is in the future", null, this.Title, this.Identifier, this.IsDeparture ? "CREWD" : "CREWA"));
|
||||||
|
|
||||||
if (this.CrewMemberDateOfBirth.HasValue && (this.CrewMemberDateOfBirth.Value <= CLAMPMINDATE))
|
if (this.CrewMemberDateOfBirth.HasValue && (this.CrewMemberDateOfBirth.Value <= CLAMPMINDATE))
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.TIME_IMPLAUSIBLE, "Check date of birth", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.TIME_IMPLAUSIBLE, "Check date of birth", null, this.Title, this.Identifier, this.IsDeparture ? "CREWD" : "CREWA"));
|
||||||
|
|
||||||
|
// NSW 7.2 rules
|
||||||
|
|
||||||
|
if((this.NotificationSchengen ?? false) && (!this.HasSchengenDetails))
|
||||||
|
{
|
||||||
|
errors.Add(RuleEngine.CreateError(ValidationCode.V182, "Schengen flag set but no data", null, this.Title, null, this.IsDeparture ? "CREWD" : "CREWA"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(this.NotificationSchengen ?? false) && (this.HasSchengenDetails))
|
||||||
|
{
|
||||||
|
errors.Add(RuleEngine.CreateError(ValidationCode.V182, "Schengen data given but flag not set", null, this.Title, null, this.IsDeparture ? "CREWD" : "CREWA"));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -347,7 +372,7 @@ namespace bsmd.database
|
|||||||
result.Columns.Add(new DataColumn { ColumnName = "CrewMemberCountryOfBirth", DataType = typeof(string), AllowDBNull = true });
|
result.Columns.Add(new DataColumn { ColumnName = "CrewMemberCountryOfBirth", DataType = typeof(string), AllowDBNull = true });
|
||||||
result.Columns.Add(new DataColumn { ColumnName = "Effects", DataType = typeof(string), AllowDBNull = true });
|
result.Columns.Add(new DataColumn { ColumnName = "Effects", DataType = typeof(string), AllowDBNull = true });
|
||||||
|
|
||||||
foreach (CREW crew in databaseEntities)
|
foreach (CREW crew in databaseEntities.Cast<CREW>())
|
||||||
{
|
{
|
||||||
DataRow row = result.NewRow();
|
DataRow row = result.NewRow();
|
||||||
row[0] = crew.MessageHeader.Id;
|
row[0] = crew.MessageHeader.Id;
|
||||||
@ -356,14 +381,20 @@ namespace bsmd.database
|
|||||||
row[3] = crew.CrewMemberPlaceOfBirth ?? (object)DBNull.Value;
|
row[3] = crew.CrewMemberPlaceOfBirth ?? (object)DBNull.Value;
|
||||||
row[4] = crew.CrewMemberDateOfBirth ?? (object)DBNull.Value;
|
row[4] = crew.CrewMemberDateOfBirth ?? (object)DBNull.Value;
|
||||||
row[5] = crew.CrewMemberGender ?? (object)DBNull.Value;
|
row[5] = crew.CrewMemberGender ?? (object)DBNull.Value;
|
||||||
row[6] = crew.CrewMemberNationality?.Substring(0,2) ?? (object)DBNull.Value;
|
if (crew.CrewMemberNationality?.Length == 2)
|
||||||
|
row[6] = crew.CrewMemberNationality;
|
||||||
|
else
|
||||||
|
row[6] = DBNull.Value;
|
||||||
row[7] = crew.CrewMemberIdentityDocumentType ?? (object)DBNull.Value;
|
row[7] = crew.CrewMemberIdentityDocumentType ?? (object)DBNull.Value;
|
||||||
row[8] = crew.CrewMemberIdentityDocumentId ?? (object)DBNull.Value;
|
row[8] = crew.CrewMemberIdentityDocumentId ?? (object)DBNull.Value;
|
||||||
row[9] = crew.CrewMemberVisaNumber ?? (object)DBNull.Value;
|
row[9] = crew.CrewMemberVisaNumber ?? (object)DBNull.Value;
|
||||||
row[10] = crew.CrewMemberDuty ?? (object)DBNull.Value;
|
row[10] = crew.CrewMemberDuty ?? (object)DBNull.Value;
|
||||||
row[11] = crew.Identifier ?? (object)DBNull.Value;
|
row[11] = crew.Identifier ?? (object)DBNull.Value;
|
||||||
row[12] = crew.IsDeparture;
|
row[12] = crew.IsDeparture;
|
||||||
row[13] = crew.CrewMemberIdentityDocumentIssuingState?.Substring(0,2) ?? (object)DBNull.Value;
|
if (crew.CrewMemberIdentityDocumentIssuingState?.Length == 2)
|
||||||
|
row[13] = crew.CrewMemberIdentityDocumentIssuingState;
|
||||||
|
else
|
||||||
|
row[13] = DBNull.Value;
|
||||||
row[14] = crew.CrewMemberIdentityDocumentExpiryDate ?? (object)DBNull.Value;
|
row[14] = crew.CrewMemberIdentityDocumentExpiryDate ?? (object)DBNull.Value;
|
||||||
row[15] = crew.NotificationSchengen ?? (object)DBNull.Value;
|
row[15] = crew.NotificationSchengen ?? (object)DBNull.Value;
|
||||||
row[16] = crew.NotificationPAX ?? (object)DBNull.Value;
|
row[16] = crew.NotificationPAX ?? (object)DBNull.Value;
|
||||||
@ -403,6 +434,31 @@ namespace bsmd.database
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region public copy func
|
||||||
|
|
||||||
|
public void CopyFromCREW(CREW crew)
|
||||||
|
{
|
||||||
|
if (crew == null) return;
|
||||||
|
this.CrewMemberLastName = crew.CrewMemberLastName;
|
||||||
|
this.CrewMemberFirstName = crew.CrewMemberFirstName;
|
||||||
|
this.CrewMemberPlaceOfBirth = crew.CrewMemberPlaceOfBirth;
|
||||||
|
this.CrewMemberCountryOfBirth = crew.CrewMemberCountryOfBirth;
|
||||||
|
this.CrewMemberDateOfBirth = crew.CrewMemberDateOfBirth;
|
||||||
|
this.CrewMemberGender = crew.CrewMemberGender;
|
||||||
|
this.CrewMemberNationality = crew.CrewMemberNationality;
|
||||||
|
this.CrewMemberIdentityDocumentType = crew.CrewMemberIdentityDocumentType;
|
||||||
|
this.CrewMemberIdentityDocumentId = crew.CrewMemberIdentityDocumentId;
|
||||||
|
this.CrewMemberVisaNumber = crew.CrewMemberVisaNumber;
|
||||||
|
this.CrewMemberDuty = crew.CrewMemberDuty;
|
||||||
|
this.CrewMemberIdentityDocumentIssuingState = crew.CrewMemberIdentityDocumentIssuingState;
|
||||||
|
this.CrewMemberIdentityDocumentExpiryDate = crew.CrewMemberIdentityDocumentExpiryDate;
|
||||||
|
this.Effects = crew.Effects;
|
||||||
|
this.NotificationPAX = crew.NotificationPAX;
|
||||||
|
this.NotificationSchengen = crew.NotificationSchengen;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#region CREWD
|
#region CREWD
|
||||||
@ -434,6 +490,8 @@ namespace bsmd.database
|
|||||||
cmd.CommandText = query;
|
cmd.CommandText = query;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override string Title => "CREWD";
|
||||||
|
|
||||||
public override List<DatabaseEntity> LoadList(System.Data.IDataReader reader)
|
public override List<DatabaseEntity> LoadList(System.Data.IDataReader reader)
|
||||||
{
|
{
|
||||||
List<DatabaseEntity> result = new List<DatabaseEntity>();
|
List<DatabaseEntity> result = new List<DatabaseEntity>();
|
||||||
|
|||||||
@ -17,6 +17,7 @@ using log4net;
|
|||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace bsmd.database
|
namespace bsmd.database
|
||||||
{
|
{
|
||||||
@ -142,7 +143,7 @@ namespace bsmd.database
|
|||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> cores = aMessageCore.LoadList(reader);
|
List<DatabaseEntity> cores = aMessageCore.LoadList(reader);
|
||||||
List<MessageCore> result = new List<MessageCore>();
|
List<MessageCore> result = new List<MessageCore>();
|
||||||
foreach (MessageCore core in cores)
|
foreach (MessageCore core in cores.Cast<MessageCore>())
|
||||||
{
|
{
|
||||||
this.LoadCustomer(core);
|
this.LoadCustomer(core);
|
||||||
result.Add(core);
|
result.Add(core);
|
||||||
@ -162,7 +163,7 @@ namespace bsmd.database
|
|||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> cores = aMessageCore.LoadList(reader);
|
List<DatabaseEntity> cores = aMessageCore.LoadList(reader);
|
||||||
List<MessageCore> result = new List<MessageCore>();
|
List<MessageCore> result = new List<MessageCore>();
|
||||||
foreach (MessageCore core in cores)
|
foreach (MessageCore core in cores.Cast<MessageCore>())
|
||||||
{
|
{
|
||||||
this.LoadCustomer(core);
|
this.LoadCustomer(core);
|
||||||
result.Add(core);
|
result.Add(core);
|
||||||
@ -182,7 +183,7 @@ namespace bsmd.database
|
|||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> cores = aMessageCore.LoadList(reader);
|
List<DatabaseEntity> cores = aMessageCore.LoadList(reader);
|
||||||
List<MessageCore> result = new List<MessageCore>();
|
List<MessageCore> result = new List<MessageCore>();
|
||||||
foreach (MessageCore core in cores)
|
foreach (MessageCore core in cores.Cast<MessageCore>())
|
||||||
{
|
{
|
||||||
|
|
||||||
this.LoadCustomer(core);
|
this.LoadCustomer(core);
|
||||||
@ -204,7 +205,7 @@ namespace bsmd.database
|
|||||||
ih.PrepareLoadCommand(cmd, Message.LoadFilter.BY_CORE, messageCoreId);
|
ih.PrepareLoadCommand(cmd, Message.LoadFilter.BY_CORE, messageCoreId);
|
||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<ImportHeader> result = new List<ImportHeader>();
|
List<ImportHeader> result = new List<ImportHeader>();
|
||||||
foreach (ImportHeader existingHeader in ih.LoadList(reader))
|
foreach (ImportHeader existingHeader in ih.LoadList(reader).Cast<ImportHeader>())
|
||||||
result.Add(existingHeader);
|
result.Add(existingHeader);
|
||||||
|
|
||||||
if (this._closeConnectionAfterUse) this.Disconnect();
|
if (this._closeConnectionAfterUse) this.Disconnect();
|
||||||
@ -219,7 +220,7 @@ namespace bsmd.database
|
|||||||
iv.PrepareLoadCommand(cmd, Message.LoadFilter.IMPORTHEADER_ID, importHeader.Id.Value);
|
iv.PrepareLoadCommand(cmd, Message.LoadFilter.IMPORTHEADER_ID, importHeader.Id.Value);
|
||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<ImportValue> result = new List<ImportValue>();
|
List<ImportValue> result = new List<ImportValue>();
|
||||||
foreach (ImportValue existingValue in iv.LoadList(reader))
|
foreach (ImportValue existingValue in iv.LoadList(reader).Cast<ImportValue>())
|
||||||
result.Add(existingValue);
|
result.Add(existingValue);
|
||||||
|
|
||||||
if (this._closeConnectionAfterUse) this.Disconnect();
|
if (this._closeConnectionAfterUse) this.Disconnect();
|
||||||
@ -239,7 +240,7 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
List<DatabaseEntity> cores = aMessageCore.LoadList(reader);
|
List<DatabaseEntity> cores = aMessageCore.LoadList(reader);
|
||||||
|
|
||||||
foreach (MessageCore core in cores)
|
foreach (MessageCore core in cores.Cast<MessageCore>())
|
||||||
{
|
{
|
||||||
this.LoadCustomer(core);
|
this.LoadCustomer(core);
|
||||||
result.Add(core);
|
result.Add(core);
|
||||||
@ -261,7 +262,7 @@ namespace bsmd.database
|
|||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
if (reader != null)
|
if (reader != null)
|
||||||
{
|
{
|
||||||
foreach (MessageCore core in aMessageCore.LoadList(reader))
|
foreach (MessageCore core in aMessageCore.LoadList(reader).Cast<MessageCore>())
|
||||||
result.Add(core);
|
result.Add(core);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
@ -292,7 +293,7 @@ namespace bsmd.database
|
|||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> cores = aMessageCore.LoadList(reader);
|
List<DatabaseEntity> cores = aMessageCore.LoadList(reader);
|
||||||
List<MessageCore> result = new List<MessageCore>();
|
List<MessageCore> result = new List<MessageCore>();
|
||||||
foreach (MessageCore core in cores)
|
foreach (MessageCore core in cores.Cast<MessageCore>())
|
||||||
{
|
{
|
||||||
this.LoadCustomer(core);
|
this.LoadCustomer(core);
|
||||||
this.LoadSTATShipName(core);
|
this.LoadSTATShipName(core);
|
||||||
@ -355,7 +356,7 @@ namespace bsmd.database
|
|||||||
List<DatabaseEntity> messages = aMessage.LoadList(reader);
|
List<DatabaseEntity> messages = aMessage.LoadList(reader);
|
||||||
|
|
||||||
List<Message> messageList = new List<Message>();
|
List<Message> messageList = new List<Message>();
|
||||||
foreach (Message message in messages)
|
foreach (Message message in messages.Cast<Message>())
|
||||||
{
|
{
|
||||||
message.MessageCore = core;
|
message.MessageCore = core;
|
||||||
messageList.Add(message);
|
messageList.Add(message);
|
||||||
@ -413,7 +414,7 @@ namespace bsmd.database
|
|||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> reportingParties = aRep.LoadList(reader);
|
List<DatabaseEntity> reportingParties = aRep.LoadList(reader);
|
||||||
DBManager.allReportingParties = new Dictionary<Guid, ReportingParty>();
|
DBManager.allReportingParties = new Dictionary<Guid, ReportingParty>();
|
||||||
foreach (ReportingParty rp in reportingParties)
|
foreach (ReportingParty rp in reportingParties.Cast<ReportingParty>())
|
||||||
DBManager.allReportingParties.Add(rp.Id.Value, rp);
|
DBManager.allReportingParties.Add(rp.Id.Value, rp);
|
||||||
}
|
}
|
||||||
return DBManager.allReportingParties;
|
return DBManager.allReportingParties;
|
||||||
@ -427,7 +428,7 @@ namespace bsmd.database
|
|||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> allRules = vr.LoadList(reader);
|
List<DatabaseEntity> allRules = vr.LoadList(reader);
|
||||||
List<ValidationRule> result = new List<ValidationRule>();
|
List<ValidationRule> result = new List<ValidationRule>();
|
||||||
foreach (ValidationRule aVR in allRules)
|
foreach (ValidationRule aVR in allRules.Cast<ValidationRule>())
|
||||||
result.Add(aVR);
|
result.Add(aVR);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -443,7 +444,7 @@ namespace bsmd.database
|
|||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> portAreas = pa.LoadList(reader);
|
List<DatabaseEntity> portAreas = pa.LoadList(reader);
|
||||||
DBManager.allPortAreas = new Dictionary<string, PortArea>();
|
DBManager.allPortAreas = new Dictionary<string, PortArea>();
|
||||||
foreach (PortArea aPa in portAreas)
|
foreach (PortArea aPa in portAreas.Cast<PortArea>())
|
||||||
DBManager.allPortAreas[aPa.Code] = aPa; // TODO da gibt es doppelte Einträge
|
DBManager.allPortAreas[aPa.Code] = aPa; // TODO da gibt es doppelte Einträge
|
||||||
}
|
}
|
||||||
return DBManager.allPortAreas;
|
return DBManager.allPortAreas;
|
||||||
@ -460,7 +461,7 @@ namespace bsmd.database
|
|||||||
List<DatabaseEntity> messages = aMessage.LoadList(reader);
|
List<DatabaseEntity> messages = aMessage.LoadList(reader);
|
||||||
|
|
||||||
List<Message> messageList = new List<Message>();
|
List<Message> messageList = new List<Message>();
|
||||||
foreach (Message message in messages)
|
foreach (Message message in messages.Cast<Message>())
|
||||||
messageList.Add(message);
|
messageList.Add(message);
|
||||||
|
|
||||||
if (messageList.Count == 0) return null;
|
if (messageList.Count == 0) return null;
|
||||||
@ -483,7 +484,7 @@ namespace bsmd.database
|
|||||||
List<DatabaseEntity> messages = aMessage.LoadList(reader);
|
List<DatabaseEntity> messages = aMessage.LoadList(reader);
|
||||||
|
|
||||||
List<Message> messageList = new List<Message>();
|
List<Message> messageList = new List<Message>();
|
||||||
foreach (Message message in messages)
|
foreach (Message message in messages.Cast<Message>())
|
||||||
messageList.Add(message);
|
messageList.Add(message);
|
||||||
|
|
||||||
if (messageList.Count == 0) return null;
|
if (messageList.Count == 0) return null;
|
||||||
@ -756,7 +757,7 @@ namespace bsmd.database
|
|||||||
agnt_template.PrepareLoadCommand(cmd, Message.LoadFilter.ALL);
|
agnt_template.PrepareLoadCommand(cmd, Message.LoadFilter.ALL);
|
||||||
IDataReader reader = this.PerformCommand(cmd);
|
IDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> a_list = agnt_template.LoadList(reader);
|
List<DatabaseEntity> a_list = agnt_template.LoadList(reader);
|
||||||
foreach (AGNT_Template aTemplate in a_list)
|
foreach (AGNT_Template aTemplate in a_list.Cast<AGNT_Template>())
|
||||||
result.Add(aTemplate);
|
result.Add(aTemplate);
|
||||||
reader.Close();
|
reader.Close();
|
||||||
}
|
}
|
||||||
@ -1002,8 +1003,8 @@ namespace bsmd.database
|
|||||||
case Message.NotificationClass.PRE72H: result = new PRE72H(); break;
|
case Message.NotificationClass.PRE72H: result = new PRE72H(); break;
|
||||||
case Message.NotificationClass.MDH: result = new MDH(); break;
|
case Message.NotificationClass.MDH: result = new MDH(); break;
|
||||||
case Message.NotificationClass.WAS: result = new WAS(); break;
|
case Message.NotificationClass.WAS: result = new WAS(); break;
|
||||||
case Message.NotificationClass.CREW: result = new CREW(); break;
|
case Message.NotificationClass.CREWA: result = new CREW(); break;
|
||||||
case Message.NotificationClass.PAS: result = new PAS(); break;
|
case Message.NotificationClass.PASA: result = new PAS(); break;
|
||||||
case Message.NotificationClass.BPOL: result = new BPOL(); break;
|
case Message.NotificationClass.BPOL: result = new BPOL(); break;
|
||||||
case Message.NotificationClass.TOWA: result = new TOWA(); break;
|
case Message.NotificationClass.TOWA: result = new TOWA(); break;
|
||||||
case Message.NotificationClass.TOWD: result = new TOWD(); break;
|
case Message.NotificationClass.TOWD: result = new TOWD(); break;
|
||||||
@ -1041,7 +1042,7 @@ namespace bsmd.database
|
|||||||
poi.PrepareLoadCommand(cmd, Message.LoadFilter.BPOL_ID, bpol.Id);
|
poi.PrepareLoadCommand(cmd, Message.LoadFilter.BPOL_ID, bpol.Id);
|
||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> pois = poi.LoadList(reader);
|
List<DatabaseEntity> pois = poi.LoadList(reader);
|
||||||
foreach (PortOfItinerary aPoi in pois)
|
foreach (PortOfItinerary aPoi in pois.Cast<PortOfItinerary>())
|
||||||
{
|
{
|
||||||
bpol.PortOfItineraries.Add(aPoi);
|
bpol.PortOfItineraries.Add(aPoi);
|
||||||
aPoi.BPOL = bpol;
|
aPoi.BPOL = bpol;
|
||||||
@ -1061,7 +1062,7 @@ namespace bsmd.database
|
|||||||
imdg.PrepareLoadCommand(cmd, Message.LoadFilter.HAZ_ID, haz.Id);
|
imdg.PrepareLoadCommand(cmd, Message.LoadFilter.HAZ_ID, haz.Id);
|
||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> imdgs = imdg.LoadList(reader);
|
List<DatabaseEntity> imdgs = imdg.LoadList(reader);
|
||||||
foreach (IMDGPosition imdgPosition in imdgs)
|
foreach (IMDGPosition imdgPosition in imdgs.Cast<IMDGPosition>())
|
||||||
{
|
{
|
||||||
haz.IMDGPositions.Add(imdgPosition);
|
haz.IMDGPositions.Add(imdgPosition);
|
||||||
imdgPosition.HAZ = haz;
|
imdgPosition.HAZ = haz;
|
||||||
@ -1072,7 +1073,7 @@ namespace bsmd.database
|
|||||||
subsidiaryRisks.PrepareLoadCommand(srCmd, Message.LoadFilter.IMDG_ID, imdgPosition.Id);
|
subsidiaryRisks.PrepareLoadCommand(srCmd, Message.LoadFilter.IMDG_ID, imdgPosition.Id);
|
||||||
SqlDataReader srReader = this.PerformCommand(srCmd);
|
SqlDataReader srReader = this.PerformCommand(srCmd);
|
||||||
List<DatabaseEntity> sRisks = subsidiaryRisks.LoadList(srReader);
|
List<DatabaseEntity> sRisks = subsidiaryRisks.LoadList(srReader);
|
||||||
foreach (SubsidiaryRisks subsidiaryRisk in sRisks)
|
foreach (SubsidiaryRisks subsidiaryRisk in sRisks.Cast<SubsidiaryRisks>())
|
||||||
{
|
{
|
||||||
imdgPosition.SubsidiaryRiskList.Add(subsidiaryRisk);
|
imdgPosition.SubsidiaryRiskList.Add(subsidiaryRisk);
|
||||||
subsidiaryRisk.IMDGPosition = imdgPosition;
|
subsidiaryRisk.IMDGPosition = imdgPosition;
|
||||||
@ -1085,7 +1086,7 @@ namespace bsmd.database
|
|||||||
ibc.PrepareLoadCommand(cmd, Message.LoadFilter.HAZ_ID, haz.Id);
|
ibc.PrepareLoadCommand(cmd, Message.LoadFilter.HAZ_ID, haz.Id);
|
||||||
reader = this.PerformCommand(cmd);
|
reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> ibcs = ibc.LoadList(reader);
|
List<DatabaseEntity> ibcs = ibc.LoadList(reader);
|
||||||
foreach (IBCPosition ibcPosition in ibcs)
|
foreach (IBCPosition ibcPosition in ibcs.Cast<IBCPosition>())
|
||||||
{
|
{
|
||||||
haz.IBCPositions.Add(ibcPosition);
|
haz.IBCPositions.Add(ibcPosition);
|
||||||
ibcPosition.HAZ = haz;
|
ibcPosition.HAZ = haz;
|
||||||
@ -1097,7 +1098,7 @@ namespace bsmd.database
|
|||||||
igc.PrepareLoadCommand(cmd, Message.LoadFilter.HAZ_ID, haz.Id);
|
igc.PrepareLoadCommand(cmd, Message.LoadFilter.HAZ_ID, haz.Id);
|
||||||
reader = this.PerformCommand(cmd);
|
reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> igcs = igc.LoadList(reader);
|
List<DatabaseEntity> igcs = igc.LoadList(reader);
|
||||||
foreach (IGCPosition igcPosition in igcs)
|
foreach (IGCPosition igcPosition in igcs.Cast<IGCPosition>())
|
||||||
{
|
{
|
||||||
haz.IGCPositions.Add(igcPosition);
|
haz.IGCPositions.Add(igcPosition);
|
||||||
igcPosition.HAZ = haz;
|
igcPosition.HAZ = haz;
|
||||||
@ -1109,7 +1110,7 @@ namespace bsmd.database
|
|||||||
imsbc.PrepareLoadCommand(cmd, Message.LoadFilter.HAZ_ID, haz.Id);
|
imsbc.PrepareLoadCommand(cmd, Message.LoadFilter.HAZ_ID, haz.Id);
|
||||||
reader = this.PerformCommand(cmd);
|
reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> imsbcs = imsbc.LoadList(reader);
|
List<DatabaseEntity> imsbcs = imsbc.LoadList(reader);
|
||||||
foreach (IMSBCPosition imsbcPosition in imsbcs)
|
foreach (IMSBCPosition imsbcPosition in imsbcs.Cast<IMSBCPosition>())
|
||||||
{
|
{
|
||||||
haz.IMSBCPositions.Add(imsbcPosition);
|
haz.IMSBCPositions.Add(imsbcPosition);
|
||||||
imsbcPosition.HAZ = haz;
|
imsbcPosition.HAZ = haz;
|
||||||
@ -1120,7 +1121,7 @@ namespace bsmd.database
|
|||||||
marpol.PrepareLoadCommand(cmd, Message.LoadFilter.HAZ_ID, haz.Id);
|
marpol.PrepareLoadCommand(cmd, Message.LoadFilter.HAZ_ID, haz.Id);
|
||||||
reader = this.PerformCommand(cmd);
|
reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> marpols = marpol.LoadList(reader);
|
List<DatabaseEntity> marpols = marpol.LoadList(reader);
|
||||||
foreach (MARPOL_Annex_I_Position marpolPosition in marpols)
|
foreach (MARPOL_Annex_I_Position marpolPosition in marpols.Cast<MARPOL_Annex_I_Position>())
|
||||||
{
|
{
|
||||||
haz.MARPOLPositions.Add(marpolPosition);
|
haz.MARPOLPositions.Add(marpolPosition);
|
||||||
marpolPosition.HAZ = haz;
|
marpolPosition.HAZ = haz;
|
||||||
@ -1140,7 +1141,7 @@ namespace bsmd.database
|
|||||||
poc30.PrepareLoadCommand(cmd, Message.LoadFilter.MDH_ID, mdh.Id);
|
poc30.PrepareLoadCommand(cmd, Message.LoadFilter.MDH_ID, mdh.Id);
|
||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> poc30s = poc30.LoadList(reader);
|
List<DatabaseEntity> poc30s = poc30.LoadList(reader);
|
||||||
foreach (PortOfCallLast30Days apoc30 in poc30s)
|
foreach (PortOfCallLast30Days apoc30 in poc30s.Cast<PortOfCallLast30Days>())
|
||||||
{
|
{
|
||||||
mdh.PortOfCallLast30Days.Add(apoc30);
|
mdh.PortOfCallLast30Days.Add(apoc30);
|
||||||
apoc30.MDH = mdh;
|
apoc30.MDH = mdh;
|
||||||
@ -1151,7 +1152,7 @@ namespace bsmd.database
|
|||||||
smd.PrepareLoadCommand(cmd, Message.LoadFilter.MDH_ID, mdh.Id);
|
smd.PrepareLoadCommand(cmd, Message.LoadFilter.MDH_ID, mdh.Id);
|
||||||
reader = this.PerformCommand(cmd);
|
reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> smds = smd.LoadList(reader);
|
List<DatabaseEntity> smds = smd.LoadList(reader);
|
||||||
foreach(SanitaryMeasuresDetail aSmd in smds)
|
foreach(SanitaryMeasuresDetail aSmd in smds.Cast<SanitaryMeasuresDetail>())
|
||||||
{
|
{
|
||||||
mdh.SanitaryMeasuresDetails.Add(aSmd);
|
mdh.SanitaryMeasuresDetails.Add(aSmd);
|
||||||
aSmd.MDH = mdh;
|
aSmd.MDH = mdh;
|
||||||
@ -1161,7 +1162,7 @@ namespace bsmd.database
|
|||||||
sjl.PrepareLoadCommand(cmd, Message.LoadFilter.MDH_ID, mdh.Id);
|
sjl.PrepareLoadCommand(cmd, Message.LoadFilter.MDH_ID, mdh.Id);
|
||||||
reader = this.PerformCommand(cmd);
|
reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> sjls = sjl.LoadList(reader);
|
List<DatabaseEntity> sjls = sjl.LoadList(reader);
|
||||||
foreach(StowawaysJoiningLocation aSjl in sjls)
|
foreach(StowawaysJoiningLocation aSjl in sjls.Cast<StowawaysJoiningLocation>())
|
||||||
{
|
{
|
||||||
mdh.StowawaysJoiningLocations.Add(aSjl);
|
mdh.StowawaysJoiningLocations.Add(aSjl);
|
||||||
aSjl.MDH = mdh;
|
aSjl.MDH = mdh;
|
||||||
@ -1171,7 +1172,7 @@ namespace bsmd.database
|
|||||||
ia.PrepareLoadCommand(cmd, Message.LoadFilter.MDH_ID, mdh.Id);
|
ia.PrepareLoadCommand(cmd, Message.LoadFilter.MDH_ID, mdh.Id);
|
||||||
reader = this.PerformCommand(cmd);
|
reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> ias = ia.LoadList(reader);
|
List<DatabaseEntity> ias = ia.LoadList(reader);
|
||||||
foreach(InfectedArea aIa in ias)
|
foreach(InfectedArea aIa in ias.Cast<InfectedArea>())
|
||||||
{
|
{
|
||||||
mdh.InfectedAreas.Add(aIa);
|
mdh.InfectedAreas.Add(aIa);
|
||||||
aIa.MDH = mdh;
|
aIa.MDH = mdh;
|
||||||
@ -1190,7 +1191,7 @@ namespace bsmd.database
|
|||||||
poc30s.PrepareLoadCommand(cmd, Message.LoadFilter.POC30_ID, poc30.Id);
|
poc30s.PrepareLoadCommand(cmd, Message.LoadFilter.POC30_ID, poc30.Id);
|
||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> poc30Names = poc30s.LoadList(reader);
|
List<DatabaseEntity> poc30Names = poc30s.LoadList(reader);
|
||||||
foreach (PortOfCallLast30DaysCrewJoinedShip poc30Name in poc30Names)
|
foreach (PortOfCallLast30DaysCrewJoinedShip poc30Name in poc30Names.Cast<PortOfCallLast30DaysCrewJoinedShip>())
|
||||||
{
|
{
|
||||||
poc30.CrewJoinedShip.Add(poc30Name);
|
poc30.CrewJoinedShip.Add(poc30Name);
|
||||||
poc30Name.PortOfCallLast30Days = poc30;
|
poc30Name.PortOfCallLast30Days = poc30;
|
||||||
@ -1208,7 +1209,7 @@ namespace bsmd.database
|
|||||||
ltp.PrepareLoadCommand(cmd, Message.LoadFilter.SEC_ID, sec.Id);
|
ltp.PrepareLoadCommand(cmd, Message.LoadFilter.SEC_ID, sec.Id);
|
||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> ltps = ltp.LoadList(reader);
|
List<DatabaseEntity> ltps = ltp.LoadList(reader);
|
||||||
foreach (LastTenPortFacilitiesCalled altp in ltps)
|
foreach (LastTenPortFacilitiesCalled altp in ltps.Cast<LastTenPortFacilitiesCalled>())
|
||||||
{
|
{
|
||||||
sec.LastTenPortFacilitesCalled.Add(altp);
|
sec.LastTenPortFacilitesCalled.Add(altp);
|
||||||
altp.SEC = sec;
|
altp.SEC = sec;
|
||||||
@ -1219,7 +1220,7 @@ namespace bsmd.database
|
|||||||
sts.PrepareLoadCommand(cmd, Message.LoadFilter.SEC_ID, sec.Id);
|
sts.PrepareLoadCommand(cmd, Message.LoadFilter.SEC_ID, sec.Id);
|
||||||
reader = this.PerformCommand(cmd);
|
reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> stss = sts.LoadList(reader);
|
List<DatabaseEntity> stss = sts.LoadList(reader);
|
||||||
foreach (ShipToShipActivitiesDuringLastTenPortFacilitiesCalled asts in stss)
|
foreach (ShipToShipActivitiesDuringLastTenPortFacilitiesCalled asts in stss.Cast<ShipToShipActivitiesDuringLastTenPortFacilitiesCalled>())
|
||||||
{
|
{
|
||||||
sec.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.Add(asts);
|
sec.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.Add(asts);
|
||||||
asts.SEC = sec;
|
asts.SEC = sec;
|
||||||
@ -1238,7 +1239,7 @@ namespace bsmd.database
|
|||||||
wdsp.PrepareLoadCommand(cmd, Message.LoadFilter.WAS_ID, was.Id);
|
wdsp.PrepareLoadCommand(cmd, Message.LoadFilter.WAS_ID, was.Id);
|
||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> wdsps = wdsp.LoadList(reader);
|
List<DatabaseEntity> wdsps = wdsp.LoadList(reader);
|
||||||
foreach (WasteDisposalServiceProvider awdsp in wdsps)
|
foreach (WasteDisposalServiceProvider awdsp in wdsps.Cast<WasteDisposalServiceProvider>())
|
||||||
{
|
{
|
||||||
was.WasteDisposalServiceProvider.Add(awdsp);
|
was.WasteDisposalServiceProvider.Add(awdsp);
|
||||||
awdsp.WAS = was;
|
awdsp.WAS = was;
|
||||||
@ -1249,7 +1250,7 @@ namespace bsmd.database
|
|||||||
waste.PrepareLoadCommand(cmd, Message.LoadFilter.WAS_ID, was.Id);
|
waste.PrepareLoadCommand(cmd, Message.LoadFilter.WAS_ID, was.Id);
|
||||||
SqlDataReader reader2 = this.PerformCommand(cmd);
|
SqlDataReader reader2 = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> wastes = waste.LoadList(reader2);
|
List<DatabaseEntity> wastes = waste.LoadList(reader2);
|
||||||
foreach (Waste aWaste in wastes)
|
foreach (Waste aWaste in wastes.Cast<Waste>())
|
||||||
{
|
{
|
||||||
was.Waste.Add(aWaste);
|
was.Waste.Add(aWaste);
|
||||||
aWaste.WAS = was;
|
aWaste.WAS = was;
|
||||||
@ -1268,7 +1269,7 @@ namespace bsmd.database
|
|||||||
tfp.PrepareLoadCommand(cmd, Message.LoadFilter.WASRCPT_ID, was_rcpt.Id);
|
tfp.PrepareLoadCommand(cmd, Message.LoadFilter.WASRCPT_ID, was_rcpt.Id);
|
||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> tfps = tfp.LoadList(reader);
|
List<DatabaseEntity> tfps = tfp.LoadList(reader);
|
||||||
foreach (TreatmentFacilityProvider aTfp in tfps)
|
foreach (TreatmentFacilityProvider aTfp in tfps.Cast<TreatmentFacilityProvider>())
|
||||||
{
|
{
|
||||||
was_rcpt.TreatmentFacilityProvider.Add(aTfp);
|
was_rcpt.TreatmentFacilityProvider.Add(aTfp);
|
||||||
aTfp.WAS_RCPT = was_rcpt;
|
aTfp.WAS_RCPT = was_rcpt;
|
||||||
@ -1279,7 +1280,7 @@ namespace bsmd.database
|
|||||||
wasteReceived.PrepareLoadCommand(cmd, Message.LoadFilter.WASRCPT_ID, was_rcpt.Id);
|
wasteReceived.PrepareLoadCommand(cmd, Message.LoadFilter.WASRCPT_ID, was_rcpt.Id);
|
||||||
SqlDataReader reader2 = this.PerformCommand(cmd);
|
SqlDataReader reader2 = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> wrs = wasteReceived.LoadList(reader2);
|
List<DatabaseEntity> wrs = wasteReceived.LoadList(reader2);
|
||||||
foreach (WasteReceived awrs in wrs)
|
foreach (WasteReceived awrs in wrs.Cast<WasteReceived>())
|
||||||
{
|
{
|
||||||
was_rcpt.WasteReceived.Add(awrs);
|
was_rcpt.WasteReceived.Add(awrs);
|
||||||
awrs.WAS_RCPT = was_rcpt;
|
awrs.WAS_RCPT = was_rcpt;
|
||||||
@ -1298,7 +1299,7 @@ namespace bsmd.database
|
|||||||
cp.PrepareLoadCommand(cmd, Message.LoadFilter.NOA_NODID, noa_nod.Id);
|
cp.PrepareLoadCommand(cmd, Message.LoadFilter.NOA_NODID, noa_nod.Id);
|
||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> cps = cp.LoadList(reader);
|
List<DatabaseEntity> cps = cp.LoadList(reader);
|
||||||
foreach (CallPurpose callPurpose in cps)
|
foreach (CallPurpose callPurpose in cps.Cast<CallPurpose>())
|
||||||
{
|
{
|
||||||
noa_nod.CallPurposes.Add(callPurpose);
|
noa_nod.CallPurposes.Add(callPurpose);
|
||||||
callPurpose.NOA_NOD = noa_nod;
|
callPurpose.NOA_NOD = noa_nod;
|
||||||
@ -1334,7 +1335,7 @@ namespace bsmd.database
|
|||||||
aMessageError.PrepareLoadCommand(cmd, Message.LoadFilter.MESSAGEHEADER, message.Id);
|
aMessageError.PrepareLoadCommand(cmd, Message.LoadFilter.MESSAGEHEADER, message.Id);
|
||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> errorList = aMessageError.LoadList(reader);
|
List<DatabaseEntity> errorList = aMessageError.LoadList(reader);
|
||||||
foreach (MessageError error in errorList)
|
foreach (MessageError error in errorList.Cast<MessageError>())
|
||||||
message.ErrorList.Add(error);
|
message.ErrorList.Add(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1345,7 +1346,7 @@ namespace bsmd.database
|
|||||||
aMessageViolation.PrepareLoadCommand(cmd, Message.LoadFilter.MESSAGEHEADER, message.Id);
|
aMessageViolation.PrepareLoadCommand(cmd, Message.LoadFilter.MESSAGEHEADER, message.Id);
|
||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> violationList = aMessageViolation.LoadList(reader);
|
List<DatabaseEntity> violationList = aMessageViolation.LoadList(reader);
|
||||||
foreach (MessageViolation violation in violationList)
|
foreach (MessageViolation violation in violationList.Cast<MessageViolation>())
|
||||||
message.ViolationList.Add(violation);
|
message.ViolationList.Add(violation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1356,7 +1357,7 @@ namespace bsmd.database
|
|||||||
aSystemError.PrepareLoadCommand(cmd, Message.LoadFilter.MESSAGEHEADER, message.Id);
|
aSystemError.PrepareLoadCommand(cmd, Message.LoadFilter.MESSAGEHEADER, message.Id);
|
||||||
SqlDataReader reader = this.PerformCommand(cmd);
|
SqlDataReader reader = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> systemErrorList = aSystemError.LoadList(reader);
|
List<DatabaseEntity> systemErrorList = aSystemError.LoadList(reader);
|
||||||
foreach (SystemError sError in systemErrorList)
|
foreach (SystemError sError in systemErrorList.Cast<SystemError>())
|
||||||
message.SystemErrorList.Add(sError);
|
message.SystemErrorList.Add(sError);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -44,8 +44,8 @@ namespace bsmd.database
|
|||||||
NotificationClass.SEC,
|
NotificationClass.SEC,
|
||||||
NotificationClass.PRE72H,
|
NotificationClass.PRE72H,
|
||||||
NotificationClass.BPOL,
|
NotificationClass.BPOL,
|
||||||
NotificationClass.CREW,
|
NotificationClass.CREWA,
|
||||||
NotificationClass.PAS,
|
NotificationClass.PASA,
|
||||||
NotificationClass.MDH,
|
NotificationClass.MDH,
|
||||||
NotificationClass.HAZA,
|
NotificationClass.HAZA,
|
||||||
NotificationClass.HAZD,
|
NotificationClass.HAZD,
|
||||||
@ -87,8 +87,8 @@ namespace bsmd.database
|
|||||||
PRE72H,
|
PRE72H,
|
||||||
MDH,
|
MDH,
|
||||||
WAS,
|
WAS,
|
||||||
CREW, // 20
|
CREWA, // 20
|
||||||
PAS,
|
PASA,
|
||||||
BPOL,
|
BPOL,
|
||||||
TOWA,
|
TOWA,
|
||||||
TOWD,
|
TOWD,
|
||||||
@ -610,10 +610,10 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
case NotificationClass.BKRA:
|
case NotificationClass.BKRA:
|
||||||
case NotificationClass.BKRD:
|
case NotificationClass.BKRD:
|
||||||
case NotificationClass.CREW:
|
case NotificationClass.CREWA:
|
||||||
case NotificationClass.CREWD:
|
case NotificationClass.CREWD:
|
||||||
case NotificationClass.LADG:
|
case NotificationClass.LADG:
|
||||||
case NotificationClass.PAS:
|
case NotificationClass.PASA:
|
||||||
case NotificationClass.PASD:
|
case NotificationClass.PASD:
|
||||||
case NotificationClass.SERV:
|
case NotificationClass.SERV:
|
||||||
case NotificationClass.STO:
|
case NotificationClass.STO:
|
||||||
@ -653,8 +653,6 @@ namespace bsmd.database
|
|||||||
break;
|
break;
|
||||||
case NotificationClass.VISIT:
|
case NotificationClass.VISIT:
|
||||||
case NotificationClass.TRANSIT:
|
case NotificationClass.TRANSIT:
|
||||||
case NotificationClass.CREWD:
|
|
||||||
case NotificationClass.PASD:
|
|
||||||
case NotificationClass.STO:
|
case NotificationClass.STO:
|
||||||
result = false;
|
result = false;
|
||||||
break;
|
break;
|
||||||
@ -693,9 +691,9 @@ namespace bsmd.database
|
|||||||
case NotificationClass.BKRA: return 5;
|
case NotificationClass.BKRA: return 5;
|
||||||
case NotificationClass.BKRD: return 5;
|
case NotificationClass.BKRD: return 5;
|
||||||
case NotificationClass.LADG: return 36;
|
case NotificationClass.LADG: return 36;
|
||||||
case NotificationClass.CREW: return 40;
|
case NotificationClass.CREWA: return 40;
|
||||||
case NotificationClass.CREWD: return 40;
|
case NotificationClass.CREWD: return 40;
|
||||||
case NotificationClass.PAS: return 40;
|
case NotificationClass.PASA: return 40;
|
||||||
case NotificationClass.PASD: return 40;
|
case NotificationClass.PASD: return 40;
|
||||||
case NotificationClass.TOWA: return 5;
|
case NotificationClass.TOWA: return 5;
|
||||||
case NotificationClass.TOWD: return 5;
|
case NotificationClass.TOWD: return 5;
|
||||||
@ -826,8 +824,8 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
switch (this.MessageNotificationClass)
|
switch (this.MessageNotificationClass)
|
||||||
{
|
{
|
||||||
case NotificationClass.CREW:
|
case NotificationClass.CREWA:
|
||||||
case NotificationClass.PAS:
|
case NotificationClass.PASA:
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
@ -934,9 +932,9 @@ namespace bsmd.database
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private bool CanDoBulkSave()
|
private bool CanDoBulkSave()
|
||||||
{
|
{
|
||||||
if(this.MessageNotificationClass == NotificationClass.CREW ||
|
if(this.MessageNotificationClass == NotificationClass.CREWA ||
|
||||||
this.MessageNotificationClass == NotificationClass.CREWD ||
|
this.MessageNotificationClass == NotificationClass.CREWD ||
|
||||||
this.MessageNotificationClass == NotificationClass.PAS ||
|
this.MessageNotificationClass == NotificationClass.PASA ||
|
||||||
this.MessageNotificationClass == NotificationClass.PASD)
|
this.MessageNotificationClass == NotificationClass.PASD)
|
||||||
{
|
{
|
||||||
foreach (DatabaseEntity subEntity in this.Elements)
|
foreach (DatabaseEntity subEntity in this.Elements)
|
||||||
|
|||||||
@ -11,6 +11,7 @@ using System;
|
|||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Data.SqlClient;
|
using System.Data.SqlClient;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace bsmd.database
|
namespace bsmd.database
|
||||||
{
|
{
|
||||||
@ -56,7 +57,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
[ShowReport]
|
[ShowReport]
|
||||||
[ReportDisplayName("Date of birth")]
|
[ReportDisplayName("Date of birth")]
|
||||||
public string PassengerDateOfBirthDisplay {
|
public string PassengerDateOfBirthDisplay
|
||||||
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (this.PassengerDateOfBirth.HasValue)
|
if (this.PassengerDateOfBirth.HasValue)
|
||||||
@ -127,21 +129,31 @@ namespace bsmd.database
|
|||||||
public string PassengerIdentityDocumentIssuingState { get; set; }
|
public string PassengerIdentityDocumentIssuingState { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[ShowReport]
|
|
||||||
[ReportDisplayName("Expiry date")]
|
|
||||||
[Validation(ValidationCode.PAST_DATE)]
|
[Validation(ValidationCode.PAST_DATE)]
|
||||||
[ENI2Validation]
|
[ENI2Validation]
|
||||||
public DateTime? PassengerIdentityDocumentExpiryDate { get; set; }
|
public DateTime? PassengerIdentityDocumentExpiryDate { get; set; }
|
||||||
|
|
||||||
|
[ShowReport]
|
||||||
|
[ReportDisplayName("Expiry date")]
|
||||||
|
public string PassengerIdentityDocumentExpiryDateDisplay
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (this.PassengerIdentityDocumentExpiryDate.HasValue)
|
||||||
|
return this.PassengerIdentityDocumentExpiryDate.Value.ToShortDateString();
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[ENI2Validation]
|
[ENI2Validation]
|
||||||
public bool? NotificationSchengen { get; set; }
|
public bool? NotificationSchengen { get; set; }
|
||||||
|
|
||||||
[ENI2Validation]
|
[ENI2Validation]
|
||||||
public bool? NotificationPAX { get; set; }
|
public bool? NotificationPAX { get; set; }
|
||||||
|
|
||||||
//[Validation(ValidationCode.FLAG_CODE)]
|
[Validation(ValidationCode.FLAG_CODE)]
|
||||||
[MaxLength(2)]
|
[MaxLength(2)]
|
||||||
[ENI2Validation] // XXX - TODO
|
[ENI2Validation]
|
||||||
public string PassengerCountryOfBirth { get; set; }
|
public string PassengerCountryOfBirth { get; set; }
|
||||||
|
|
||||||
[ENI2Validation]
|
[ENI2Validation]
|
||||||
@ -161,7 +173,7 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return PassengerIdentityDocumentType.HasValue && !PassengerIdentityDocumentId.IsNullOrEmpty() &&
|
return PassengerIdentityDocumentType.HasValue && !PassengerIdentityDocumentId.IsNullOrEmpty() && !PassengerIdentityDocumentIssuingState.IsNullOrEmpty() &&
|
||||||
PassengerIdentityDocumentExpiryDate.HasValue && !PassengerPortOfEmbarkation.IsNullOrEmpty() && !PassengerPortOfDisembarkation.IsNullOrEmpty();
|
PassengerIdentityDocumentExpiryDate.HasValue && !PassengerPortOfEmbarkation.IsNullOrEmpty() && !PassengerPortOfDisembarkation.IsNullOrEmpty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -311,6 +323,8 @@ namespace bsmd.database
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override string Title => "PASA";
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Validation
|
#region Validation
|
||||||
@ -323,55 +337,77 @@ namespace bsmd.database
|
|||||||
if (this.PassengerPortOfDisembarkation != null)
|
if (this.PassengerPortOfDisembarkation != null)
|
||||||
{
|
{
|
||||||
if (this.PassengerPortOfDisembarkation.Equals("ZZUKN"))
|
if (this.PassengerPortOfDisembarkation.Equals("ZZUKN"))
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.NOT_NULL, "Port of disembarkation set to ZZUKN", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.NOT_NULL, "Port of disembarkation set to ZZUKN", null, this.Title, this.Identifier, this.IsDeparture ? "PASD" : "PASA"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.PassengerPortOfEmbarkation != null)
|
if (this.PassengerPortOfEmbarkation != null)
|
||||||
{
|
{
|
||||||
if (this.PassengerPortOfEmbarkation.Equals("ZZUKN"))
|
if (this.PassengerPortOfEmbarkation.Equals("ZZUKN"))
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.NOT_NULL, "Port of embarkation set to ZZUKN", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.NOT_NULL, "Port of embarkation set to ZZUKN", null, this.Title, this.Identifier, this.IsDeparture ? "PASD" : "PASA"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.PassengerIdentityDocumentType.HasValue)
|
if (this.PassengerIdentityDocumentType.HasValue)
|
||||||
{
|
{
|
||||||
if (this.PassengerIdentityDocumentType.Value == 5)
|
if (this.PassengerIdentityDocumentType.Value == 5)
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Doc. type set to OTHER_LEGAL_IDENTITY_DOCUMENT", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Doc. type set to OTHER_LEGAL_IDENTITY_DOCUMENT", null, this.Title, this.Identifier, this.IsDeparture ? "PASD" : "PASA"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.PassengerNationality != null)
|
if (this.PassengerNationality != null)
|
||||||
{
|
{
|
||||||
if (this.PassengerNationality.Equals("XX"))
|
if (this.PassengerNationality.Equals("XX"))
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Nationality set to XX", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Nationality set to XX", null, this.Title, this.Identifier, this.IsDeparture ? "PASD" : "PASA"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.PassengerIdentityDocumentIssuingState != null)
|
if (this.PassengerIdentityDocumentIssuingState != null)
|
||||||
{
|
{
|
||||||
if (this.PassengerIdentityDocumentIssuingState.Equals("XX"))
|
if (this.PassengerIdentityDocumentIssuingState.Equals("XX"))
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Id. doc issuing state set to XX", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Id. doc issuing state set to XX", null, this.Title, this.Identifier, this.IsDeparture ? "PASD" : "PASA"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.PassengerIdentityDocumentExpiryDate.HasValue)
|
if (this.PassengerIdentityDocumentExpiryDate.HasValue)
|
||||||
{
|
{
|
||||||
if (this.PassengerIdentityDocumentExpiryDate.Equals(new DateTime(2100, 12, 31)))
|
if (this.PassengerIdentityDocumentExpiryDate.Equals(new DateTime(2100, 12, 31)))
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Id doc expiry date set to 31/12/2100", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Id doc expiry date set to 31/12/2100", null, this.Title, this.Identifier, this.IsDeparture ? "PASD" : "PASA"));
|
||||||
|
|
||||||
if ((this.PassengerIdentityDocumentExpiryDate >= CREW.CLAMPMAXDATE) || (this.PassengerIdentityDocumentExpiryDate <= CREW.CLAMPMINDATE))
|
if ((this.PassengerIdentityDocumentExpiryDate >= CREW.CLAMPMAXDATE) || (this.PassengerIdentityDocumentExpiryDate <= CREW.CLAMPMINDATE))
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Check identity document expiry date", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Check identity document expiry date", null, this.Title, this.Identifier, this.IsDeparture ? "PASD" : "PASA"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.PassengerGender.HasValue)
|
if (this.PassengerGender.HasValue)
|
||||||
{
|
{
|
||||||
if (this.PassengerGender == 0)
|
if (this.PassengerGender == 0)
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Gender set to unknown", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "Gender set to unknown", null, this.Title, this.Identifier, this.IsDeparture ? "PASD" : "PASA"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.PassengerDateOfBirth.HasValue)
|
if (this.PassengerDateOfBirth.HasValue)
|
||||||
{
|
{
|
||||||
if (this.PassengerDateOfBirth.Value > DateTime.Today)
|
if (this.PassengerDateOfBirth.Value > DateTime.Today)
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.TIME_IMPLAUSIBLE, "Date of birth is in the future", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.TIME_IMPLAUSIBLE, "Date of birth is in the future", null, this.Title, this.Identifier, this.IsDeparture ? "PASD" : "PASA"));
|
||||||
|
|
||||||
if (this.PassengerDateOfBirth <= CREW.CLAMPMINDATE)
|
if (this.PassengerDateOfBirth <= CREW.CLAMPMINDATE)
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.TIME_IMPLAUSIBLE, "Check date of birth", null, this.Title, this.Identifier, this.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.TIME_IMPLAUSIBLE, "Check date of birth", null, this.Title, this.Identifier, this.IsDeparture ? "PASD" : "PASA"));
|
||||||
|
}
|
||||||
|
|
||||||
|
// NSW 7.2 rules
|
||||||
|
|
||||||
|
if ((this.NotificationSchengen ?? false) && (!this.HasSchengenDetails))
|
||||||
|
{
|
||||||
|
errors.Add(RuleEngine.CreateError(ValidationCode.V202, "Schengen flag set but no data", null, this.Title, null, this.IsDeparture ? "PASD" : "PASA"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(this.NotificationSchengen ?? false) && (this.HasSchengenDetails))
|
||||||
|
{
|
||||||
|
errors.Add(RuleEngine.CreateError(ValidationCode.V202, "Schengen data given but flag not set", null, this.Title, null, this.IsDeparture ? "PASD" : "PASA"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((this.NotificationPAX ?? false) && (!this.HasPAXDetails))
|
||||||
|
{
|
||||||
|
errors.Add(RuleEngine.CreateError(ValidationCode.V203, "PAX flag set but no data", null, this.Title, null, this.IsDeparture ? "PASD" : "PASA"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(this.NotificationPAX ?? false) && (this.HasPAXDetails))
|
||||||
|
{
|
||||||
|
errors.Add(RuleEngine.CreateError(ValidationCode.V203, "PAX data given but flag not set", null, this.Title, null, this.IsDeparture ? "PASD" : "PASA"));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -407,7 +443,7 @@ namespace bsmd.database
|
|||||||
result.Columns.Add(new DataColumn { ColumnName = "EmergencyContactNumber", DataType = typeof(string), AllowDBNull = true });
|
result.Columns.Add(new DataColumn { ColumnName = "EmergencyContactNumber", DataType = typeof(string), AllowDBNull = true });
|
||||||
result.Columns.Add(new DataColumn { ColumnName = "PassengerCountryOfBirth", DataType = typeof(string), AllowDBNull = true });
|
result.Columns.Add(new DataColumn { ColumnName = "PassengerCountryOfBirth", DataType = typeof(string), AllowDBNull = true });
|
||||||
|
|
||||||
foreach (PAS pas in databaseEntities)
|
foreach (PAS pas in databaseEntities.Cast<PAS>())
|
||||||
{
|
{
|
||||||
DataRow row = result.NewRow();
|
DataRow row = result.NewRow();
|
||||||
|
|
||||||
@ -458,6 +494,33 @@ namespace bsmd.database
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region public copy func
|
||||||
|
|
||||||
|
public void CopyFromPAS(PAS pas)
|
||||||
|
{
|
||||||
|
if (pas == null) return;
|
||||||
|
this.PassengerLastName = pas.PassengerLastName;
|
||||||
|
this.PassengerFirstName = pas.PassengerFirstName;
|
||||||
|
this.PassengerPlaceOfBirth = pas.PassengerPlaceOfBirth;
|
||||||
|
this.PassengerDateOfBirth = pas.PassengerDateOfBirth;
|
||||||
|
this.PassengerGender = pas.PassengerGender;
|
||||||
|
this.PassengerNationality = pas.PassengerNationality;
|
||||||
|
this.PassengerIdentityDocumentType = pas.PassengerIdentityDocumentType;
|
||||||
|
this.PassengerIdentityDocumentId = pas.PassengerIdentityDocumentId;
|
||||||
|
this.PassengerVisaNumber = pas.PassengerVisaNumber;
|
||||||
|
this.PassengerPortOfEmbarkation = pas.PassengerPortOfEmbarkation;
|
||||||
|
this.PassengerPortOfDisembarkation = pas.PassengerPortOfDisembarkation;
|
||||||
|
this.PassengerInTransit = pas.PassengerInTransit;
|
||||||
|
this.PassengerIdentityDocumentIssuingState = pas.PassengerIdentityDocumentIssuingState;
|
||||||
|
this.PassengerIdentityDocumentExpiryDate = pas.PassengerIdentityDocumentExpiryDate;
|
||||||
|
this.NotificationSchengen = pas.NotificationSchengen;
|
||||||
|
this.NotificationPAX = pas.NotificationPAX;
|
||||||
|
this.PassengerCountryOfBirth = pas.PassengerCountryOfBirth;
|
||||||
|
this.EmergencyCare = pas.EmergencyCare;
|
||||||
|
this.EmergencyContactNumber = pas.EmergencyContactNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
#region class PASD
|
#region class PASD
|
||||||
@ -488,6 +551,8 @@ namespace bsmd.database
|
|||||||
cmd.CommandText = query;
|
cmd.CommandText = query;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override string Title => "PASD";
|
||||||
|
|
||||||
public override List<DatabaseEntity> LoadList(System.Data.IDataReader reader)
|
public override List<DatabaseEntity> LoadList(System.Data.IDataReader reader)
|
||||||
{
|
{
|
||||||
List<DatabaseEntity> result = new List<DatabaseEntity>();
|
List<DatabaseEntity> result = new List<DatabaseEntity>();
|
||||||
|
|||||||
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
[assembly: AssemblyCompany("schick Informatik")]
|
[assembly: AssemblyCompany("schick Informatik")]
|
||||||
[assembly: AssemblyProduct("BSMD NSW interface")]
|
[assembly: AssemblyProduct("BSMD NSW interface")]
|
||||||
[assembly: AssemblyInformationalVersion("7.14.0")]
|
[assembly: AssemblyInformationalVersion("7.2.0")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2014-2023 schick Informatik")]
|
[assembly: AssemblyCopyright("Copyright © 2014-2023 schick Informatik")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
@ -1,4 +1,4 @@
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyVersion("7.14.0.*")]
|
[assembly: AssemblyVersion("7.2.0.*")]
|
||||||
|
|
||||||
|
|||||||
@ -208,7 +208,7 @@ namespace bsmd.database
|
|||||||
if(((value.Length >= 90) && isStandardML) || ((mla.MaxLength == value.Length) && (value.Length > 20) && !isStandardML))
|
if(((value.Length >= 90) && isStandardML) || ((mla.MaxLength == value.Length) && (value.Length > 20) && !isStandardML))
|
||||||
{
|
{
|
||||||
// put out a warning this might be truncated
|
// put out a warning this might be truncated
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.TRUNCATE, property.Name, value, entity.Title, identifier, entity.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.TRUNCATE, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -220,7 +220,7 @@ namespace bsmd.database
|
|||||||
if (value.MaxLenNoWS() > mwla.MaxWordLength)
|
if (value.MaxLenNoWS() > mwla.MaxWordLength)
|
||||||
{
|
{
|
||||||
// put out a warning this might be overflowing in the report
|
// put out a warning this might be overflowing in the report
|
||||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.WORDOVERFLOW, property.Name, value, entity.Title, identifier, entity.Tablename));
|
violations.Add(RuleEngine.CreateViolation(ValidationCode.WORDOVERFLOW, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -229,68 +229,68 @@ namespace bsmd.database
|
|||||||
switch (validationCode)
|
switch (validationCode)
|
||||||
{
|
{
|
||||||
case ValidationCode.NOT_NULL:
|
case ValidationCode.NOT_NULL:
|
||||||
if (value.Length == 0) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
if (value.Length == 0) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
break;
|
break;
|
||||||
case ValidationCode.LOCODE:
|
case ValidationCode.LOCODE:
|
||||||
{
|
{
|
||||||
Regex rgx = new Regex("^[A-Z]{2}[A-Z0-9]{3}$");
|
Regex rgx = new Regex("^[A-Z]{2}[A-Z0-9]{3}$");
|
||||||
if (!rgx.IsMatch(value))
|
if (!rgx.IsMatch(value))
|
||||||
{
|
{
|
||||||
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
else if (_locodeChecker != null)
|
else if (_locodeChecker != null)
|
||||||
{
|
{
|
||||||
if (!_locodeChecker(value, LocodeMode.STANDARD))
|
if (!_locodeChecker(value, LocodeMode.STANDARD))
|
||||||
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ValidationCode.LOCODE_NOPORT:
|
case ValidationCode.LOCODE_NOPORT:
|
||||||
{
|
{
|
||||||
Regex rgx = new Regex("^[A-Z]{2}[A-Z0-9]{3}$");
|
Regex rgx = new Regex("^[A-Z]{2}[A-Z0-9]{3}$");
|
||||||
if (!rgx.IsMatch(value)) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
if (!rgx.IsMatch(value)) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
if (_locodeChecker != null)
|
if (_locodeChecker != null)
|
||||||
if (!_locodeChecker(value, LocodeMode.NO_PORT_FLAG))
|
if (!_locodeChecker(value, LocodeMode.NO_PORT_FLAG))
|
||||||
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ValidationCode.LOCODE_SSN:
|
case ValidationCode.LOCODE_SSN:
|
||||||
{
|
{
|
||||||
Regex rgx = new Regex("^[A-Z]{2}[A-Z0-9]{3}$");
|
Regex rgx = new Regex("^[A-Z]{2}[A-Z0-9]{3}$");
|
||||||
if (!rgx.IsMatch(value)) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
if (!rgx.IsMatch(value)) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
if (_locodeChecker != null)
|
if (_locodeChecker != null)
|
||||||
if (!_locodeChecker(value, LocodeMode.SSN))
|
if (!_locodeChecker(value, LocodeMode.SSN))
|
||||||
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ValidationCode.LOCODE_GER:
|
case ValidationCode.LOCODE_GER:
|
||||||
{
|
{
|
||||||
if(!RuleEngine.gerLocodeList.Contains(value))
|
if(!RuleEngine.gerLocodeList.Contains(value))
|
||||||
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ValidationCode.INT_GT_ZERO:
|
case ValidationCode.INT_GT_ZERO:
|
||||||
{
|
{
|
||||||
if (!Int32.TryParse(value, out int intVal) || intVal <= 0)
|
if (!Int32.TryParse(value, out int intVal) || intVal <= 0)
|
||||||
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ValidationCode.DOUBLE_GT_ZERO:
|
case ValidationCode.DOUBLE_GT_ZERO:
|
||||||
{
|
{
|
||||||
if (!Double.TryParse(value, out double dVal) || dVal <= 0)
|
if (!Double.TryParse(value, out double dVal) || dVal <= 0)
|
||||||
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ValidationCode.GISIS:
|
case ValidationCode.GISIS:
|
||||||
{
|
{
|
||||||
Regex rgx = new Regex("[0-9]{4}");
|
Regex rgx = new Regex("[0-9]{4}");
|
||||||
if (!rgx.IsMatch(value)) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
if (!rgx.IsMatch(value)) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ValidationCode.FLAG_CODE:
|
case ValidationCode.FLAG_CODE:
|
||||||
{
|
{
|
||||||
if(!RuleEngine.NationalityChecker(value))
|
if(!RuleEngine.NationalityChecker(value))
|
||||||
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ValidationCode.OPTIONAL_FLAG_CODE:
|
case ValidationCode.OPTIONAL_FLAG_CODE:
|
||||||
@ -298,14 +298,14 @@ namespace bsmd.database
|
|||||||
if(!value.IsNullOrEmpty())
|
if(!value.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
if (!RuleEngine.NationalityChecker(value))
|
if (!RuleEngine.NationalityChecker(value))
|
||||||
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ValidationCode.TWO_DIGIT:
|
case ValidationCode.TWO_DIGIT:
|
||||||
{
|
{
|
||||||
Regex rgx = new Regex("[0-9]{2}");
|
Regex rgx = new Regex("[0-9]{2}");
|
||||||
if (!rgx.IsMatch(value)) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
if (!rgx.IsMatch(value)) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ValidationCode.STRING_EXACT_LEN:
|
case ValidationCode.STRING_EXACT_LEN:
|
||||||
@ -313,54 +313,54 @@ namespace bsmd.database
|
|||||||
if (!value.IsNullOrEmpty())
|
if (!value.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
if (value.Length != maxlen)
|
if (value.Length != maxlen)
|
||||||
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ValidationCode.STRING_MAXLEN:
|
case ValidationCode.STRING_MAXLEN:
|
||||||
{
|
{
|
||||||
if (value.Length > maxlen)
|
if (value.Length > maxlen)
|
||||||
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ValidationCode.STRING_IMOCLASS:
|
case ValidationCode.STRING_IMOCLASS:
|
||||||
{
|
{
|
||||||
Regex rgx = new Regex(@"[1-9]{1}(\.[1-9]{1})?");
|
Regex rgx = new Regex(@"[1-9]{1}(\.[1-9]{1})?");
|
||||||
if (!rgx.IsMatch(value)) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
if (!rgx.IsMatch(value)) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ValidationCode.STRING_UNNUMBER:
|
case ValidationCode.STRING_UNNUMBER:
|
||||||
{
|
{
|
||||||
Regex rgx = new Regex("[0-9]{4}");
|
Regex rgx = new Regex("[0-9]{4}");
|
||||||
if (!rgx.IsMatch(value)) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
if (!rgx.IsMatch(value)) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ValidationCode.DRAUGHT_IMPLAUSIBLE:
|
case ValidationCode.DRAUGHT_IMPLAUSIBLE:
|
||||||
{
|
{
|
||||||
if (!Double.TryParse(value, out double dVal) || dVal <= 0)
|
if (!Double.TryParse(value, out double dVal) || dVal <= 0)
|
||||||
errors.Add(RuleEngine.CreateError(ValidationCode.DOUBLE_GT_ZERO, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(ValidationCode.DOUBLE_GT_ZERO, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
else
|
else
|
||||||
if ((dVal < 20) || (dVal > 150))
|
if ((dVal < 20) || (dVal > 150))
|
||||||
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ValidationCode.TIME_IMPLAUSIBLE:
|
case ValidationCode.TIME_IMPLAUSIBLE:
|
||||||
{
|
{
|
||||||
if (value.Length == 0) errors.Add(RuleEngine.CreateError(ValidationCode.NOT_NULL, property.Name, value, entity.Title, identifier, entity.Tablename));
|
if (value.Length == 0) errors.Add(RuleEngine.CreateError(ValidationCode.NOT_NULL, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
if (DateTime.TryParse(value, out DateTime aTime))
|
if (DateTime.TryParse(value, out DateTime aTime))
|
||||||
{
|
{
|
||||||
if ((aTime - DateTime.UtcNow).Minutes > 15)
|
if ((aTime - DateTime.UtcNow).Minutes > 15)
|
||||||
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ValidationCode.PAST_DATE:
|
case ValidationCode.PAST_DATE:
|
||||||
{
|
{
|
||||||
if (value.Length == 0) violations.Add(RuleEngine.CreateViolation(ValidationCode.NOT_NULL, property.Name, value, entity.Title, identifier, entity.Tablename));
|
if (value.Length == 0) violations.Add(RuleEngine.CreateViolation(ValidationCode.NOT_NULL, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
if (DateTime.TryParse(value, out DateTime aTime))
|
if (DateTime.TryParse(value, out DateTime aTime))
|
||||||
{
|
{
|
||||||
if (aTime < DateTime.UtcNow)
|
if (aTime < DateTime.UtcNow)
|
||||||
violations.Add(RuleEngine.CreateViolation(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
violations.Add(RuleEngine.CreateViolation(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -368,11 +368,11 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
if(!value.IsNullOrEmpty() && (value.Contains(",")))
|
if(!value.IsNullOrEmpty() && (value.Contains(",")))
|
||||||
{
|
{
|
||||||
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
if(!value.IsNullOrEmpty() && !value.Trim().Any(char.IsDigit)) // falls "-" oder keine Zahl enthalten, Fehler!
|
if(!value.IsNullOrEmpty() && !value.Trim().Any(char.IsDigit)) // falls "-" oder keine Zahl enthalten, Fehler!
|
||||||
{
|
{
|
||||||
errors.Add(RuleEngine.CreateError(ValidationCode.IMPLAUSIBLE, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(ValidationCode.IMPLAUSIBLE, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -380,25 +380,25 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
if((value.Length == 0) || (STAT.VesselTypeDict?.ContainsKey(value) == false))
|
if((value.Length == 0) || (STAT.VesselTypeDict?.ContainsKey(value) == false))
|
||||||
{
|
{
|
||||||
errors.Add(RuleEngine.CreateError(ValidationCode.NOT_NULL, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(ValidationCode.NOT_NULL, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ValidationCode.NOT_NULL_MAX_LEN:
|
case ValidationCode.NOT_NULL_MAX_LEN:
|
||||||
if ((value.Length > maxlen) || (value.Length == 0))
|
if ((value.Length > maxlen) || (value.Length == 0))
|
||||||
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
break;
|
break;
|
||||||
case ValidationCode.FRZ:
|
case ValidationCode.FRZ:
|
||||||
{
|
{
|
||||||
Regex rgx = new Regex("^[A-Z,a-z,0-9]{4,7}$");
|
Regex rgx = new Regex("^[A-Z,a-z,0-9]{4,7}$");
|
||||||
if (!rgx.IsMatch(value)) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
if (!rgx.IsMatch(value)) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ValidationCode.MMSI:
|
case ValidationCode.MMSI:
|
||||||
{
|
{
|
||||||
Regex rgx = new Regex("^[0-9]{9}$");
|
Regex rgx = new Regex("^[0-9]{9}$");
|
||||||
if (!rgx.IsMatch(value)) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
if (!rgx.IsMatch(value)) errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ValidationCode.INVALID_NUMBER_CHARS:
|
case ValidationCode.INVALID_NUMBER_CHARS:
|
||||||
@ -409,7 +409,7 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
if((elems[i].Length > 50) || (elems[i].IndexOfAny(invalidChars) >= 0))
|
if((elems[i].Length > 50) || (elems[i].IndexOfAny(invalidChars) >= 0))
|
||||||
{
|
{
|
||||||
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Tablename));
|
errors.Add(RuleEngine.CreateError(validationCode, property.Name, value, entity.Title, identifier, entity.Title));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -505,20 +505,20 @@ namespace bsmd.database
|
|||||||
|
|
||||||
#region private helper
|
#region private helper
|
||||||
|
|
||||||
internal static MessageError CreateError(ValidationCode validationCode, string p, string value, string entityName,
|
public static MessageError CreateError(ValidationCode validationCode, string property, string value, string entityName,
|
||||||
string identifier = "", string notificationClass = "")
|
string identifier = "", string notificationClass = "")
|
||||||
{
|
{
|
||||||
|
|
||||||
MessageError error = new MessageError();
|
MessageError error = new MessageError();
|
||||||
|
|
||||||
if (identifier.IsNullOrEmpty())
|
if (identifier.IsNullOrEmpty())
|
||||||
error.FullName = string.Format("{0}.{1}", entityName, p);
|
error.FullName = string.Format("{0}.{1}", entityName, property);
|
||||||
else
|
else
|
||||||
error.FullName = string.Format("{0}.{1}_{2}", entityName, p, identifier);
|
error.FullName = string.Format("{0}.{1}_{2}", entityName, property, identifier);
|
||||||
|
|
||||||
error.ErrorCode = (int)validationCode;
|
error.ErrorCode = (int)validationCode;
|
||||||
error.Identifier = identifier;
|
error.Identifier = identifier;
|
||||||
error.PropertyName = p;
|
error.PropertyName = property;
|
||||||
|
|
||||||
var match = Regex.Match(notificationClass, @"\[*\]\.\[(.*)\]");
|
var match = Regex.Match(notificationClass, @"\[*\]\.\[(.*)\]");
|
||||||
if (match.Success)
|
if (match.Success)
|
||||||
@ -528,11 +528,11 @@ namespace bsmd.database
|
|||||||
|
|
||||||
if (errorTextList.ContainsKey((int)validationCode))
|
if (errorTextList.ContainsKey((int)validationCode))
|
||||||
{
|
{
|
||||||
error.ErrorText = string.Format(errorTextList[(int)validationCode], p, value);
|
error.ErrorText = string.Format(errorTextList[(int)validationCode], property, value);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
error.ErrorText = p;
|
error.ErrorText = property;
|
||||||
if (value != null)
|
if (value != null)
|
||||||
error.ErrorText += " - " + value;
|
error.ErrorText += " - " + value;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -51,6 +51,7 @@ namespace bsmd.database
|
|||||||
WORDOVERFLOW,
|
WORDOVERFLOW,
|
||||||
VALUE_TOO_LARGE,
|
VALUE_TOO_LARGE,
|
||||||
PAST_DATE,
|
PAST_DATE,
|
||||||
|
NO_PAX,
|
||||||
V181 = 181,
|
V181 = 181,
|
||||||
V182,
|
V182,
|
||||||
E121 = 121,
|
E121 = 121,
|
||||||
|
|||||||
@ -65,7 +65,7 @@ namespace bsmd.database
|
|||||||
_validationFields.AddRange(GetFieldsForClass(typeof(BRKD), true, Message.NotificationClass.BKRD));
|
_validationFields.AddRange(GetFieldsForClass(typeof(BRKD), true, Message.NotificationClass.BKRD));
|
||||||
_validationFields.AddRange(GetFieldsForClass(typeof(BPOL), false, Message.NotificationClass.BPOL));
|
_validationFields.AddRange(GetFieldsForClass(typeof(BPOL), false, Message.NotificationClass.BPOL));
|
||||||
_validationFields.AddRange(GetFieldsForClass(typeof(CallPurpose), true, null));
|
_validationFields.AddRange(GetFieldsForClass(typeof(CallPurpose), true, null));
|
||||||
_validationFields.AddRange(GetFieldsForClass(typeof(CREW), true, Message.NotificationClass.CREW));
|
_validationFields.AddRange(GetFieldsForClass(typeof(CREW), true, Message.NotificationClass.CREWA));
|
||||||
_validationFields.AddRange(GetFieldsForClass(typeof(Customer), false, null));
|
_validationFields.AddRange(GetFieldsForClass(typeof(Customer), false, null));
|
||||||
|
|
||||||
_validationFields.AddRange(GetFieldsForClass(typeof(HAZ), false, Message.NotificationClass.HAZA));
|
_validationFields.AddRange(GetFieldsForClass(typeof(HAZ), false, Message.NotificationClass.HAZA));
|
||||||
@ -89,7 +89,7 @@ namespace bsmd.database
|
|||||||
_validationFields.AddRange(GetFieldsForClass(typeof(MDH), false, Message.NotificationClass.MDH));
|
_validationFields.AddRange(GetFieldsForClass(typeof(MDH), false, Message.NotificationClass.MDH));
|
||||||
_validationFields.AddRange(GetFieldsForClass(typeof(NAME), false, Message.NotificationClass.NAME));
|
_validationFields.AddRange(GetFieldsForClass(typeof(NAME), false, Message.NotificationClass.NAME));
|
||||||
_validationFields.AddRange(GetFieldsForClass(typeof(NOA_NOD), false, Message.NotificationClass.NOA_NOD));
|
_validationFields.AddRange(GetFieldsForClass(typeof(NOA_NOD), false, Message.NotificationClass.NOA_NOD));
|
||||||
_validationFields.AddRange(GetFieldsForClass(typeof(PAS), true, Message.NotificationClass.PAS));
|
_validationFields.AddRange(GetFieldsForClass(typeof(PAS), true, Message.NotificationClass.PASA));
|
||||||
_validationFields.AddRange(GetFieldsForClass(typeof(POBA), false, Message.NotificationClass.POBA));
|
_validationFields.AddRange(GetFieldsForClass(typeof(POBA), false, Message.NotificationClass.POBA));
|
||||||
_validationFields.AddRange(GetFieldsForClass(typeof(POBD), false, Message.NotificationClass.POBD));
|
_validationFields.AddRange(GetFieldsForClass(typeof(POBD), false, Message.NotificationClass.POBD));
|
||||||
_validationFields.AddRange(GetFieldsForClass(typeof(PortArea), true, null));
|
_validationFields.AddRange(GetFieldsForClass(typeof(PortArea), true, null));
|
||||||
|
|||||||
@ -84,10 +84,10 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="log4net, Version=2.0.15.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
|
<Reference Include="log4net, Version=2.0.15.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\log4net.2.0.15\lib\net45\log4net.dll</HintPath>
|
<HintPath>..\ENI2\packages\log4net.2.0.15\lib\net45\log4net.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
<HintPath>..\ENI2\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="PresentationCore" />
|
<Reference Include="PresentationCore" />
|
||||||
<Reference Include="PresentationFramework" />
|
<Reference Include="PresentationFramework" />
|
||||||
|
|||||||
@ -117,7 +117,10 @@ namespace bsmd.dbh
|
|||||||
public static void SendAndReceive()
|
public static void SendAndReceive()
|
||||||
{
|
{
|
||||||
// sent unsent messages in output folder
|
// sent unsent messages in output folder
|
||||||
bsmd.dakosy.SFtp.TransmitAll(Properties.Settings.Default.RemoteIncomingFolder, Properties.Settings.Default.OutgoingFolder, dakosy.SFtp.Direction.OUTGOING, Properties.Settings.Default.SFTPOpenCommand);
|
dakosy.SFtp.TransmitAllFiles(Properties.Settings.Default.RemoteIncomingFolder, Properties.Settings.Default.OutgoingFolder,
|
||||||
|
Properties.Settings.Default.SFTPHost, Properties.Settings.Default.SFTPUsername, Properties.Settings.Default.SFTPrivateKeyPath, Properties.Settings.Default.SFTPHostKey);
|
||||||
|
|
||||||
|
//bsmd.dakosy.SFtp.TransmitAll(Properties.Settings.Default.RemoteIncomingFolder, Properties.Settings.Default.OutgoingFolder, dakosy.SFtp.Direction.OUTGOING, Properties.Settings.Default.SFTPOpenCommand);
|
||||||
// move files from output folder to archive folder
|
// move files from output folder to archive folder
|
||||||
foreach(string sentFile in Directory.GetFiles(Properties.Settings.Default.OutgoingFolder))
|
foreach(string sentFile in Directory.GetFiles(Properties.Settings.Default.OutgoingFolder))
|
||||||
{
|
{
|
||||||
@ -130,7 +133,9 @@ namespace bsmd.dbh
|
|||||||
|
|
||||||
// receive files from remote host
|
// receive files from remote host
|
||||||
// SFTP verbindung öffnen und alle Dateien herunterladen
|
// SFTP verbindung öffnen und alle Dateien herunterladen
|
||||||
bsmd.dakosy.SFtp.TransmitAll(Properties.Settings.Default.RemoteOutgoingFolder, Properties.Settings.Default.IncomingFolder, dakosy.SFtp.Direction.INCOMING, Properties.Settings.Default.SFTPOpenCommand);
|
//bsmd.dakosy.SFtp.TransmitAll(Properties.Settings.Default.RemoteOutgoingFolder, Properties.Settings.Default.IncomingFolder, dakosy.SFtp.Direction.INCOMING, Properties.Settings.Default.SFTPOpenCommand);
|
||||||
|
dakosy.SFtp.ReceiveAllFiles(Properties.Settings.Default.RemoteOutgoingFolder, Properties.Settings.Default.IncomingFolder, Properties.Settings.Default.SFTPHost,
|
||||||
|
Properties.Settings.Default.SFTPUsername, Properties.Settings.Default.SFTPrivateKeyPath, Properties.Settings.Default.SFTPHostKey);
|
||||||
|
|
||||||
foreach (string inputFile in Directory.GetFiles(Properties.Settings.Default.IncomingFolder))
|
foreach (string inputFile in Directory.GetFiles(Properties.Settings.Default.IncomingFolder))
|
||||||
{
|
{
|
||||||
@ -150,8 +155,9 @@ namespace bsmd.dbh
|
|||||||
File.Copy(inputFile, archivePath, true);
|
File.Copy(inputFile, archivePath, true);
|
||||||
File.Delete(inputFile);
|
File.Delete(inputFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
// remote Dateien löschen
|
// remote Dateien löschen
|
||||||
bsmd.dakosy.SFtp.RemoveProcessedFile(Properties.Settings.Default.RemoteOutgoingFolder, Path.GetFileName(inputFile), Properties.Settings.Default.SFTPOpenCommand);
|
// bsmd.dakosy.SFtp.RemoveProcessedFile(Properties.Settings.Default.RemoteOutgoingFolder, Path.GetFileName(inputFile), Properties.Settings.Default.SFTPOpenCommand);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
51
bsmd.dbh/Properties/Settings.Designer.cs
generated
51
bsmd.dbh/Properties/Settings.Designer.cs
generated
@ -12,7 +12,7 @@ namespace bsmd.dbh.Properties {
|
|||||||
|
|
||||||
|
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.5.0.0")]
|
||||||
public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||||
|
|
||||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||||
@ -88,18 +88,7 @@ namespace bsmd.dbh.Properties {
|
|||||||
|
|
||||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("dbh")]
|
[global::System.Configuration.DefaultSettingValueAttribute("e:\\temp\\dbh\\in_error")]
|
||||||
public string SFTPOpenCommand {
|
|
||||||
get {
|
|
||||||
return ((string)(this["SFTPOpenCommand"]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("sftp://f-000333@fx.dbh.de/ -hostkey=\"ecdsa-sha2-nistp256 256 453JBU8hAOOQ7wEvmTw5" +
|
|
||||||
"fXsUyZsVCSufyATbGKLh+ak\" -privatekey=\"C:\\work\\Services\\SendNSWMessageService\\dbh" +
|
|
||||||
"\\sshkeynp.ppk\"")]
|
|
||||||
public string IncomingErrorFolder {
|
public string IncomingErrorFolder {
|
||||||
get {
|
get {
|
||||||
return ((string)(this["IncomingErrorFolder"]));
|
return ((string)(this["IncomingErrorFolder"]));
|
||||||
@ -114,5 +103,41 @@ namespace bsmd.dbh.Properties {
|
|||||||
return ((string)(this["SenderMaersk"]));
|
return ((string)(this["SenderMaersk"]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Configuration.DefaultSettingValueAttribute("fx.dbh.de")]
|
||||||
|
public string SFTPHost {
|
||||||
|
get {
|
||||||
|
return ((string)(this["SFTPHost"]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Configuration.DefaultSettingValueAttribute("C:\\work\\Services\\SendNSWMessageService\\dbh\\sshkeynp.ppk")]
|
||||||
|
public string SFTPrivateKeyPath {
|
||||||
|
get {
|
||||||
|
return ((string)(this["SFTPrivateKeyPath"]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Configuration.DefaultSettingValueAttribute("ecdsa-sha2-nistp256 256 453JBU8hAOOQ7wEvmTw5fXsUyZsVCSufyATbGKLh+ak")]
|
||||||
|
public string SFTPHostKey {
|
||||||
|
get {
|
||||||
|
return ((string)(this["SFTPHostKey"]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Configuration.DefaultSettingValueAttribute("f-000333")]
|
||||||
|
public string SFTPUsername {
|
||||||
|
get {
|
||||||
|
return ((string)(this["SFTPUsername"]));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,14 +23,23 @@
|
|||||||
<Setting Name="RemoteOutgoingFolder" Type="System.String" Scope="Application">
|
<Setting Name="RemoteOutgoingFolder" Type="System.String" Scope="Application">
|
||||||
<Value Profile="(Default)">test/dbh_2_bsmd</Value>
|
<Value Profile="(Default)">test/dbh_2_bsmd</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="SFTPOpenCommand" Type="System.String" Scope="Application">
|
|
||||||
<Value Profile="(Default)">dbh</Value>
|
|
||||||
</Setting>
|
|
||||||
<Setting Name="IncomingErrorFolder" Type="System.String" Scope="Application">
|
<Setting Name="IncomingErrorFolder" Type="System.String" Scope="Application">
|
||||||
<Value Profile="(Default)">sftp://f-000333@fx.dbh.de/ -hostkey="ecdsa-sha2-nistp256 256 453JBU8hAOOQ7wEvmTw5fXsUyZsVCSufyATbGKLh+ak" -privatekey="C:\work\Services\SendNSWMessageService\dbh\sshkeynp.ppk"</Value>
|
<Value Profile="(Default)">e:\temp\dbh\in_error</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="SenderMaersk" Type="System.String" Scope="Application">
|
<Setting Name="SenderMaersk" Type="System.String" Scope="Application">
|
||||||
<Value Profile="(Default)">00006017</Value>
|
<Value Profile="(Default)">00006017</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
|
<Setting Name="SFTPHost" Type="System.String" Scope="Application">
|
||||||
|
<Value Profile="(Default)">fx.dbh.de</Value>
|
||||||
|
</Setting>
|
||||||
|
<Setting Name="SFTPrivateKeyPath" Type="System.String" Scope="Application">
|
||||||
|
<Value Profile="(Default)">C:\work\Services\SendNSWMessageService\dbh\sshkeynp.ppk</Value>
|
||||||
|
</Setting>
|
||||||
|
<Setting Name="SFTPHostKey" Type="System.String" Scope="Application">
|
||||||
|
<Value Profile="(Default)">ecdsa-sha2-nistp256 256 453JBU8hAOOQ7wEvmTw5fXsUyZsVCSufyATbGKLh+ak</Value>
|
||||||
|
</Setting>
|
||||||
|
<Setting Name="SFTPUsername" Type="System.String" Scope="Application">
|
||||||
|
<Value Profile="(Default)">f-000333</Value>
|
||||||
|
</Setting>
|
||||||
</Settings>
|
</Settings>
|
||||||
</SettingsFile>
|
</SettingsFile>
|
||||||
File diff suppressed because it is too large
Load Diff
@ -25,8 +25,8 @@ namespace bsmd.dbh
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
Root root = new Root();
|
Root root = new Root();
|
||||||
root.Version = RootVersion.Item71;
|
root.Version = RootVersion.Item72;
|
||||||
root.SourceDocumentVersion = "7.1";
|
root.SourceDocumentVersion = "7.2";
|
||||||
root.Timestamp = DateTime.Now;
|
root.Timestamp = DateTime.Now;
|
||||||
string filenameComponent;
|
string filenameComponent;
|
||||||
|
|
||||||
@ -461,38 +461,43 @@ namespace bsmd.dbh
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region CREW
|
#region CREWA
|
||||||
|
|
||||||
case Message.NotificationClass.CREW:
|
case Message.NotificationClass.CREWA:
|
||||||
{
|
{
|
||||||
|
|
||||||
RootCREW rootCREW = new RootCREW();
|
RootCREWA rootCREW = new RootCREWA();
|
||||||
|
|
||||||
rootCREW.CrewMember = new RootCREWCrewMember[message.Elements.Count];
|
rootCREW.CrewMember = new RootCREWACrewMember[message.Elements.Count];
|
||||||
for (int i = 0; i < message.Elements.Count; i++)
|
for (int i = 0; i < message.Elements.Count; i++)
|
||||||
{
|
{
|
||||||
CREW crew = message.Elements[i] as CREW;
|
CREW crew = message.Elements[i] as CREW;
|
||||||
rootCREW.CrewMember[i] = new RootCREWCrewMember();
|
rootCREW.CrewMember[i] = new RootCREWACrewMember();
|
||||||
if (crew.CrewMemberDateOfBirth.HasValue)
|
if (crew.CrewMemberDateOfBirth.HasValue)
|
||||||
rootCREW.CrewMember[i].CrewMemberDateOfBirth = crew.CrewMemberDateOfBirth.Value;
|
rootCREW.CrewMember[i].DateOfBirth = crew.CrewMemberDateOfBirth.Value;
|
||||||
rootCREW.CrewMember[i].CrewMemberDuty = crew.CrewMemberDuty;
|
rootCREW.CrewMember[i].DutyOnBoard = crew.CrewMemberDuty;
|
||||||
rootCREW.CrewMember[i].CrewMemberFirstName = crew.CrewMemberFirstName;
|
rootCREW.CrewMember[i].FirstName = crew.CrewMemberFirstName;
|
||||||
rootCREW.CrewMember[i].CrewMemberGenderSpecified = crew.CrewMemberGender.HasValue;
|
rootCREW.CrewMember[i].LastName = crew.CrewMemberLastName;
|
||||||
if (crew.CrewMemberGender.HasValue)
|
rootCREW.CrewMember[i].Nationality = crew.CrewMemberNationality;
|
||||||
rootCREW.CrewMember[i].CrewMemberGender = SetGender(crew.CrewMemberGender.Value);
|
rootCREW.CrewMember[i].PlaceOfBirth = crew.CrewMemberPlaceOfBirth;
|
||||||
rootCREW.CrewMember[i].CrewMemberIdentityDocumentId = crew.CrewMemberIdentityDocumentId;
|
rootCREW.CrewMember[i].CountryOfBirth = crew.CrewMemberCountryOfBirth;
|
||||||
|
rootCREW.CrewMember[i].Gender = SetGender(crew.CrewMemberGender.Value);
|
||||||
|
|
||||||
|
if (crew.NotificationSchengen ?? false)
|
||||||
|
{
|
||||||
|
rootCREW.CrewMember[i].DetailsSchengen = new RootCREWACrewMemberDetailsSchengen();
|
||||||
|
rootCREW.CrewMember[i].DetailsSchengen.IdentityDocumentId = crew.CrewMemberIdentityDocumentId;
|
||||||
if (crew.CrewMemberIdentityDocumentType.HasValue)
|
if (crew.CrewMemberIdentityDocumentType.HasValue)
|
||||||
rootCREW.CrewMember[i].CrewMemberIdentityDocumentType = (IdDocType)crew.CrewMemberIdentityDocumentType.Value;
|
rootCREW.CrewMember[i].DetailsSchengen.IdentityDocumentType = (IdDocType)crew.CrewMemberIdentityDocumentType.Value;
|
||||||
rootCREW.CrewMember[i].CrewMemberLastName = crew.CrewMemberLastName;
|
if(!crew.CrewMemberVisaNumber.IsNullOrEmpty())
|
||||||
rootCREW.CrewMember[i].CrewMemberNationality = crew.CrewMemberNationality;
|
rootCREW.CrewMember[i].DetailsSchengen.VisaNumber = crew.CrewMemberVisaNumber;
|
||||||
rootCREW.CrewMember[i].CrewMemberPlaceOfBirth = crew.CrewMemberPlaceOfBirth;
|
|
||||||
rootCREW.CrewMember[i].CrewMemberVisaNumber = crew.CrewMemberVisaNumber;
|
|
||||||
if (crew.CrewMemberIdentityDocumentIssuingState.Trim().Length == 2)
|
if (crew.CrewMemberIdentityDocumentIssuingState.Trim().Length == 2)
|
||||||
rootCREW.CrewMember[i].CrewMemberIdentityDocumentIssuingState = crew.CrewMemberIdentityDocumentIssuingState;
|
rootCREW.CrewMember[i].DetailsSchengen.IdentityDocumentIssuingState = crew.CrewMemberIdentityDocumentIssuingState;
|
||||||
if (crew.CrewMemberIdentityDocumentExpiryDate.HasValue)
|
if (crew.CrewMemberIdentityDocumentExpiryDate.HasValue)
|
||||||
rootCREW.CrewMember[i].CrewMemberIdentityDocumentExpiryDate = crew.CrewMemberIdentityDocumentExpiryDate.Value;
|
rootCREW.CrewMember[i].DetailsSchengen.IdentityDocumentExpiryDate = crew.CrewMemberIdentityDocumentExpiryDate.Value;
|
||||||
}
|
}
|
||||||
// rootCREW.ReportingParty = rp;
|
}
|
||||||
|
|
||||||
root.Items = new object[1];
|
root.Items = new object[1];
|
||||||
root.Items[0] = rootCREW;
|
root.Items[0] = rootCREW;
|
||||||
|
|
||||||
@ -501,41 +506,157 @@ namespace bsmd.dbh
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region PAS
|
#region CREWD
|
||||||
case Message.NotificationClass.PAS:
|
|
||||||
|
case Message.NotificationClass.CREWD:
|
||||||
{
|
{
|
||||||
RootPAS rootPAS = new RootPAS();
|
|
||||||
rootPAS.Passenger = new RootPASPassenger[message.Elements.Count];
|
RootCREWD rootCREW = new RootCREWD();
|
||||||
|
|
||||||
|
rootCREW.CrewMember = new RootCREWDCrewMember[message.Elements.Count];
|
||||||
|
for (int i = 0; i < message.Elements.Count; i++)
|
||||||
|
{
|
||||||
|
CREW crew = message.Elements[i] as CREW;
|
||||||
|
rootCREW.CrewMember[i] = new RootCREWDCrewMember();
|
||||||
|
if (crew.CrewMemberDateOfBirth.HasValue)
|
||||||
|
rootCREW.CrewMember[i].DateOfBirth = crew.CrewMemberDateOfBirth.Value;
|
||||||
|
rootCREW.CrewMember[i].DutyOnBoard = crew.CrewMemberDuty;
|
||||||
|
rootCREW.CrewMember[i].FirstName = crew.CrewMemberFirstName;
|
||||||
|
rootCREW.CrewMember[i].LastName = crew.CrewMemberLastName;
|
||||||
|
rootCREW.CrewMember[i].Nationality = crew.CrewMemberNationality;
|
||||||
|
rootCREW.CrewMember[i].PlaceOfBirth = crew.CrewMemberPlaceOfBirth;
|
||||||
|
rootCREW.CrewMember[i].CountryOfBirth = crew.CrewMemberCountryOfBirth;
|
||||||
|
rootCREW.CrewMember[i].Gender = SetGender(crew.CrewMemberGender.Value);
|
||||||
|
|
||||||
|
if (crew.NotificationSchengen ?? false)
|
||||||
|
{
|
||||||
|
rootCREW.CrewMember[i].DetailsSchengen = new RootCREWDCrewMemberDetailsSchengen();
|
||||||
|
rootCREW.CrewMember[i].DetailsSchengen.IdentityDocumentId = crew.CrewMemberIdentityDocumentId;
|
||||||
|
if (crew.CrewMemberIdentityDocumentType.HasValue)
|
||||||
|
rootCREW.CrewMember[i].DetailsSchengen.IdentityDocumentType = (IdDocType)crew.CrewMemberIdentityDocumentType.Value;
|
||||||
|
if(!crew.CrewMemberVisaNumber.IsNullOrEmpty())
|
||||||
|
rootCREW.CrewMember[i].DetailsSchengen.VisaNumber = crew.CrewMemberVisaNumber;
|
||||||
|
if (crew.CrewMemberIdentityDocumentIssuingState.Trim().Length == 2)
|
||||||
|
rootCREW.CrewMember[i].DetailsSchengen.IdentityDocumentIssuingState = crew.CrewMemberIdentityDocumentIssuingState;
|
||||||
|
if (crew.CrewMemberIdentityDocumentExpiryDate.HasValue)
|
||||||
|
rootCREW.CrewMember[i].DetailsSchengen.IdentityDocumentExpiryDate = crew.CrewMemberIdentityDocumentExpiryDate.Value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
root.Items = new object[1];
|
||||||
|
root.Items[0] = rootCREW;
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region PASA
|
||||||
|
|
||||||
|
case Message.NotificationClass.PASA:
|
||||||
|
{
|
||||||
|
RootPASA rootPAS = new RootPASA();
|
||||||
|
rootPAS.Passenger = new RootPASAPassenger[message.Elements.Count];
|
||||||
for (int i = 0; i < message.Elements.Count; i++)
|
for (int i = 0; i < message.Elements.Count; i++)
|
||||||
{
|
{
|
||||||
PAS pas = message.Elements[i] as PAS;
|
PAS pas = message.Elements[i] as PAS;
|
||||||
rootPAS.Passenger[i] = new RootPASPassenger();
|
rootPAS.Passenger[i] = new RootPASAPassenger();
|
||||||
rootPAS.Passenger[i].PassengerLastName = pas.PassengerLastName;
|
rootPAS.Passenger[i].LastName = pas.PassengerLastName;
|
||||||
rootPAS.Passenger[i].PassengerFirstName = pas.PassengerFirstName;
|
rootPAS.Passenger[i].FirstName = pas.PassengerFirstName;
|
||||||
rootPAS.Passenger[i].PassengerPlaceOfBirth = pas.PassengerPlaceOfBirth;
|
rootPAS.Passenger[i].PlaceOfBirth = pas.PassengerPlaceOfBirth;
|
||||||
|
rootPAS.Passenger[i].CountryOfBirth = pas.PassengerCountryOfBirth;
|
||||||
if (pas.PassengerDateOfBirth.HasValue)
|
if (pas.PassengerDateOfBirth.HasValue)
|
||||||
rootPAS.Passenger[i].PassengerDateOfBirth = pas.PassengerDateOfBirth.Value;
|
rootPAS.Passenger[i].DateOfBirth = pas.PassengerDateOfBirth.Value;
|
||||||
rootPAS.Passenger[i].PassengerGenderSpecified = pas.PassengerGender.HasValue;
|
rootPAS.Passenger[i].Gender = SetGender(pas.PassengerGender.Value);
|
||||||
if (pas.PassengerGender.HasValue)
|
rootPAS.Passenger[i].Nationality = pas.PassengerNationality;
|
||||||
rootPAS.Passenger[i].PassengerGender = SetGender(pas.PassengerGender.Value);
|
|
||||||
rootPAS.Passenger[i].PassengerNationality = pas.PassengerNationality;
|
if (pas.NotificationSchengen ?? false)
|
||||||
|
{
|
||||||
|
rootPAS.Passenger[i].DetailsSchengen = new RootPASAPassengerDetailsSchengen();
|
||||||
if (pas.PassengerIdentityDocumentType.HasValue)
|
if (pas.PassengerIdentityDocumentType.HasValue)
|
||||||
rootPAS.Passenger[i].PassengerIdentityDocumentType = (IdDocType)pas.PassengerIdentityDocumentType.Value;
|
rootPAS.Passenger[i].DetailsSchengen.IdentityDocumentType = (IdDocType)pas.PassengerIdentityDocumentType.Value;
|
||||||
rootPAS.Passenger[i].PassengerIdentityDocumentId = pas.PassengerIdentityDocumentId;
|
rootPAS.Passenger[i].DetailsSchengen.IdentityDocumentId = pas.PassengerIdentityDocumentId;
|
||||||
rootPAS.Passenger[i].PassengerVisaNumber = pas.PassengerVisaNumber;
|
if(!pas.PassengerVisaNumber.IsNullOrEmpty())
|
||||||
rootPAS.Passenger[i].PassengerPortOfEmbarkation = pas.PassengerPortOfEmbarkation;
|
rootPAS.Passenger[i].DetailsSchengen.VisaNumber = pas.PassengerVisaNumber;
|
||||||
rootPAS.Passenger[i].PassengerPortOfDisembarkation = pas.PassengerPortOfDisembarkation;
|
rootPAS.Passenger[i].DetailsSchengen.PortOfEmbarkation = pas.PassengerPortOfEmbarkation;
|
||||||
rootPAS.Passenger[i].PassengerInTransit = pas.PassengerInTransit ?? false ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N;
|
rootPAS.Passenger[i].DetailsSchengen.PortOfDisembarkation = pas.PassengerPortOfDisembarkation;
|
||||||
|
rootPAS.Passenger[i].DetailsSchengen.InTransit = pas.PassengerInTransit ?? false ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N;
|
||||||
if (pas.PassengerIdentityDocumentIssuingState.Trim().Length == 2)
|
if (pas.PassengerIdentityDocumentIssuingState.Trim().Length == 2)
|
||||||
rootPAS.Passenger[i].PassengerIdentityDocumentIssuingState = pas.PassengerIdentityDocumentIssuingState;
|
rootPAS.Passenger[i].DetailsSchengen.IdentityDocumentIssuingState = pas.PassengerIdentityDocumentIssuingState;
|
||||||
if (pas.PassengerIdentityDocumentExpiryDate.HasValue)
|
if (pas.PassengerIdentityDocumentExpiryDate.HasValue)
|
||||||
rootPAS.Passenger[i].PassengerIdentityDocumentExpiryDate = pas.PassengerIdentityDocumentExpiryDate.Value;
|
rootPAS.Passenger[i].DetailsSchengen.IdentityDocumentExpiryDate = pas.PassengerIdentityDocumentExpiryDate.Value;
|
||||||
}
|
}
|
||||||
// rootPAS.ReportingParty = rp;
|
|
||||||
|
if(pas.NotificationPAX ?? false)
|
||||||
|
{
|
||||||
|
rootPAS.Passenger[i].DetailsPAX = new RootPASAPassengerDetailsPAX();
|
||||||
|
if (!pas.EmergencyCare.IsNullOrEmpty())
|
||||||
|
rootPAS.Passenger[i].DetailsPAX.EmergencyCare = pas.EmergencyCare;
|
||||||
|
if (!pas.EmergencyContactNumber.IsNullOrEmpty())
|
||||||
|
rootPAS.Passenger[i].DetailsPAX.EmergencyContactNumber = pas.EmergencyContactNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
root.Items = new object[1];
|
root.Items = new object[1];
|
||||||
root.Items[0] = rootPAS;
|
root.Items[0] = rootPAS;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region PASD
|
||||||
|
|
||||||
|
case Message.NotificationClass.PASD:
|
||||||
|
{
|
||||||
|
RootPASD rootPAS = new RootPASD();
|
||||||
|
rootPAS.Passenger = new RootPASDPassenger[message.Elements.Count];
|
||||||
|
for (int i = 0; i < message.Elements.Count; i++)
|
||||||
|
{
|
||||||
|
PAS pas = message.Elements[i] as PAS;
|
||||||
|
rootPAS.Passenger[i] = new RootPASDPassenger();
|
||||||
|
rootPAS.Passenger[i].LastName = pas.PassengerLastName;
|
||||||
|
rootPAS.Passenger[i].FirstName = pas.PassengerFirstName;
|
||||||
|
rootPAS.Passenger[i].CountryOfBirth = pas.PassengerCountryOfBirth;
|
||||||
|
rootPAS.Passenger[i].PlaceOfBirth = pas.PassengerPlaceOfBirth;
|
||||||
|
if (pas.PassengerDateOfBirth.HasValue)
|
||||||
|
rootPAS.Passenger[i].DateOfBirth = pas.PassengerDateOfBirth.Value;
|
||||||
|
rootPAS.Passenger[i].Gender = SetGender(pas.PassengerGender.Value);
|
||||||
|
rootPAS.Passenger[i].Nationality = pas.PassengerNationality;
|
||||||
|
|
||||||
|
if (pas.NotificationSchengen ?? false)
|
||||||
|
{
|
||||||
|
rootPAS.Passenger[i].DetailsSchengen = new RootPASDPassengerDetailsSchengen();
|
||||||
|
if (pas.PassengerIdentityDocumentType.HasValue)
|
||||||
|
rootPAS.Passenger[i].DetailsSchengen.IdentityDocumentType = (IdDocType)pas.PassengerIdentityDocumentType.Value;
|
||||||
|
rootPAS.Passenger[i].DetailsSchengen.IdentityDocumentId = pas.PassengerIdentityDocumentId;
|
||||||
|
if (!pas.PassengerVisaNumber.IsNullOrEmpty())
|
||||||
|
rootPAS.Passenger[i].DetailsSchengen.VisaNumber = pas.PassengerVisaNumber;
|
||||||
|
rootPAS.Passenger[i].DetailsSchengen.PortOfEmbarkation = pas.PassengerPortOfEmbarkation;
|
||||||
|
rootPAS.Passenger[i].DetailsSchengen.PortOfDisembarkation = pas.PassengerPortOfDisembarkation;
|
||||||
|
rootPAS.Passenger[i].DetailsSchengen.InTransit = pas.PassengerInTransit ?? false ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N;
|
||||||
|
if (pas.PassengerIdentityDocumentIssuingState.Trim().Length == 2)
|
||||||
|
rootPAS.Passenger[i].DetailsSchengen.IdentityDocumentIssuingState = pas.PassengerIdentityDocumentIssuingState;
|
||||||
|
if (pas.PassengerIdentityDocumentExpiryDate.HasValue)
|
||||||
|
rootPAS.Passenger[i].DetailsSchengen.IdentityDocumentExpiryDate = pas.PassengerIdentityDocumentExpiryDate.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pas.NotificationPAX ?? false)
|
||||||
|
{
|
||||||
|
rootPAS.Passenger[i].DetailsPAX = new RootPASDPassengerDetailsPAX();
|
||||||
|
if (!pas.EmergencyCare.IsNullOrEmpty())
|
||||||
|
rootPAS.Passenger[i].DetailsPAX.EmergencyCare = pas.EmergencyCare;
|
||||||
|
if (!pas.EmergencyContactNumber.IsNullOrEmpty())
|
||||||
|
rootPAS.Passenger[i].DetailsPAX.EmergencyContactNumber = pas.EmergencyContactNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
root.Items = new object[1];
|
||||||
|
root.Items[0] = rootPAS;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region BKRA
|
#region BKRA
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// Dieser Code wurde von einem Tool generiert.
|
// Dieser Code wurde von einem Tool generiert.
|
||||||
// Laufzeitversion:2.0.50727.9151
|
// Laufzeitversion:4.0.30319.42000
|
||||||
//
|
//
|
||||||
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||||
// der Code erneut generiert wird.
|
// der Code erneut generiert wird.
|
||||||
@ -11,14 +11,14 @@
|
|||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
|
|
||||||
//
|
//
|
||||||
// This source code was auto-generated by xsd, Version=2.0.50727.312.
|
// Dieser Quellcode wurde automatisch generiert von xsd, Version=4.8.3928.0.
|
||||||
//
|
//
|
||||||
|
|
||||||
namespace bsmd.dbh.Response
|
namespace bsmd.dbh.Response
|
||||||
{
|
{
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.312")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
||||||
[System.SerializableAttribute()]
|
[System.SerializableAttribute()]
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||||
@ -257,7 +257,7 @@ namespace bsmd.dbh.Response
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.312")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
||||||
[System.SerializableAttribute()]
|
[System.SerializableAttribute()]
|
||||||
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
|
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
|
||||||
public enum RootVersion
|
public enum RootVersion
|
||||||
@ -265,11 +265,11 @@ namespace bsmd.dbh.Response
|
|||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Xml.Serialization.XmlEnumAttribute("1.0")]
|
[System.Xml.Serialization.XmlEnumAttribute("1.0")]
|
||||||
Item70,
|
Item72,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.312")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
||||||
[System.SerializableAttribute()]
|
[System.SerializableAttribute()]
|
||||||
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
|
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
|
||||||
public enum RootType
|
public enum RootType
|
||||||
@ -292,7 +292,7 @@ namespace bsmd.dbh.Response
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.312")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
||||||
[System.SerializableAttribute()]
|
[System.SerializableAttribute()]
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||||
@ -318,7 +318,7 @@ namespace bsmd.dbh.Response
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.312")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
||||||
[System.SerializableAttribute()]
|
[System.SerializableAttribute()]
|
||||||
public enum ReportingClassCode
|
public enum ReportingClassCode
|
||||||
{
|
{
|
||||||
@ -384,10 +384,16 @@ namespace bsmd.dbh.Response
|
|||||||
WAS_RCPT,
|
WAS_RCPT,
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
CREW,
|
CREWA,
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
PAS,
|
CREWD,
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
PASA,
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
PASD,
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
BPOL,
|
BPOL,
|
||||||
@ -406,7 +412,7 @@ namespace bsmd.dbh.Response
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.312")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
||||||
[System.SerializableAttribute()]
|
[System.SerializableAttribute()]
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||||
@ -432,7 +438,7 @@ namespace bsmd.dbh.Response
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.312")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
||||||
[System.SerializableAttribute()]
|
[System.SerializableAttribute()]
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||||
@ -458,7 +464,7 @@ namespace bsmd.dbh.Response
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.312")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
||||||
[System.SerializableAttribute()]
|
[System.SerializableAttribute()]
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||||
@ -484,7 +490,7 @@ namespace bsmd.dbh.Response
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.312")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
||||||
[System.SerializableAttribute()]
|
[System.SerializableAttribute()]
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||||
@ -510,7 +516,7 @@ namespace bsmd.dbh.Response
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.312")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
||||||
[System.SerializableAttribute()]
|
[System.SerializableAttribute()]
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||||
@ -580,7 +586,7 @@ namespace bsmd.dbh.Response
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.312")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
||||||
[System.SerializableAttribute()]
|
[System.SerializableAttribute()]
|
||||||
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
|
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
|
||||||
public enum RootMessageType
|
public enum RootMessageType
|
||||||
|
|||||||
@ -170,7 +170,11 @@ namespace bsmd.dbh
|
|||||||
DBManager.Instance.Save(mv);
|
DBManager.Instance.Save(mv);
|
||||||
break;
|
break;
|
||||||
case Response.RootMessageType.XSD_ERROR:
|
case Response.RootMessageType.XSD_ERROR:
|
||||||
// TODO
|
MessageError me_xsd = new MessageError();
|
||||||
|
me_xsd.MessageHeaderId = sentMessage.Id.Value;
|
||||||
|
me_xsd.MessageHeader = sentMessage;
|
||||||
|
me_xsd.ErrorText = rootMessage.Text;
|
||||||
|
DBManager.Instance.Save(me_xsd);
|
||||||
break;
|
break;
|
||||||
case Response.RootMessageType.INFO:
|
case Response.RootMessageType.INFO:
|
||||||
// TODO
|
// TODO
|
||||||
|
|||||||
@ -28,15 +28,24 @@
|
|||||||
<setting name="RemoteOutgoingFolder" serializeAs="String">
|
<setting name="RemoteOutgoingFolder" serializeAs="String">
|
||||||
<value>test/dbh_2_bsmd</value>
|
<value>test/dbh_2_bsmd</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="SFTPOpenCommand" serializeAs="String">
|
|
||||||
<value>dbh</value>
|
|
||||||
</setting>
|
|
||||||
<setting name="IncomingErrorFolder" serializeAs="String">
|
<setting name="IncomingErrorFolder" serializeAs="String">
|
||||||
<value>sftp://f-000333@fx.dbh.de/ -hostkey="ecdsa-sha2-nistp256 256 453JBU8hAOOQ7wEvmTw5fXsUyZsVCSufyATbGKLh+ak" -privatekey="C:\work\Services\SendNSWMessageService\dbh\sshkeynp.ppk"</value>
|
<value>e:\temp\dbh\in_error</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="SenderMaersk" serializeAs="String">
|
<setting name="SenderMaersk" serializeAs="String">
|
||||||
<value>00006017</value>
|
<value>00006017</value>
|
||||||
</setting>
|
</setting>
|
||||||
|
<setting name="SFTPHost" serializeAs="String">
|
||||||
|
<value>fx.dbh.de</value>
|
||||||
|
</setting>
|
||||||
|
<setting name="SFTPrivateKeyPath" serializeAs="String">
|
||||||
|
<value>C:\work\Services\SendNSWMessageService\dbh\sshkeynp.ppk</value>
|
||||||
|
</setting>
|
||||||
|
<setting name="SFTPHostKey" serializeAs="String">
|
||||||
|
<value>ecdsa-sha2-nistp256 256 453JBU8hAOOQ7wEvmTw5fXsUyZsVCSufyATbGKLh+ak</value>
|
||||||
|
</setting>
|
||||||
|
<setting name="SFTPUsername" serializeAs="String">
|
||||||
|
<value>f-000333</value>
|
||||||
|
</setting>
|
||||||
</bsmd.dbh.Properties.Settings>
|
</bsmd.dbh.Properties.Settings>
|
||||||
</applicationSettings>
|
</applicationSettings>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|||||||
@ -14,3 +14,8 @@ generierten Service-Klassen den Namespace auf "" gesetzt.wsdl.exe war nicht notw
|
|||||||
so:
|
so:
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://www.openuri.org/submit", RequestNamespace="", ResponseElementName="submitResponse", ResponseNamespace="", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://www.openuri.org/submit", RequestNamespace="", ResponseElementName="submitResponse", ResponseNamespace="", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
|
|
||||||
|
13.11.23
|
||||||
|
Anpassung Timestamp Root Objekt als String(!) statt serialisiertem DateTime um die Nano-Sekunden
|
||||||
|
wegzubekommen und die DBH String Formatierung hinzukriegen. War vorher zwar auch nicht so aber Heinz-Dieter hat
|
||||||
|
es so angemerkt.
|
||||||
|
Achtung: Bei einer Neugenerierung muss man es vermutlich wieder nachziehen.
|
||||||
@ -49,8 +49,8 @@ namespace bsmd.hisnord
|
|||||||
XNamespace servNS = "http://api.national-single-window.de/serv";
|
XNamespace servNS = "http://api.national-single-window.de/serv";
|
||||||
XNamespace pre72hNS = "http://api.national-single-window.de/pre72h";
|
XNamespace pre72hNS = "http://api.national-single-window.de/pre72h";
|
||||||
XNamespace wasNS = "http://api.national-single-window.de/was";
|
XNamespace wasNS = "http://api.national-single-window.de/was";
|
||||||
XNamespace crewNS = "http://api.national-single-window.de/crew";
|
XNamespace crewaNS = "http://api.national-single-window.de/crewa";
|
||||||
XNamespace pasNS = "http://api.national-single-window.de/pas";
|
XNamespace pasaNS = "http://api.national-single-window.de/pasa";
|
||||||
XNamespace bpolNS = "http://api.national-single-window.de/bpol";
|
XNamespace bpolNS = "http://api.national-single-window.de/bpol";
|
||||||
XNamespace towaNS = "http://api.national-single-window.de/towa";
|
XNamespace towaNS = "http://api.national-single-window.de/towa";
|
||||||
XNamespace towdNS = "http://api.national-single-window.de/towd";
|
XNamespace towdNS = "http://api.national-single-window.de/towd";
|
||||||
@ -206,11 +206,11 @@ namespace bsmd.hisnord
|
|||||||
case Message.NotificationClass.WAS:
|
case Message.NotificationClass.WAS:
|
||||||
lookupName = wasNS + "WASResponse";
|
lookupName = wasNS + "WASResponse";
|
||||||
break;
|
break;
|
||||||
case Message.NotificationClass.CREW:
|
case Message.NotificationClass.CREWA:
|
||||||
lookupName = crewNS + "CREWResponse";
|
lookupName = crewaNS + "CREWAResponse";
|
||||||
break;
|
break;
|
||||||
case Message.NotificationClass.PAS:
|
case Message.NotificationClass.PASA:
|
||||||
lookupName = pasNS + "PASResponse";
|
lookupName = pasaNS + "PASAResponse";
|
||||||
break;
|
break;
|
||||||
case Message.NotificationClass.BPOL:
|
case Message.NotificationClass.BPOL:
|
||||||
lookupName = bpolNS + "BPOLResponse";
|
lookupName = bpolNS + "BPOLResponse";
|
||||||
@ -294,8 +294,7 @@ namespace bsmd.hisnord
|
|||||||
foreach(XElement anElem in elem)
|
foreach(XElement anElem in elem)
|
||||||
{
|
{
|
||||||
MessageViolation mv = new MessageViolation();
|
MessageViolation mv = new MessageViolation();
|
||||||
int vCode = -1;
|
if (!Int32.TryParse(anElem.Element(vCodeName).Value, out int vCode))
|
||||||
if (!Int32.TryParse(anElem.Element(vCodeName).Value, out vCode))
|
|
||||||
_log.WarnFormat("cannot convert violation code to int: {0}", anElem.Element(vCodeName).Value);
|
_log.WarnFormat("cannot convert violation code to int: {0}", anElem.Element(vCodeName).Value);
|
||||||
else
|
else
|
||||||
mv.ViolationCode = vCode;
|
mv.ViolationCode = vCode;
|
||||||
@ -311,8 +310,7 @@ namespace bsmd.hisnord
|
|||||||
foreach (XElement anElem in elem)
|
foreach (XElement anElem in elem)
|
||||||
{
|
{
|
||||||
MessageError me = new MessageError();
|
MessageError me = new MessageError();
|
||||||
int eCode = -1;
|
if (!Int32.TryParse(anElem.Element(eCodeName).Value, out int eCode))
|
||||||
if (!Int32.TryParse(anElem.Element(eCodeName).Value, out eCode))
|
|
||||||
_log.WarnFormat("cannot convert error code to int: {0}", anElem.Element(eCodeName).Value);
|
_log.WarnFormat("cannot convert error code to int: {0}", anElem.Element(eCodeName).Value);
|
||||||
else
|
else
|
||||||
me.ErrorCode = eCode;
|
me.ErrorCode = eCode;
|
||||||
|
|||||||
@ -1373,56 +1373,70 @@ namespace bsmd.hisnord
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region PAS
|
#region PASA
|
||||||
|
|
||||||
// TODO: Da bei mir PAS = PASA (keine eigene Meldeklasse) kann das hier erst direkt zum Stichtag umgesetzt werden
|
if (message.MessageNotificationClass == Message.NotificationClass.PASA)
|
||||||
if (message.MessageNotificationClass == Message.NotificationClass.PAS)
|
|
||||||
{
|
{
|
||||||
if (message.Reset)
|
if (message.Reset)
|
||||||
{
|
{
|
||||||
items1ChoiceType.Add(Items1ChoiceType.RESET_PAS);
|
items1ChoiceType.Add(Items1ChoiceType.RESET_PASA);
|
||||||
items1.Add(ytype.Y);
|
items1.Add(ytype.Y);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (message.Elements.Count > 0)
|
if (message.Elements.Count > 0)
|
||||||
{
|
{
|
||||||
|
global::pastype hn_pastype = new pastype();
|
||||||
|
PAS apasa = message.Elements[0] as PAS;
|
||||||
|
|
||||||
global::pas hn_pas = new pas();
|
hn_pastype.NotificationPAX = (apasa.NotificationPAX ?? false) ? yorntype.Y : yorntype.N;
|
||||||
hn_pas.Passenger = new passenger[message.Elements.Count];
|
hn_pastype.NotificationSchengen = (apasa.NotificationSchengen ?? false) ? yorntype.Y : yorntype.N;
|
||||||
|
|
||||||
|
hn_pastype.Passenger = new pastypePassenger[message.Elements.Count];
|
||||||
for (int i = 0; i < message.Elements.Count; i++)
|
for (int i = 0; i < message.Elements.Count; i++)
|
||||||
{
|
{
|
||||||
PAS pas = message.Elements[i] as PAS;
|
pastypePassenger hn_pas = new pastypePassenger();
|
||||||
|
PAS pasa = message.Elements[i] as PAS;
|
||||||
|
|
||||||
hn_pas.Passenger[i] = new passenger();
|
hn_pas.CountryOfBirth = pasa.PassengerCountryOfBirth;
|
||||||
if (pas.PassengerDateOfBirth.HasValue)
|
if (pasa.PassengerDateOfBirth.HasValue)
|
||||||
hn_pas.Passenger[i].PassengerDateOfBirth = pas.PassengerDateOfBirth.Value;
|
hn_pas.DateOfBirth = pasa.PassengerDateOfBirth.Value;
|
||||||
hn_pas.Passenger[i].PassengerFirstName = pas.PassengerFirstName;
|
|
||||||
if (pas.PassengerGender.HasValue)
|
if (pasa.NotificationPAX ?? false)
|
||||||
hn_pas.Passenger[i].PassengerGender = GenderTypeFromEnumByte(pas.PassengerGender);
|
{
|
||||||
hn_pas.Passenger[i].PassengerGenderSpecified = pas.PassengerGender.HasValue;
|
hn_pas.DetailsPAX = new pastypePassengerDetailsPAX();
|
||||||
hn_pas.Passenger[i].PassengerIdentityDocumentId = pas.PassengerIdentityDocumentId;
|
hn_pas.DetailsPAX.EmergencyCare = pasa.EmergencyCare;
|
||||||
if (pas.PassengerIdentityDocumentType.HasValue)
|
hn_pas.DetailsPAX.EmergencyContactNumber = pasa.EmergencyContactNumber;
|
||||||
hn_pas.Passenger[i].PassengerIdentityDocumentType = (documenttype)pas.PassengerIdentityDocumentType.Value;
|
|
||||||
if (pas.PassengerInTransit.HasValue)
|
|
||||||
hn_pas.Passenger[i].PassengerInTransit = pas.PassengerInTransit.Value ? yorntype.Y : yorntype.N;
|
|
||||||
hn_pas.Passenger[i].PassengerLastName = pas.PassengerLastName;
|
|
||||||
hn_pas.Passenger[i].PassengerNationality = pas.PassengerNationality;
|
|
||||||
hn_pas.Passenger[i].PassengerPlaceOfBirth = pas.PassengerPlaceOfBirth;
|
|
||||||
hn_pas.Passenger[i].PassengerPortOfDisembarkation = pas.PassengerPortOfDisembarkation;
|
|
||||||
hn_pas.Passenger[i].PassengerPortOfEmbarkation = pas.PassengerPortOfEmbarkation;
|
|
||||||
if(!pas.PassengerVisaNumber.IsNullOrEmpty())
|
|
||||||
hn_pas.Passenger[i].PassengerVisaNumber = pas.PassengerVisaNumber;
|
|
||||||
hn_pas.Passenger[i].PassengerIdentityDocumentExpiryDateSpecified = pas.PassengerIdentityDocumentExpiryDate.HasValue;
|
|
||||||
if (pas.PassengerIdentityDocumentExpiryDate.HasValue)
|
|
||||||
hn_pas.Passenger[i].PassengerIdentityDocumentExpiryDate = pas.PassengerIdentityDocumentExpiryDate.Value;
|
|
||||||
if(pas.PassengerIdentityDocumentIssuingState?.Trim().Length == 2)
|
|
||||||
hn_pas.Passenger[i].PassengerIdentityDocumentIssuingState = pas.PassengerIdentityDocumentIssuingState;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
items1ChoiceType.Add(Items1ChoiceType.PAS);
|
if (pasa.NotificationSchengen ?? false)
|
||||||
items1.Add(hn_pas);
|
{
|
||||||
|
hn_pas.DetailsSchengen = new pastypePassengerDetailsSchengen();
|
||||||
|
if (pasa.PassengerIdentityDocumentExpiryDate.HasValue)
|
||||||
|
hn_pas.DetailsSchengen.IdentityDocumentExpiryDate = pasa.PassengerIdentityDocumentExpiryDate.Value;
|
||||||
|
hn_pas.DetailsSchengen.IdentityDocumentId = pasa.PassengerIdentityDocumentId;
|
||||||
|
hn_pas.DetailsSchengen.IdentityDocumentIssuingState = pasa.PassengerIdentityDocumentIssuingState;
|
||||||
|
if (pasa.PassengerIdentityDocumentType.HasValue)
|
||||||
|
hn_pas.DetailsSchengen.IdentityDocumentType = (documenttype)pasa.PassengerIdentityDocumentType.Value;
|
||||||
|
hn_pas.DetailsSchengen.InTransit = (pasa.PassengerInTransit ?? false) ? yorntype.Y : yorntype.N;
|
||||||
|
hn_pas.DetailsSchengen.PortOfDisembarkation = pasa.PassengerPortOfDisembarkation;
|
||||||
|
hn_pas.DetailsSchengen.PortOfEmbarkation = pasa.PassengerPortOfEmbarkation;
|
||||||
|
if(!pasa.PassengerVisaNumber.IsNullOrEmpty())
|
||||||
|
hn_pas.DetailsSchengen.VisaNumber = pasa.PassengerVisaNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
hn_pas.FirstName = pasa.PassengerFirstName;
|
||||||
|
if (pasa.PassengerGender.HasValue)
|
||||||
|
hn_pas.Gender = GenderTypeFromEnumByte(pasa.PassengerGender);
|
||||||
|
hn_pas.LastName = pasa.PassengerLastName;
|
||||||
|
hn_pas.Nationality = pasa.PassengerNationality;
|
||||||
|
hn_pas.PlaceOfBirth = pasa.PassengerPlaceOfBirth;
|
||||||
|
|
||||||
|
hn_pastype.Passenger[i] = hn_pas;
|
||||||
|
}
|
||||||
|
|
||||||
|
items1ChoiceType.Add(Items1ChoiceType.PASA);
|
||||||
|
items1.Add(hn_pastype);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1477,6 +1491,7 @@ namespace bsmd.hisnord
|
|||||||
hn_pas.DetailsSchengen.InTransit = (pasd.PassengerInTransit ?? false) ? yorntype.Y : yorntype.N;
|
hn_pas.DetailsSchengen.InTransit = (pasd.PassengerInTransit ?? false) ? yorntype.Y : yorntype.N;
|
||||||
hn_pas.DetailsSchengen.PortOfDisembarkation = pasd.PassengerPortOfDisembarkation;
|
hn_pas.DetailsSchengen.PortOfDisembarkation = pasd.PassengerPortOfDisembarkation;
|
||||||
hn_pas.DetailsSchengen.PortOfEmbarkation = pasd.PassengerPortOfEmbarkation;
|
hn_pas.DetailsSchengen.PortOfEmbarkation = pasd.PassengerPortOfEmbarkation;
|
||||||
|
if(!pasd.PassengerVisaNumber.IsNullOrEmpty())
|
||||||
hn_pas.DetailsSchengen.VisaNumber = pasd.PassengerVisaNumber;
|
hn_pas.DetailsSchengen.VisaNumber = pasd.PassengerVisaNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1498,50 +1513,57 @@ namespace bsmd.hisnord
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region CREW
|
#region CREWA
|
||||||
|
|
||||||
// das ist bei mir dasselbe wie CREWA und muss daher zum Zeitpunkt X geändert werden
|
if (message.MessageNotificationClass == Message.NotificationClass.CREWA)
|
||||||
// ACHTUNG! CREWA ist bei HIS Nord anders aufgebaut als das CREW hier
|
|
||||||
|
|
||||||
if (message.MessageNotificationClass == Message.NotificationClass.CREW)
|
|
||||||
{
|
{
|
||||||
if (message.Reset)
|
if (message.Reset)
|
||||||
{
|
{
|
||||||
items1ChoiceType.Add(Items1ChoiceType.RESET_CREW);
|
items1ChoiceType.Add(Items1ChoiceType.RESET_CREWA);
|
||||||
items1.Add(ytype.Y);
|
items1.Add(ytype.Y);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (message.Elements.Count > 0)
|
if (message.Elements.Count > 0)
|
||||||
{
|
{
|
||||||
global::crew hn_crew = new crew();
|
global::crewtype hn_crewtype = new crewtype();
|
||||||
hn_crew.CrewMember = new crewmember[message.Elements.Count];
|
CREW acrewa = message.Elements[0] as CREW;
|
||||||
|
hn_crewtype.NotificationPAX = (acrewa.NotificationPAX ?? false) ? yorntype.Y : yorntype.N;
|
||||||
|
hn_crewtype.NotificationSchengen = (acrewa.NotificationSchengen ?? false) ? yorntype.Y : yorntype.N;
|
||||||
|
|
||||||
|
hn_crewtype.CrewMember = new crewtypeCrewMember[message.Elements.Count];
|
||||||
for (int i = 0; i < message.Elements.Count; i++)
|
for (int i = 0; i < message.Elements.Count; i++)
|
||||||
{
|
{
|
||||||
CREW crew = message.Elements[i] as CREW;
|
crewtypeCrewMember hn_crew = new crewtypeCrewMember();
|
||||||
hn_crew.CrewMember[i] = new crewmember();
|
CREW crewa = message.Elements[i] as CREW;
|
||||||
if (crew.CrewMemberDateOfBirth.HasValue)
|
hn_crew.CountryOfBirth = crewa.CrewMemberCountryOfBirth;
|
||||||
hn_crew.CrewMember[i].CrewMemberDateOfBirth = crew.CrewMemberDateOfBirth.Value;
|
if (crewa.CrewMemberDateOfBirth.HasValue)
|
||||||
hn_crew.CrewMember[i].CrewMemberDuty = crew.CrewMemberDuty;
|
hn_crew.DateOfBirth = crewa.CrewMemberDateOfBirth.Value;
|
||||||
hn_crew.CrewMember[i].CrewMemberFirstName = crew.CrewMemberFirstName;
|
if (acrewa.NotificationSchengen ?? false)
|
||||||
if (crew.CrewMemberGender.HasValue)
|
{
|
||||||
hn_crew.CrewMember[i].CrewMemberGender = GenderTypeFromEnumByte(crew.CrewMemberGender);
|
hn_crew.DetailsSchengen = new crewtypeCrewMemberDetailsSchengen();
|
||||||
hn_crew.CrewMember[i].CrewMemberGenderSpecified = crew.CrewMemberGender.HasValue;
|
if (crewa.CrewMemberIdentityDocumentExpiryDate.HasValue)
|
||||||
hn_crew.CrewMember[i].CrewMemberIdentityDocumentId = crew.CrewMemberIdentityDocumentId;
|
hn_crew.DetailsSchengen.IdentityDocumentExpiryDate = crewa.CrewMemberIdentityDocumentExpiryDate.Value;
|
||||||
if (crew.CrewMemberIdentityDocumentType.HasValue)
|
hn_crew.DetailsSchengen.IdentityDocumentId = crewa.CrewMemberIdentityDocumentId;
|
||||||
hn_crew.CrewMember[i].CrewMemberIdentityDocumentType = (documenttype)crew.CrewMemberIdentityDocumentType.Value;
|
hn_crew.DetailsSchengen.IdentityDocumentIssuingState = crewa.CrewMemberIdentityDocumentIssuingState;
|
||||||
hn_crew.CrewMember[i].CrewMemberLastName = crew.CrewMemberLastName;
|
if (crewa.CrewMemberIdentityDocumentType.HasValue)
|
||||||
hn_crew.CrewMember[i].CrewMemberNationality = crew.CrewMemberNationality;
|
hn_crew.DetailsSchengen.IdentityDocumentType = (documenttype)crewa.CrewMemberIdentityDocumentType.Value;
|
||||||
hn_crew.CrewMember[i].CrewMemberPlaceOfBirth = crew.CrewMemberPlaceOfBirth;
|
if(!crewa.CrewMemberVisaNumber.IsNullOrEmpty())
|
||||||
hn_crew.CrewMember[i].CrewMemberVisaNumber = crew.CrewMemberVisaNumber.IsNullOrEmpty() ? "-" : crew.CrewMemberVisaNumber;
|
hn_crew.DetailsSchengen.VisaNumber = crewa.CrewMemberVisaNumber;
|
||||||
if (crew.CrewMemberIdentityDocumentExpiryDate.HasValue)
|
}
|
||||||
hn_crew.CrewMember[i].CrewmemberIdentityDocumentExpiryDate = crew.CrewMemberIdentityDocumentExpiryDate.Value;
|
hn_crew.DutyOnBoard = crewa.CrewMemberDuty;
|
||||||
if(crew.CrewMemberIdentityDocumentIssuingState?.Trim().Length == 2)
|
hn_crew.FirstName = crewa.CrewMemberFirstName;
|
||||||
hn_crew.CrewMember[i].CrewMemberIdentityDocumentIssuingState = crew.CrewMemberIdentityDocumentIssuingState;
|
if (crewa.CrewMemberGender.HasValue)
|
||||||
|
hn_crew.Gender = GenderTypeFromEnumByte(crewa.CrewMemberGender);
|
||||||
|
hn_crew.LastName = crewa.CrewMemberLastName;
|
||||||
|
hn_crew.Nationality = crewa.CrewMemberNationality;
|
||||||
|
hn_crew.PlaceOfBirth = crewa.CrewMemberPlaceOfBirth;
|
||||||
|
|
||||||
|
hn_crewtype.CrewMember[i] = hn_crew;
|
||||||
}
|
}
|
||||||
|
|
||||||
items1ChoiceType.Add(Items1ChoiceType.CREW);
|
items1ChoiceType.Add(Items1ChoiceType.CREWA);
|
||||||
items1.Add(hn_crew);
|
items1.Add(hn_crewtype);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1583,6 +1605,7 @@ namespace bsmd.hisnord
|
|||||||
hn_crew.DetailsSchengen.IdentityDocumentIssuingState = crewd.CrewMemberIdentityDocumentIssuingState;
|
hn_crew.DetailsSchengen.IdentityDocumentIssuingState = crewd.CrewMemberIdentityDocumentIssuingState;
|
||||||
if (crewd.CrewMemberIdentityDocumentType.HasValue)
|
if (crewd.CrewMemberIdentityDocumentType.HasValue)
|
||||||
hn_crew.DetailsSchengen.IdentityDocumentType = (documenttype)crewd.CrewMemberIdentityDocumentType.Value;
|
hn_crew.DetailsSchengen.IdentityDocumentType = (documenttype)crewd.CrewMemberIdentityDocumentType.Value;
|
||||||
|
if(!crewd.CrewMemberVisaNumber.IsNullOrEmpty())
|
||||||
hn_crew.DetailsSchengen.VisaNumber = crewd.CrewMemberVisaNumber;
|
hn_crew.DetailsSchengen.VisaNumber = crewd.CrewMemberVisaNumber;
|
||||||
}
|
}
|
||||||
hn_crew.DutyOnBoard = crewd.CrewMemberDuty;
|
hn_crew.DutyOnBoard = crewd.CrewMemberDuty;
|
||||||
|
|||||||
@ -198,7 +198,6 @@ public partial class conveyance {
|
|||||||
[System.Xml.Serialization.XmlElementAttribute("BKRA", typeof(bkra), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("BKRA", typeof(bkra), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("BKRD", typeof(bkrd), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("BKRD", typeof(bkrd), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("BPOL", typeof(bpol), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("BPOL", typeof(bpol), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("CREW", typeof(crew), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute("CREWA", typeof(crewtype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("CREWA", typeof(crewtype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("CREWD", typeof(crewtype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("CREWD", typeof(crewtype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("HAZA", typeof(haza), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("HAZA", typeof(haza), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
@ -208,7 +207,6 @@ public partial class conveyance {
|
|||||||
[System.Xml.Serialization.XmlElementAttribute("MDH", typeof(mdh), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("MDH", typeof(mdh), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("NOANOD", typeof(noanod), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("NOANOD", typeof(noanod), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("NameOfMaster", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("NameOfMaster", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("PAS", typeof(pas), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute("PASA", typeof(pastype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("PASA", typeof(pastype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("PASD", typeof(pastype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("PASD", typeof(pastype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("POBA", typeof(poba), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("POBA", typeof(poba), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
@ -220,7 +218,6 @@ public partial class conveyance {
|
|||||||
[System.Xml.Serialization.XmlElementAttribute("RESET_BKRA", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("RESET_BKRA", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("RESET_BKRD", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("RESET_BKRD", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("RESET_BPOL", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("RESET_BPOL", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("RESET_CREW", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute("RESET_CREWA", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("RESET_CREWA", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("RESET_CREWD", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("RESET_CREWD", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("RESET_HAZA", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("RESET_HAZA", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
@ -230,7 +227,6 @@ public partial class conveyance {
|
|||||||
[System.Xml.Serialization.XmlElementAttribute("RESET_MDH", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("RESET_MDH", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("RESET_NOANOD", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("RESET_NOANOD", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("RESET_NameOfMaster", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("RESET_NameOfMaster", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("RESET_PAS", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute("RESET_PASA", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("RESET_PASA", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("RESET_PASD", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("RESET_PASD", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("RESET_POBA", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("RESET_POBA", typeof(ytype), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
@ -1389,204 +1385,6 @@ public enum documenttype {
|
|||||||
OTHER_LEGAL_IDENTITY_DOCUMENT,
|
OTHER_LEGAL_IDENTITY_DOCUMENT,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
|
||||||
[System.SerializableAttribute()]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
public partial class crew {
|
|
||||||
|
|
||||||
private crewmember[] crewMemberField;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute("CrewMember", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public crewmember[] CrewMember {
|
|
||||||
get {
|
|
||||||
return this.crewMemberField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.crewMemberField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
|
||||||
[System.SerializableAttribute()]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
public partial class crewmember {
|
|
||||||
|
|
||||||
private string crewMemberLastNameField;
|
|
||||||
|
|
||||||
private string crewMemberFirstNameField;
|
|
||||||
|
|
||||||
private string crewMemberPlaceOfBirthField;
|
|
||||||
|
|
||||||
private System.DateTime crewMemberDateOfBirthField;
|
|
||||||
|
|
||||||
private GenderType crewMemberGenderField;
|
|
||||||
|
|
||||||
private bool crewMemberGenderFieldSpecified;
|
|
||||||
|
|
||||||
private string crewMemberNationalityField;
|
|
||||||
|
|
||||||
private documenttype crewMemberIdentityDocumentTypeField;
|
|
||||||
|
|
||||||
private string crewMemberIdentityDocumentIdField;
|
|
||||||
|
|
||||||
private string crewMemberIdentityDocumentIssuingStateField;
|
|
||||||
|
|
||||||
private System.DateTime crewmemberIdentityDocumentExpiryDateField;
|
|
||||||
|
|
||||||
private string crewMemberVisaNumberField;
|
|
||||||
|
|
||||||
private string crewMemberDutyField;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string CrewMemberLastName {
|
|
||||||
get {
|
|
||||||
return this.crewMemberLastNameField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.crewMemberLastNameField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string CrewMemberFirstName {
|
|
||||||
get {
|
|
||||||
return this.crewMemberFirstNameField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.crewMemberFirstNameField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string CrewMemberPlaceOfBirth {
|
|
||||||
get {
|
|
||||||
return this.crewMemberPlaceOfBirthField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.crewMemberPlaceOfBirthField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType="date")]
|
|
||||||
public System.DateTime CrewMemberDateOfBirth {
|
|
||||||
get {
|
|
||||||
return this.crewMemberDateOfBirthField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.crewMemberDateOfBirthField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public GenderType CrewMemberGender {
|
|
||||||
get {
|
|
||||||
return this.crewMemberGenderField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.crewMemberGenderField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlIgnoreAttribute()]
|
|
||||||
public bool CrewMemberGenderSpecified {
|
|
||||||
get {
|
|
||||||
return this.crewMemberGenderFieldSpecified;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.crewMemberGenderFieldSpecified = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string CrewMemberNationality {
|
|
||||||
get {
|
|
||||||
return this.crewMemberNationalityField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.crewMemberNationalityField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public documenttype CrewMemberIdentityDocumentType {
|
|
||||||
get {
|
|
||||||
return this.crewMemberIdentityDocumentTypeField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.crewMemberIdentityDocumentTypeField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string CrewMemberIdentityDocumentId {
|
|
||||||
get {
|
|
||||||
return this.crewMemberIdentityDocumentIdField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.crewMemberIdentityDocumentIdField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string CrewMemberIdentityDocumentIssuingState {
|
|
||||||
get {
|
|
||||||
return this.crewMemberIdentityDocumentIssuingStateField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.crewMemberIdentityDocumentIssuingStateField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType="date")]
|
|
||||||
public System.DateTime CrewmemberIdentityDocumentExpiryDate {
|
|
||||||
get {
|
|
||||||
return this.crewmemberIdentityDocumentExpiryDateField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.crewmemberIdentityDocumentExpiryDateField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string CrewMemberVisaNumber {
|
|
||||||
get {
|
|
||||||
return this.crewMemberVisaNumberField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.crewMemberVisaNumberField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string CrewMemberDuty {
|
|
||||||
get {
|
|
||||||
return this.crewMemberDutyField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.crewMemberDutyField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
||||||
[System.SerializableAttribute()]
|
[System.SerializableAttribute()]
|
||||||
@ -1909,243 +1707,6 @@ public partial class pastypePassengerDetailsPAX {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
|
||||||
[System.SerializableAttribute()]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
public partial class pas {
|
|
||||||
|
|
||||||
private passenger[] passengerField;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute("Passenger", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public passenger[] Passenger {
|
|
||||||
get {
|
|
||||||
return this.passengerField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.passengerField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
|
||||||
[System.SerializableAttribute()]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
public partial class passenger {
|
|
||||||
|
|
||||||
private string passengerLastNameField;
|
|
||||||
|
|
||||||
private string passengerFirstNameField;
|
|
||||||
|
|
||||||
private string passengerPlaceOfBirthField;
|
|
||||||
|
|
||||||
private System.DateTime passengerDateOfBirthField;
|
|
||||||
|
|
||||||
private GenderType passengerGenderField;
|
|
||||||
|
|
||||||
private bool passengerGenderFieldSpecified;
|
|
||||||
|
|
||||||
private string passengerNationalityField;
|
|
||||||
|
|
||||||
private documenttype passengerIdentityDocumentTypeField;
|
|
||||||
|
|
||||||
private string passengerIdentityDocumentIdField;
|
|
||||||
|
|
||||||
private string passengerIdentityDocumentIssuingStateField;
|
|
||||||
|
|
||||||
private System.DateTime passengerIdentityDocumentExpiryDateField;
|
|
||||||
|
|
||||||
private bool passengerIdentityDocumentExpiryDateFieldSpecified;
|
|
||||||
|
|
||||||
private string passengerVisaNumberField;
|
|
||||||
|
|
||||||
private string passengerPortOfEmbarkationField;
|
|
||||||
|
|
||||||
private string passengerPortOfDisembarkationField;
|
|
||||||
|
|
||||||
private yorntype passengerInTransitField;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string PassengerLastName {
|
|
||||||
get {
|
|
||||||
return this.passengerLastNameField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.passengerLastNameField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string PassengerFirstName {
|
|
||||||
get {
|
|
||||||
return this.passengerFirstNameField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.passengerFirstNameField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string PassengerPlaceOfBirth {
|
|
||||||
get {
|
|
||||||
return this.passengerPlaceOfBirthField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.passengerPlaceOfBirthField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType="date")]
|
|
||||||
public System.DateTime PassengerDateOfBirth {
|
|
||||||
get {
|
|
||||||
return this.passengerDateOfBirthField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.passengerDateOfBirthField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public GenderType PassengerGender {
|
|
||||||
get {
|
|
||||||
return this.passengerGenderField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.passengerGenderField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlIgnoreAttribute()]
|
|
||||||
public bool PassengerGenderSpecified {
|
|
||||||
get {
|
|
||||||
return this.passengerGenderFieldSpecified;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.passengerGenderFieldSpecified = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string PassengerNationality {
|
|
||||||
get {
|
|
||||||
return this.passengerNationalityField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.passengerNationalityField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public documenttype PassengerIdentityDocumentType {
|
|
||||||
get {
|
|
||||||
return this.passengerIdentityDocumentTypeField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.passengerIdentityDocumentTypeField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string PassengerIdentityDocumentId {
|
|
||||||
get {
|
|
||||||
return this.passengerIdentityDocumentIdField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.passengerIdentityDocumentIdField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string PassengerIdentityDocumentIssuingState {
|
|
||||||
get {
|
|
||||||
return this.passengerIdentityDocumentIssuingStateField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.passengerIdentityDocumentIssuingStateField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType="date")]
|
|
||||||
public System.DateTime PassengerIdentityDocumentExpiryDate {
|
|
||||||
get {
|
|
||||||
return this.passengerIdentityDocumentExpiryDateField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.passengerIdentityDocumentExpiryDateField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlIgnoreAttribute()]
|
|
||||||
public bool PassengerIdentityDocumentExpiryDateSpecified {
|
|
||||||
get {
|
|
||||||
return this.passengerIdentityDocumentExpiryDateFieldSpecified;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.passengerIdentityDocumentExpiryDateFieldSpecified = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string PassengerVisaNumber {
|
|
||||||
get {
|
|
||||||
return this.passengerVisaNumberField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.passengerVisaNumberField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string PassengerPortOfEmbarkation {
|
|
||||||
get {
|
|
||||||
return this.passengerPortOfEmbarkationField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.passengerPortOfEmbarkationField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string PassengerPortOfDisembarkation {
|
|
||||||
get {
|
|
||||||
return this.passengerPortOfDisembarkationField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.passengerPortOfDisembarkationField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public yorntype PassengerInTransit {
|
|
||||||
get {
|
|
||||||
return this.passengerInTransitField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.passengerInTransitField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")]
|
||||||
[System.SerializableAttribute()]
|
[System.SerializableAttribute()]
|
||||||
@ -6448,9 +6009,6 @@ public enum Items1ChoiceType {
|
|||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
BPOL,
|
BPOL,
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
CREW,
|
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
CREWA,
|
CREWA,
|
||||||
|
|
||||||
@ -6478,9 +6036,6 @@ public enum Items1ChoiceType {
|
|||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
NameOfMaster,
|
NameOfMaster,
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
PAS,
|
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
PASA,
|
PASA,
|
||||||
|
|
||||||
@ -6514,9 +6069,6 @@ public enum Items1ChoiceType {
|
|||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
RESET_BPOL,
|
RESET_BPOL,
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
RESET_CREW,
|
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
RESET_CREWA,
|
RESET_CREWA,
|
||||||
|
|
||||||
@ -6544,9 +6096,6 @@ public enum Items1ChoiceType {
|
|||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
RESET_NameOfMaster,
|
RESET_NameOfMaster,
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
RESET_PAS,
|
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
RESET_PASA,
|
RESET_PASA,
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,17 @@
|
|||||||
1) copyprod.cmd ausführen (damit app.config richtig überschrieben wird)
|
1) copyprod.cmd ausführen (damit app.config richtig überschrieben wird)
|
||||||
|
|
||||||
|
|
||||||
2) Prüfen ob das ENI App logo richtig ist
|
2) Prüfen ob das ENI App logo richtig ist
|
||||||
3) VS: Publish: Folder Location und Url richtig auswählen
|
3) VS: Publish: Folder Location und Url richtig auswählen
|
||||||
4) Signing: "Sign the ClickOnce manifests": Hier für Prod das Zertifikat
|
4) Signing: "Sign the ClickOnce manifests": Hier für Prod das Zertifikat
|
||||||
Schiffsmelder CA auswählen, das am 02/24 abläuft.
|
Schiffsmelder CA auswählen, das am 02/24 abläuft.
|
||||||
Auswahl über "Select from Store.."
|
Auswahl über "Select from Store.."
|
||||||
|
|
||||||
|
|
||||||
5) Release Build einstellen
|
5) Release Build einstellen
|
||||||
6) komplett neu bauen (clean!)
|
6) komplett neu bauen (clean!)
|
||||||
|
|
||||||
7) In Description bei Product name "ENI" statt "ENI Testversion"
|
7) In Description bei Product name "ENI" statt "ENI Testversion"
|
||||||
|
8) MainWindow.xaml: "ENI 2 Testversion" -> "ENI 2"
|
||||||
|
9) ENI2 Project Properties -> Application -> Assembly Name: "ENI2Test" -> "ENI2"
|
||||||
|
10) Wo Ressourcen verwendet werden in XAML Referenz umbiegen: "/ENI2Test;" -> "/ENI2;"
|
||||||
Loading…
Reference in New Issue
Block a user