diff --git a/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs
index 7a63b4d3..0a4e8bf6 100644
--- a/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs
+++ b/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs
@@ -209,6 +209,8 @@ namespace ENI2
}
}
}
+
+ this.DetailControl_RequestReload();
}
private void SaveMessage(Message message)
@@ -243,6 +245,7 @@ namespace ENI2
this.buttonSaveAll.Visibility = Visibility.Hidden;
this.buttonSave.Visibility = Visibility.Hidden;
}
+ this.DetailControl_RequestReload();
}
private void DetailControl_NotificationClassChanged(Message.NotificationClass notificationClass)
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml.cs
index f99f88a4..a0e66dd9 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml.cs
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml.cs
@@ -142,27 +142,29 @@ namespace ENI2.DetailViewControls
private void DataGridBKRA_CreateRequested()
{
- BRKA brka = new BRKA();
- brka.Identifier = BRKA.GetNewIdentifier(this._bkraMessage.Elements);
EditBKRDialog ebd = new EditBKRDialog();
- ebd.BRKA = brka;
+ ebd.BRKA = new BRKA();
+ ebd.BRKA.Identifier = BRKA.GetNewIdentifier(this._bkraMessage.Elements);
+ ebd.BRKA.MessageHeader = _bkraMessage;
ebd.IsDeparture = false;
ebd.AddClicked += () =>
{
ebd.CopyValuesToEntity();
- this._bkraMessage.Elements.Add(ebd.BRKA);
- ebd.BRKA.MessageHeader = _bkraMessage;
+ if(!this._bkraMessage.Elements.Contains(ebd.BRKA))
+ this._bkraMessage.Elements.Add(ebd.BRKA);
this.dataGridBKRA.Items.Refresh();
+
ebd.BRKA = new BRKA();
ebd.BRKA.Identifier = BRKA.GetNewIdentifier(this._bkraMessage.Elements);
+ ebd.BRKA.MessageHeader = _bkraMessage;
this.SublistElementChanged(Message.NotificationClass.BKRA);
};
if (ebd.ShowDialog() ?? false)
{
- brka.MessageHeader = _bkraMessage;
- _bkraMessage.Elements.Add(brka);
+ if(!_bkraMessage.Elements.Contains(ebd.BRKA))
+ _bkraMessage.Elements.Add(ebd.BRKA);
this.dataGridBKRA.Items.Refresh();
this.SublistElementChanged(Message.NotificationClass.BKRA);
}
@@ -183,30 +185,30 @@ namespace ENI2.DetailViewControls
}
private void DataGridBKRA_EditRequested(DatabaseEntity obj)
- {
- BRKA brka = obj as BRKA;
- if (brka != null)
+ {
+
+ EditBKRDialog eld = new EditBKRDialog();
+ eld.IsDeparture = false;
+ eld.BRKA = obj as BRKA;
+
+ eld.AddClicked += () =>
{
- EditBKRDialog eld = new EditBKRDialog();
- eld.IsDeparture = false;
- eld.BRKA = brka;
-
- eld.AddClicked += () =>
- {
- eld.CopyValuesToEntity();
+ eld.CopyValuesToEntity();
+ if(!_bkraMessage.Elements.Contains(eld.BRKA))
_bkraMessage.Elements.Add(eld.BRKA);
- this.dataGridBKRA.Items.Refresh();
- eld.BRKA = new BRKA();
- eld.BRKA.Identifier = BRKA.GetNewIdentifier(this._bkraMessage.Elements);
- eld.BRKA.MessageHeader = _bkraMessage;
- this.SublistElementChanged(Message.NotificationClass.BKRA);
- };
+ this.dataGridBKRA.Items.Refresh();
+ eld.BRKA = new BRKA();
+ eld.BRKA.Identifier = BRKA.GetNewIdentifier(this._bkraMessage.Elements);
+ eld.BRKA.MessageHeader = _bkraMessage;
+ this.SublistElementChanged(Message.NotificationClass.BKRA);
+ };
- if (eld.ShowDialog() ?? false)
- {
- this.dataGridBKRA.Items.Refresh();
- this.SublistElementChanged(Message.NotificationClass.BKRA);
- }
+ if (eld.ShowDialog() ?? false)
+ {
+ if (!_bkraMessage.Elements.Contains(eld.BRKA))
+ _bkraMessage.Elements.Add(eld.BRKA);
+ this.dataGridBKRA.Items.Refresh();
+ this.SublistElementChanged(Message.NotificationClass.BKRA);
}
}
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs
index 6f1f4d94..87b12a97 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs
@@ -124,24 +124,27 @@ namespace ENI2.DetailViewControls
private void DataGridPortOfItinerary_CreateRequested()
{
- PortOfItinerary poi = new PortOfItinerary();
EditPortOfItineraryDialog epid = new EditPortOfItineraryDialog();
- epid.PortOfItinerary = poi;
+ epid.PortOfItinerary = new PortOfItinerary();
+ epid.PortOfItinerary.Identifier = PortOfItinerary.GetNewIdentifier(this._bpol.PortOfItineraries);
+ epid.PortOfItinerary.BPOL = this._bpol;
epid.AddClicked += () =>
{
epid.CopyValuesToEntity();
- epid.PortOfItinerary.BPOL = _bpol;
- this._bpol.PortOfItineraries.Add(epid.PortOfItinerary);
+ if(!this._bpol.PortOfItineraries.Contains(epid.PortOfItinerary))
+ this._bpol.PortOfItineraries.Add(epid.PortOfItinerary);
this.dataGridPortOfItinerary.Items.Refresh();
epid.PortOfItinerary = new PortOfItinerary();
+ epid.PortOfItinerary.BPOL = _bpol;
+ epid.PortOfItinerary.Identifier = PortOfItinerary.GetNewIdentifier(this._bpol.PortOfItineraries);
this.SublistElementChanged(Message.NotificationClass.BPOL);
};
if (epid.ShowDialog() ?? false)
{
- _bpol.PortOfItineraries.Add(epid.PortOfItinerary);
- epid.PortOfItinerary.BPOL = _bpol;
+ if(!_bpol.PortOfItineraries.Contains(epid.PortOfItinerary))
+ _bpol.PortOfItineraries.Add(epid.PortOfItinerary);
this.dataGridPortOfItinerary.Items.Refresh();
this.SublistElementChanged(Message.NotificationClass.BPOL);
}
@@ -163,27 +166,27 @@ namespace ENI2.DetailViewControls
private void DataGridPortOfItinerary_EditRequested(DatabaseEntity obj)
{
- PortOfItinerary poi = obj as PortOfItinerary;
- if (poi != null)
+ EditPortOfItineraryDialog epid = new EditPortOfItineraryDialog();
+ epid.PortOfItinerary = obj as PortOfItinerary;
+
+ epid.AddClicked += () =>
{
- EditPortOfItineraryDialog epid = new EditPortOfItineraryDialog();
- epid.PortOfItinerary = poi;
-
- epid.AddClicked += () =>
- {
- epid.CopyValuesToEntity();
+ epid.CopyValuesToEntity();
+ if(!_bpol.PortOfItineraries.Contains(epid.PortOfItinerary))
_bpol.PortOfItineraries.Add(epid.PortOfItinerary);
- this.dataGridPortOfItinerary.Items.Refresh();
- epid.PortOfItinerary = new PortOfItinerary();
- epid.PortOfItinerary.BPOL = this._bpol;
- this.SublistElementChanged(Message.NotificationClass.BPOL);
- };
+ this.dataGridPortOfItinerary.Items.Refresh();
+ epid.PortOfItinerary = new PortOfItinerary();
+ epid.PortOfItinerary.BPOL = this._bpol;
+ epid.PortOfItinerary.Identifier = PortOfItinerary.GetNewIdentifier(this._bpol.PortOfItineraries);
+ this.SublistElementChanged(Message.NotificationClass.BPOL);
+ };
- if (epid.ShowDialog() ?? false)
- {
- this.dataGridPortOfItinerary.Items.Refresh();
- this.SublistElementChanged(Message.NotificationClass.BPOL);
- }
+ if (epid.ShowDialog() ?? false)
+ {
+ if (!_bpol.PortOfItineraries.Contains(epid.PortOfItinerary))
+ this._bpol.PortOfItineraries.Add(epid.PortOfItinerary);
+ this.dataGridPortOfItinerary.Items.Refresh();
+ this.SublistElementChanged(Message.NotificationClass.BPOL);
}
}
@@ -198,26 +201,27 @@ namespace ENI2.DetailViewControls
private void DataGridPassengerList_CreateRequested()
{
- PAS pas = new PAS();
- pas.Identifier = PAS.GetNewIdentifier(_pasMessage.Elements);
EditPASDialog epd = new EditPASDialog();
- epd.PAS = pas;
+ epd.PAS = new PAS();
+ epd.PAS.Identifier = PAS.GetNewIdentifier(_pasMessage.Elements);
+ epd.PAS.MessageHeader = this._pasMessage;
epd.AddClicked += () =>
{
epd.CopyValuesToEntity();
- epd.PAS.MessageHeader = this._pasMessage;
- this._pasMessage.Elements.Add(epd.PAS);
+ if(!this._pasMessage.Elements.Contains(epd.PAS))
+ this._pasMessage.Elements.Add(epd.PAS);
this.dataGridPassengerList.Items.Refresh();
epd.PAS = new PAS();
+ epd.PAS.MessageHeader = this._pasMessage;
epd.PAS.Identifier = PAS.GetNewIdentifier(_pasMessage.Elements);
this.SublistElementChanged(Message.NotificationClass.PAS);
};
if (epd.ShowDialog() ?? false)
{
- _pasMessage.Elements.Add(epd.PAS);
- epd.PAS.MessageHeader = this._pasMessage;
+ if(!this._pasMessage.Elements.Contains(epd.PAS))
+ _pasMessage.Elements.Add(epd.PAS);
this.dataGridPassengerList.Items.Refresh();
this.SublistElementChanged(Message.NotificationClass.PAS);
}
@@ -239,28 +243,27 @@ namespace ENI2.DetailViewControls
private void DataGridPassengerList_EditRequested(DatabaseEntity obj)
{
- PAS pas = obj as PAS;
- if (pas != null)
+ EditPASDialog epd = new EditPASDialog();
+ epd.PAS = obj as PAS;
+
+ epd.AddClicked += () =>
{
- EditPASDialog epd = new EditPASDialog();
- epd.PAS = pas;
-
- epd.AddClicked += () =>
- {
- epd.CopyValuesToEntity();
+ epd.CopyValuesToEntity();
+ if(!_pasMessage.Elements.Contains(epd.PAS))
_pasMessage.Elements.Add(epd.PAS);
- this.dataGridPassengerList.Items.Refresh();
- epd.PAS = new PAS();
- epd.PAS.Identifier = PAS.GetNewIdentifier(_pasMessage.Elements);
- epd.PAS.MessageHeader = _pasMessage;
- this.SublistElementChanged(Message.NotificationClass.PAS);
- };
+ this.dataGridPassengerList.Items.Refresh();
+ epd.PAS = new PAS();
+ epd.PAS.Identifier = PAS.GetNewIdentifier(_pasMessage.Elements);
+ epd.PAS.MessageHeader = _pasMessage;
+ this.SublistElementChanged(Message.NotificationClass.PAS);
+ };
- if (epd.ShowDialog() ?? false)
- {
- this.dataGridPassengerList.Items.Refresh();
- this.SublistElementChanged(Message.NotificationClass.PAS);
- }
+ if (epd.ShowDialog() ?? false)
+ {
+ if (!_pasMessage.Elements.Contains(epd.PAS))
+ _pasMessage.Elements.Add(epd.PAS);
+ this.dataGridPassengerList.Items.Refresh();
+ this.SublistElementChanged(Message.NotificationClass.PAS);
}
}
@@ -275,26 +278,27 @@ namespace ENI2.DetailViewControls
private void DataGridCrewList_CreateRequested()
{
- CREW crew = new CREW();
- crew.Identifier = CREW.GetNewIdentifier(_crewMessage.Elements);
EditCREWDialog ecd = new EditCREWDialog();
- ecd.CREW = crew;
+ ecd.CREW = new CREW();
+ ecd.CREW.Identifier = CREW.GetNewIdentifier(_crewMessage.Elements);
+ ecd.CREW.MessageHeader = this._crewMessage;
ecd.AddClicked += () =>
{
ecd.CopyValuesToEntity();
- ecd.CREW.MessageHeader = this._crewMessage;
- this._crewMessage.Elements.Add(ecd.CREW);
+ if(!this._crewMessage.Elements.Contains(ecd.CREW))
+ this._crewMessage.Elements.Add(ecd.CREW);
this.dataGridCrewList.Items.Refresh();
ecd.CREW = new CREW();
+ ecd.CREW.MessageHeader = this._crewMessage;
ecd.CREW.Identifier = CREW.GetNewIdentifier(_crewMessage.Elements);
this.SublistElementChanged(Message.NotificationClass.CREW);
};
if (ecd.ShowDialog() ?? false)
{
- _crewMessage.Elements.Add(ecd.CREW);
- ecd.CREW.MessageHeader = this._crewMessage;
+ if(!this._crewMessage.Elements.Contains(ecd.CREW))
+ _crewMessage.Elements.Add(ecd.CREW);
this.dataGridCrewList.Items.Refresh();
this.SublistElementChanged(Message.NotificationClass.CREW);
}
@@ -316,28 +320,27 @@ namespace ENI2.DetailViewControls
private void DataGridCrewList_EditRequested(DatabaseEntity obj)
{
- CREW crew = obj as CREW;
- if (crew != null)
+ EditCREWDialog ecd = new EditCREWDialog();
+ ecd.CREW = obj as CREW;
+
+ ecd.AddClicked += () =>
{
- EditCREWDialog ecd = new EditCREWDialog();
- ecd.CREW = crew;
-
- ecd.AddClicked += () =>
- {
- ecd.CopyValuesToEntity();
+ ecd.CopyValuesToEntity();
+ if(!_crewMessage.Elements.Contains(ecd.CREW))
_crewMessage.Elements.Add(ecd.CREW);
- this.dataGridCrewList.Items.Refresh();
- ecd.CREW = new CREW();
- ecd.CREW.Identifier = CREW.GetNewIdentifier(_crewMessage.Elements);
- ecd.CREW.MessageHeader = _crewMessage;
- this.SublistElementChanged(Message.NotificationClass.CREW);
- };
+ this.dataGridCrewList.Items.Refresh();
+ ecd.CREW = new CREW();
+ ecd.CREW.Identifier = CREW.GetNewIdentifier(_crewMessage.Elements);
+ ecd.CREW.MessageHeader = _crewMessage;
+ this.SublistElementChanged(Message.NotificationClass.CREW);
+ };
- if (ecd.ShowDialog() ?? false)
- {
- this.dataGridCrewList.Items.Refresh();
- this.SublistElementChanged(Message.NotificationClass.CREW);
- }
+ if (ecd.ShowDialog() ?? false)
+ {
+ if (!_crewMessage.Elements.Contains(ecd.CREW))
+ _crewMessage.Elements.Add(ecd.CREW);
+ this.dataGridCrewList.Items.Refresh();
+ this.SublistElementChanged(Message.NotificationClass.CREW);
}
}
@@ -388,6 +391,10 @@ namespace ENI2.DetailViewControls
{
while (reader.Read())
{
+ if(((IExcelDataReader) reader).FieldCount < 10)
+ {
+ throw new InvalidDataException("Sheet must have 10 Columns of data");
+ }
CREW crew = new CREW();
if (reader.IsDBNull(0) && reader.IsDBNull(1)) continue;
if (!reader.IsDBNull(0)) crew.CrewMemberLastName = reader.GetString(0);
@@ -455,6 +462,11 @@ namespace ENI2.DetailViewControls
{
while (reader.Read())
{
+ if (((IExcelDataReader)reader).FieldCount < 11)
+ {
+ throw new InvalidDataException("Sheet must have 11 Columns of data");
+ }
+
PAS pas = new PAS();
if (reader.IsDBNull(0) && reader.IsDBNull(1)) continue;
if (!reader.IsDBNull(0)) pas.PassengerLastName = reader.GetString(0);
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml
index fba9a4e2..e350683b 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml
@@ -39,41 +39,47 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml.cs
index 672f0315..69215603 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml.cs
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml.cs
@@ -24,7 +24,7 @@ namespace ENI2.DetailViewControls
private HAZ hazd; // referenz auf HAZD, falls das hier HAZA ist und wir Positionen kopieren wollen
public DangerousGoodsDetailControl()
- {
+ {
InitializeComponent();
this.Loaded += DangerousGoodsDetailControl_Loaded;
}
@@ -34,8 +34,8 @@ namespace ENI2.DetailViewControls
this.RegisterCheckboxChange(this.checkBoxDangerousGoodsOnBoard, this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
this.RegisterCheckboxChange(this.checkBoxDGManifestOnBoard, this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
this.RegisterCheckboxChange(this.checkBoxMoUBaltic, this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- this.RegisterComboboxIndexChange(this.comboBoxVesselClass, this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- }
+ this.RegisterComboboxIndexChange(this.comboBoxVesselClass, this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
+ }
public bool IsDeparture { get; set; }
@@ -58,7 +58,7 @@ namespace ENI2.DetailViewControls
}
if (aMessage.MessageNotificationClass == Message.NotificationClass.HAZD)
{
- if(aMessage != null)
+ if (aMessage != null)
{
if (aMessage.Elements.Count > 0)
this.hazd = aMessage.Elements[0] as HAZ;
@@ -189,16 +189,15 @@ namespace ENI2.DetailViewControls
private void copyMARPOL(object sender, RoutedEventArgs e)
{
// aus dem aktuell selektierten MARPOL Element ein neues MARPOL Element machen und nach HAZD kopieren
- if ((this.dataGridMARPOLItems.SelectedItems != null) && (this.dataGridMARPOLItems.SelectedItems.Count == 1))
+ if (this.dataGridMARPOLItems.SelectedItems != null)
{
- MARPOL_Annex_I_Position selectedMARPOL = this.dataGridMARPOLItems.SelectedItems[0] as MARPOL_Annex_I_Position;
- if (selectedMARPOL != null)
+ foreach (MARPOL_Annex_I_Position selectedMARPOL in this.dataGridMARPOLItems.SelectedItems)
{
MARPOL_Annex_I_Position copyMARPOL = new MARPOL_Annex_I_Position();
copyMARPOL.MessageHeader = this.hazd.MessageHeader;
copyMARPOL.HAZ = this.hazd;
copyMARPOL.CopyFromMARPOL(selectedMARPOL);
- copyMARPOL.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.MARPOLPositions);
+ copyMARPOL.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.MARPOLPositions, "MARPOL-");
this.hazd.MARPOLPositions.Add(copyMARPOL);
this.SublistElementChanged(Message.NotificationClass.HAZD);
this.OnControlCacheReset(Properties.Resources.textDGDeparture);
@@ -209,16 +208,15 @@ namespace ENI2.DetailViewControls
private void copyIMSBC(object sender, RoutedEventArgs e)
{
// aus dem aktuell selektierten IMBSC Element ein neues IMBSC Element machen und nach HAZD kopieren
- if ((this.dataGridIMSBCItems.SelectedItems != null) && (this.dataGridIMSBCItems.SelectedItems.Count == 1))
+ if (this.dataGridIMSBCItems.SelectedItems != null)
{
- IMSBCPosition selectedIMSBC = this.dataGridIMSBCItems.SelectedItems[0] as IMSBCPosition;
- if (selectedIMSBC != null)
+ foreach (IMSBCPosition selectedIMSBC in this.dataGridIMSBCItems.SelectedItems)
{
IMSBCPosition copyIMSBC = new IMSBCPosition();
copyIMSBC.MessageHeader = this.hazd.MessageHeader;
copyIMSBC.HAZ = this.hazd;
copyIMSBC.CopyFromIMSBC(selectedIMSBC);
- copyIMSBC.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.IMSBCPositions);
+ copyIMSBC.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.IMSBCPositions, "IMSBC-");
this.hazd.IMSBCPositions.Add(copyIMSBC);
this.SublistElementChanged(Message.NotificationClass.HAZD);
this.OnControlCacheReset(Properties.Resources.textDGDeparture);
@@ -229,16 +227,15 @@ namespace ENI2.DetailViewControls
private void copyIMDG(object sender, RoutedEventArgs e)
{
// aus dem aktuell selektierten IMDG Element ein neues IMDG Element machen und nach HAZD kopieren
- if ((this.dataGridIMDGItems.SelectedItems != null) && (this.dataGridIMDGItems.SelectedItems.Count == 1))
+ if (this.dataGridIMDGItems.SelectedItems != null)
{
- IMDGPosition selectedIMDG = this.dataGridIMDGItems.SelectedItems[0] as IMDGPosition;
- if (selectedIMDG != null)
+ foreach (IMDGPosition selectedIMDG in this.dataGridIMDGItems.SelectedItems)
{
IMDGPosition copyIMDG = new IMDGPosition();
copyIMDG.MessageHeader = this.hazd.MessageHeader;
copyIMDG.HAZ = this.hazd;
copyIMDG.CopyFromIMDG(selectedIMDG);
- copyIMDG.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.IMDGPositions);
+ copyIMDG.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.IMDGPositions, "IMDG-");
this.hazd.IMDGPositions.Add(copyIMDG);
this.SublistElementChanged(Message.NotificationClass.HAZD);
this.OnControlCacheReset(Properties.Resources.textDGDeparture);
@@ -249,16 +246,15 @@ namespace ENI2.DetailViewControls
private void copyIGC(object sender, RoutedEventArgs e)
{
// aus dem aktuell selektierten IGC Element ein neues IGC Element machen und nach HAZD kopieren
- if ((this.dataGridIGCItems.SelectedItems != null) && (this.dataGridIGCItems.SelectedItems.Count == 1))
+ if (this.dataGridIGCItems.SelectedItems != null)
{
- IGCPosition selectedIGC = this.dataGridIGCItems.SelectedItems[0] as IGCPosition;
- if (selectedIGC != null)
+ foreach (IGCPosition selectedIGC in this.dataGridIGCItems.SelectedItems)
{
IGCPosition copyIGC = new IGCPosition();
copyIGC.MessageHeader = this.hazd.MessageHeader;
copyIGC.HAZ = this.hazd;
copyIGC.CopyFromIGC(selectedIGC);
- copyIGC.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.IGCPositions);
+ copyIGC.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.IGCPositions, "IGC-");
this.hazd.IGCPositions.Add(copyIGC);
this.SublistElementChanged(Message.NotificationClass.HAZD);
this.OnControlCacheReset(Properties.Resources.textDGDeparture);
@@ -269,19 +265,21 @@ namespace ENI2.DetailViewControls
private void copyIBC(object sender, RoutedEventArgs e)
{
// aus dem aktuell selektierten IBC Element ein neues IBC Element machen und nach HAZD kopieren
- if ((this.dataGridIBCItems.SelectedItems != null) && (this.dataGridIBCItems.SelectedItems.Count == 1))
+ if (this.dataGridIBCItems.SelectedItems != null)
{
- IBCPosition selectedIBC = this.dataGridIBCItems.SelectedItems[0] as IBCPosition;
- if (selectedIBC != null)
+ foreach (IBCPosition selectedIBC in this.dataGridIBCItems.SelectedItems)
{
- IBCPosition copyIBC = new IBCPosition();
- copyIBC.MessageHeader = this.hazd.MessageHeader;
- copyIBC.HAZ = this.hazd;
- copyIBC.CopyFromIBC(selectedIBC);
- copyIBC.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.IBCPositions);
- this.hazd.IBCPositions.Add(copyIBC);
- this.SublistElementChanged(Message.NotificationClass.HAZD);
- this.OnControlCacheReset(Properties.Resources.textDGDeparture);
+ if (selectedIBC != null)
+ {
+ IBCPosition copyIBC = new IBCPosition();
+ copyIBC.MessageHeader = this.hazd.MessageHeader;
+ copyIBC.HAZ = this.hazd;
+ copyIBC.CopyFromIBC(selectedIBC);
+ copyIBC.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.IBCPositions, "IBC-");
+ this.hazd.IBCPositions.Add(copyIBC);
+ this.SublistElementChanged(Message.NotificationClass.HAZD);
+ this.OnControlCacheReset(Properties.Resources.textDGDeparture);
+ }
}
}
}
@@ -306,29 +304,29 @@ namespace ENI2.DetailViewControls
private void DataGridMARPOLItems_EditRequested(DatabaseEntity obj)
{
- MARPOL_Annex_I_Position marpol = obj as MARPOL_Annex_I_Position;
- if (marpol != null)
+ EditMarpolDialog eld = new EditMarpolDialog();
+ eld.MARPOL = obj as MARPOL_Annex_I_Position;
+
+ eld.AddClicked += () =>
{
- EditMarpolDialog eld = new EditMarpolDialog();
- eld.MARPOL = marpol;
-
- eld.AddClicked += () =>
- {
- eld.CopyValuesToEntity();
+ eld.CopyValuesToEntity();
+ if (!haz.MARPOLPositions.Contains(eld.MARPOL))
haz.MARPOLPositions.Add(eld.MARPOL);
- this.dataGridMARPOLItems.Items.Refresh();
- eld.MARPOL = new MARPOL_Annex_I_Position();
- eld.MARPOL.Identifier = DatabaseEntity.GetNewIdentifier(haz.MARPOLPositions);
- eld.MARPOL.HAZ = this.haz;
- this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- };
+ this.dataGridMARPOLItems.Items.Refresh();
+ eld.MARPOL = new MARPOL_Annex_I_Position();
+ eld.MARPOL.Identifier = DatabaseEntity.GetNewIdentifier(haz.MARPOLPositions, "MARPOL-");
+ eld.MARPOL.HAZ = this.haz;
+ this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
+ };
- if (eld.ShowDialog() ?? false)
- {
- this.dataGridMARPOLItems.Items.Refresh();
- this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- }
+ if (eld.ShowDialog() ?? false)
+ {
+ if (!haz.MARPOLPositions.Contains(eld.MARPOL))
+ haz.MARPOLPositions.Add(eld.MARPOL);
+ this.dataGridMARPOLItems.Items.Refresh();
+ this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
}
+
}
private void DataGridMARPOLItems_AddingNewItem(object sender, System.Windows.Controls.AddingNewItemEventArgs e)
@@ -338,26 +336,27 @@ namespace ENI2.DetailViewControls
private void DataGridMARPOLItems_CreateRequested()
{
- MARPOL_Annex_I_Position marpol = new MARPOL_Annex_I_Position();
- marpol.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.MARPOLPositions);
EditMarpolDialog ebd = new EditMarpolDialog();
- ebd.MARPOL = marpol;
+ ebd.MARPOL = new MARPOL_Annex_I_Position();
+ ebd.MARPOL.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.MARPOLPositions, "MARPOL-");
+ ebd.MARPOL.HAZ = this.haz;
ebd.AddClicked += () =>
{
ebd.CopyValuesToEntity();
- this.haz.MARPOLPositions.Add(ebd.MARPOL);
- ebd.MARPOL.HAZ = this.haz;
+ if (!haz.MARPOLPositions.Contains(ebd.MARPOL))
+ haz.MARPOLPositions.Add(ebd.MARPOL);
this.dataGridMARPOLItems.Items.Refresh();
ebd.MARPOL = new MARPOL_Annex_I_Position();
- ebd.MARPOL.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.MARPOLPositions);
+ ebd.MARPOL.HAZ = this.haz;
+ ebd.MARPOL.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.MARPOLPositions, "MARPOL-");
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
};
if (ebd.ShowDialog() ?? false)
{
- marpol.HAZ = haz;
- haz.MARPOLPositions.Add(marpol);
+ if (!haz.MARPOLPositions.Contains(ebd.MARPOL))
+ haz.MARPOLPositions.Add(ebd.MARPOL);
this.dataGridMARPOLItems.Items.Refresh();
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
}
@@ -383,28 +382,27 @@ namespace ENI2.DetailViewControls
private void DataGridIMSBCItems_EditRequested(DatabaseEntity obj)
{
- IMSBCPosition imsbc = obj as IMSBCPosition;
- if (imsbc != null)
+ EditIMSBCDialog eld = new EditIMSBCDialog();
+ eld.IMSBC = obj as IMSBCPosition;
+
+ eld.AddClicked += () =>
{
- EditIMSBCDialog eld = new EditIMSBCDialog();
- eld.IMSBC = imsbc;
-
- eld.AddClicked += () =>
- {
- eld.CopyValuesToEntity();
+ eld.CopyValuesToEntity();
+ if (!haz.IMSBCPositions.Contains(eld.IMSBC))
haz.IMSBCPositions.Add(eld.IMSBC);
- this.dataGridIMSBCItems.Items.Refresh();
- eld.IMSBC = new IMSBCPosition();
- eld.IMSBC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMSBCPositions);
- eld.IMSBC.HAZ = this.haz;
- this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- };
+ this.dataGridIMSBCItems.Items.Refresh();
+ eld.IMSBC = new IMSBCPosition();
+ eld.IMSBC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMSBCPositions, "IMSBC-");
+ eld.IMSBC.HAZ = this.haz;
+ this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
+ };
- if (eld.ShowDialog() ?? false)
- {
- this.dataGridIMSBCItems.Items.Refresh();
- this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- }
+ if (eld.ShowDialog() ?? false)
+ {
+ if (!haz.IMSBCPositions.Contains(eld.IMSBC))
+ haz.IMSBCPositions.Add(eld.IMSBC);
+ this.dataGridIMSBCItems.Items.Refresh();
+ this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
}
}
@@ -415,26 +413,27 @@ namespace ENI2.DetailViewControls
private void DataGridIMSBCItems_CreateRequested()
{
- IMSBCPosition imsbc = new IMSBCPosition();
- imsbc.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMSBCPositions);
EditIMSBCDialog ebd = new EditIMSBCDialog();
- ebd.IMSBC = imsbc;
+ ebd.IMSBC = new IMSBCPosition();
+ ebd.IMSBC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMSBCPositions, "IMSBC-");
+ ebd.IMSBC.HAZ = this.haz;
ebd.AddClicked += () =>
{
ebd.CopyValuesToEntity();
- this.haz.IMSBCPositions.Add(ebd.IMSBC);
- ebd.IMSBC.HAZ = this.haz;
+ if (!haz.IMSBCPositions.Contains(ebd.IMSBC))
+ this.haz.IMSBCPositions.Add(ebd.IMSBC);
this.dataGridIMSBCItems.Items.Refresh();
ebd.IMSBC = new IMSBCPosition();
- ebd.IMSBC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMSBCPositions);
+ ebd.IMSBC.HAZ = this.haz;
+ ebd.IMSBC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMSBCPositions, "IMSBC-");
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
};
if (ebd.ShowDialog() ?? false)
{
- imsbc.HAZ = haz;
- haz.IMSBCPositions.Add(imsbc);
+ if (!haz.IMSBCPositions.Contains(ebd.IMSBC))
+ haz.IMSBCPositions.Add(ebd.IMSBC);
this.dataGridIMSBCItems.Items.Refresh();
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
}
@@ -460,28 +459,27 @@ namespace ENI2.DetailViewControls
private void DataGridIGCItems_EditRequested(DatabaseEntity obj)
{
- IGCPosition igc = obj as IGCPosition;
- if (igc != null)
+ EditIGCDialog eld = new EditIGCDialog();
+ eld.IGC = obj as IGCPosition;
+
+ eld.AddClicked += () =>
{
- EditIGCDialog eld = new EditIGCDialog();
- eld.IGC = igc;
-
- eld.AddClicked += () =>
- {
- eld.CopyValuesToEntity();
+ eld.CopyValuesToEntity();
+ if(!haz.IGCPositions.Contains(eld.IGC))
haz.IGCPositions.Add(eld.IGC);
- this.dataGridIGCItems.Items.Refresh();
- eld.IGC = new IGCPosition();
- eld.IGC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IGCPositions);
- eld.IGC.HAZ = this.haz;
- this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- };
+ this.dataGridIGCItems.Items.Refresh();
+ eld.IGC = new IGCPosition();
+ eld.IGC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IGCPositions, "IGC-");
+ eld.IGC.HAZ = this.haz;
+ this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
+ };
- if (eld.ShowDialog() ?? false)
- {
- this.dataGridIGCItems.Items.Refresh();
- this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- }
+ if (eld.ShowDialog() ?? false)
+ {
+ if (!haz.IGCPositions.Contains(eld.IGC))
+ haz.IGCPositions.Add(eld.IGC);
+ this.dataGridIGCItems.Items.Refresh();
+ this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
}
}
@@ -492,26 +490,27 @@ namespace ENI2.DetailViewControls
private void DataGridIGCItems_CreateRequested()
{
- IGCPosition igc = new IGCPosition();
- igc.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IGCPositions);
EditIGCDialog ebd = new EditIGCDialog();
- ebd.IGC = igc;
+ ebd.IGC = new IGCPosition();
+ ebd.IGC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IGCPositions, "IGC-");
+ ebd.IGC.HAZ = this.haz;
ebd.AddClicked += () =>
{
ebd.CopyValuesToEntity();
- this.haz.IGCPositions.Add(ebd.IGC);
- ebd.IGC.HAZ = this.haz;
+ if(!this.haz.IGCPositions.Contains(ebd.IGC))
+ this.haz.IGCPositions.Add(ebd.IGC);
this.dataGridIGCItems.Items.Refresh();
ebd.IGC = new IGCPosition();
- ebd.IGC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IGCPositions);
+ ebd.IGC.HAZ = this.haz;
+ ebd.IGC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IGCPositions, "IGC-");
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
};
if (ebd.ShowDialog() ?? false)
{
- igc.HAZ = haz;
- haz.IGCPositions.Add(igc);
+ if(!this.haz.IGCPositions.Contains(ebd.IGC))
+ haz.IGCPositions.Add(ebd.IGC);
this.dataGridIGCItems.Items.Refresh();
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
}
@@ -537,28 +536,27 @@ namespace ENI2.DetailViewControls
private void DataGridIBCItems_EditRequested(DatabaseEntity obj)
{
- IBCPosition ibc = obj as IBCPosition;
- if (ibc != null)
+ EditIBCDialog eld = new EditIBCDialog();
+ eld.IBC = obj as IBCPosition;
+
+ eld.AddClicked += () =>
{
- EditIBCDialog eld = new EditIBCDialog();
- eld.IBC = ibc;
-
- eld.AddClicked += () =>
- {
- eld.CopyValuesToEntity();
+ eld.CopyValuesToEntity();
+ if(!haz.IBCPositions.Contains(eld.IBC))
haz.IBCPositions.Add(eld.IBC);
- this.dataGridIBCItems.Items.Refresh();
- eld.IBC = new IBCPosition();
- eld.IBC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IBCPositions);
- eld.IBC.HAZ = this.haz;
- this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- };
+ this.dataGridIBCItems.Items.Refresh();
+ eld.IBC = new IBCPosition();
+ eld.IBC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IBCPositions, "IBC-");
+ eld.IBC.HAZ = this.haz;
+ this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
+ };
- if (eld.ShowDialog() ?? false)
- {
- this.dataGridIBCItems.Items.Refresh();
- this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- }
+ if (eld.ShowDialog() ?? false)
+ {
+ if (!haz.IBCPositions.Contains(eld.IBC))
+ haz.IBCPositions.Add(eld.IBC);
+ this.dataGridIBCItems.Items.Refresh();
+ this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
}
}
@@ -569,26 +567,27 @@ namespace ENI2.DetailViewControls
private void DataGridIBCItems_CreateRequested()
{
- IBCPosition ibc = new IBCPosition();
- ibc.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IBCPositions);
EditIBCDialog ebd = new EditIBCDialog();
- ebd.IBC = ibc;
+ ebd.IBC = new IBCPosition();
+ ebd.IBC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IBCPositions, "IBC-");
+ ebd.IBC.HAZ = this.haz;
ebd.AddClicked += () =>
{
ebd.CopyValuesToEntity();
- this.haz.IBCPositions.Add(ebd.IBC);
- ebd.IBC.HAZ = this.haz;
+ if(!this.haz.IBCPositions.Contains(ebd.IBC))
+ this.haz.IBCPositions.Add(ebd.IBC);
this.dataGridIBCItems.Items.Refresh();
ebd.IBC = new IBCPosition();
- ebd.IBC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IBCPositions);
+ ebd.IBC.HAZ = this.haz;
+ ebd.IBC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IBCPositions, "IBC-");
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
};
if (ebd.ShowDialog() ?? false)
{
- ibc.HAZ = haz;
- haz.IBCPositions.Add(ibc);
+ if(!this.haz.IBCPositions.Contains(ebd.IBC))
+ haz.IBCPositions.Add(ebd.IBC);
this.dataGridIBCItems.Items.Refresh();
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
}
@@ -614,28 +613,27 @@ namespace ENI2.DetailViewControls
private void DataGridIMDGItems_EditRequested(DatabaseEntity obj)
{
- IMDGPosition imdg = obj as IMDGPosition;
- if (imdg != null)
+ EditIMDGDialog eld = new EditIMDGDialog();
+ eld.IMDG = obj as IMDGPosition;
+
+ eld.AddClicked += () =>
{
- EditIMDGDialog eld = new EditIMDGDialog();
- eld.IMDG = imdg;
-
- eld.AddClicked += () =>
- {
- eld.CopyValuesToEntity();
+ eld.CopyValuesToEntity();
+ if(!haz.IMDGPositions.Contains(eld.IMDG))
haz.IMDGPositions.Add(eld.IMDG);
- this.dataGridIMDGItems.Items.Refresh();
- eld.IMDG = new IMDGPosition();
- eld.IMDG.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMDGPositions);
- eld.IMDG.HAZ = this.haz;
- this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- };
+ this.dataGridIMDGItems.Items.Refresh();
+ eld.IMDG = new IMDGPosition();
+ eld.IMDG.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMDGPositions, "IMDG-");
+ eld.IMDG.HAZ = this.haz;
+ this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
+ };
- if (eld.ShowDialog() ?? false)
- {
- this.dataGridIMDGItems.Items.Refresh();
- this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- }
+ if (eld.ShowDialog() ?? false)
+ {
+ if (!haz.IMDGPositions.Contains(eld.IMDG))
+ haz.IMDGPositions.Add(eld.IMDG);
+ this.dataGridIMDGItems.Items.Refresh();
+ this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
}
}
@@ -645,27 +643,28 @@ namespace ENI2.DetailViewControls
}
private void DataGridIMDGItems_CreateRequested()
- {
- IMDGPosition imdg = new IMDGPosition();
- imdg.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMDGPositions);
+ {
EditIMDGDialog ebd = new EditIMDGDialog();
- ebd.IMDG = imdg;
+ ebd.IMDG = new IMDGPosition();
+ ebd.IMDG.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMDGPositions, "IMDG-");
+ ebd.IMDG.HAZ = this.haz;
ebd.AddClicked += () =>
{
ebd.CopyValuesToEntity();
- this.haz.IMDGPositions.Add(ebd.IMDG);
- ebd.IMDG.HAZ = this.haz;
+ if(!this.haz.IMDGPositions.Contains(ebd.IMDG))
+ this.haz.IMDGPositions.Add(ebd.IMDG);
this.dataGridIMDGItems.Items.Refresh();
ebd.IMDG = new IMDGPosition();
- ebd.IMDG.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMDGPositions);
+ ebd.IMDG.HAZ = this.haz;
+ ebd.IMDG.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMDGPositions, "IMDG-");
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
};
if (ebd.ShowDialog() ?? false)
{
- imdg.HAZ = haz;
- haz.IMDGPositions.Add(imdg);
+ if(!haz.IMDGPositions.Contains(ebd.IMDG))
+ haz.IMDGPositions.Add(ebd.IMDG);
this.dataGridIMDGItems.Items.Refresh();
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
}
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/DepartureNotificationDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/DepartureNotificationDetailControl.xaml.cs
index 7ab38fcb..a5257fb4 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/DepartureNotificationDetailControl.xaml.cs
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/DepartureNotificationDetailControl.xaml.cs
@@ -142,27 +142,29 @@ namespace ENI2.DetailViewControls
private void DataGridBKRD_CreateRequested()
{
- BRKD brkd = new BRKD();
- brkd.Identifier = BRKD.GetNewIdentifier(_bkrdMessage.Elements);
EditBKRDialog ebd = new EditBKRDialog();
- ebd.BRKD = brkd;
ebd.IsDeparture = true;
+ ebd.BRKD = new BRKD();
+ ebd.BRKD.Identifier = BRKD.GetNewIdentifier(_bkrdMessage.Elements);
+ ebd.BRKD.MessageHeader = this._bkrdMessage;
ebd.AddClicked += () =>
{
ebd.CopyValuesToEntity();
- this._bkrdMessage.Elements.Add(ebd.BRKD);
- ebd.BRKD.MessageHeader = _bkrdMessage;
+ if(!this._bkrdMessage.Elements.Contains(ebd.BRKD))
+ this._bkrdMessage.Elements.Add(ebd.BRKD);
this.dataGridBKRD.Items.Refresh();
+
ebd.BRKD = new BRKD();
+ ebd.BRKD.MessageHeader = _bkrdMessage;
ebd.BRKD.Identifier = BRKD.GetNewIdentifier(_bkrdMessage.Elements);
this.SublistElementChanged(Message.NotificationClass.BKRD);
};
if (ebd.ShowDialog() ?? false)
{
- brkd.MessageHeader = _bkrdMessage;
- _bkrdMessage.Elements.Add(brkd);
+ if(!_bkrdMessage.Elements.Contains(ebd.BRKD))
+ _bkrdMessage.Elements.Add(ebd.BRKD);
this.dataGridBKRD.Items.Refresh();
this.SublistElementChanged(Message.NotificationClass.BKRD);
}
@@ -184,29 +186,28 @@ namespace ENI2.DetailViewControls
private void DataGridBKRD_EditRequested(DatabaseEntity obj)
{
- BRKD brkd = obj as BRKD;
- if (brkd != null)
+ EditBKRDialog eld = new EditBKRDialog();
+ eld.IsDeparture = true;
+ eld.BRKD = obj as BRKD;
+
+ eld.AddClicked += () =>
{
- EditBKRDialog eld = new EditBKRDialog();
- eld.IsDeparture = true;
- eld.BRKD = brkd;
-
- eld.AddClicked += () =>
- {
- eld.CopyValuesToEntity();
+ eld.CopyValuesToEntity();
+ if(!_bkrdMessage.Elements.Contains(eld.BRKD))
_bkrdMessage.Elements.Add(eld.BRKD);
- this.dataGridBKRD.Items.Refresh();
- eld.BRKD = new BRKD();
- eld.BRKD.Identifier = BRKD.GetNewIdentifier(_bkrdMessage.Elements);
- eld.BRKD.MessageHeader = _bkrdMessage;
- this.SublistElementChanged(Message.NotificationClass.BKRD);
- };
+ this.dataGridBKRD.Items.Refresh();
+ eld.BRKD = new BRKD();
+ eld.BRKD.Identifier = BRKD.GetNewIdentifier(_bkrdMessage.Elements);
+ eld.BRKD.MessageHeader = _bkrdMessage;
+ this.SublistElementChanged(Message.NotificationClass.BKRD);
+ };
- if (eld.ShowDialog() ?? false)
- {
- this.dataGridBKRD.Items.Refresh();
- this.SublistElementChanged(Message.NotificationClass.BKRD);
- }
+ if (eld.ShowDialog() ?? false)
+ {
+ if (!_bkrdMessage.Elements.Contains(eld.BRKD))
+ _bkrdMessage.Elements.Add(eld.BRKD);
+ this.dataGridBKRD.Items.Refresh();
+ this.SublistElementChanged(Message.NotificationClass.BKRD);
}
}
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml
index 53809348..07226377 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml
@@ -85,7 +85,15 @@
-
+
+
+
+
+
+
+
+
@@ -107,6 +115,7 @@
+
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml.cs
index 8269536b..b26f0e91 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml.cs
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml.cs
@@ -2,6 +2,7 @@
// Description: MDH Meldung Bearbeitungsseite
//
+using System;
using System.Windows;
using System.Windows.Controls;
using ENI2.EditControls;
@@ -17,7 +18,9 @@ namespace ENI2.DetailViewControls
public partial class MaritimeHealthDeclarationDetailControl : DetailBaseControl
{
private Message _mdhMessage;
+ private Message _secMessage;
private MDH _mdh;
+ private SEC _sec;
public MaritimeHealthDeclarationDetailControl()
{
@@ -32,6 +35,11 @@ namespace ENI2.DetailViewControls
foreach (Message aMessage in this.Messages)
{
if (aMessage.MessageNotificationClass == Message.NotificationClass.MDH) { this._mdhMessage = aMessage; this.ControlMessages.Add(aMessage); }
+ if (aMessage.MessageNotificationClass == Message.NotificationClass.SEC)
+ {
+ this._secMessage = aMessage;
+ if (this._secMessage.Elements.Count > 0) this._sec = this._secMessage.Elements[0] as SEC;
+ }
}
#region init MDH
@@ -208,30 +216,64 @@ namespace ENI2.DetailViewControls
}
+ private void buttonImportFromSEC_Click(object sender, RoutedEventArgs e)
+ {
+ if(this._mdh.PortOfCallLast30Days.Count > 0)
+ {
+ MessageBox.Show(Properties.Resources.textOnlyIfGridIsEmpty, Properties.Resources.textCaptionError, MessageBoxButton.OK, MessageBoxImage.Warning);
+ }
+ else
+ {
+ if(this._sec != null)
+ {
+ foreach(LastTenPortFacilitiesCalled l10fc in _sec.LastTenPortFacilitesCalled)
+ {
+ if(l10fc.PortFacilityDateOfDeparture.HasValue &&
+ ((DateTime.Now - l10fc.PortFacilityDateOfDeparture.Value).TotalDays < 31))
+ {
+ PortOfCallLast30Days poc30 = new PortOfCallLast30Days();
+ poc30.PortOfCallLast30DaysCrewMembersJoined = false;
+ poc30.PortOfCallLast30DaysDateOfDeparture = l10fc.PortFacilityDateOfDeparture;
+ poc30.PortOfCallLast30DaysLocode = l10fc.PortFacilityPortLoCode;
+ poc30.MDH = this._mdh;
+ this._mdh.PortOfCallLast30Days.Add(poc30);
+ }
+ }
+ if (this._mdh.PortOfCallLast30Days.Count > 0)
+ {
+ this.dataGridPortOfCallLast30Days.Items.Refresh();
+ this.SublistElementChanged(Message.NotificationClass.MDH);
+ }
+ }
+ }
+ }
+
+
#region SanitaryMeasures Grid
private void DataGridSanitaryMeasures_CreateRequested()
{
- SanitaryMeasuresDetail smDetail = new SanitaryMeasuresDetail();
- smDetail.Identifier = SanitaryMeasuresDetail.GetNewIdentifier(_mdh.SanitaryMeasuresDetails);
EditSanitaryMeasureDialog epd = new EditSanitaryMeasureDialog();
- epd.SanitaryMeasureDetail = smDetail;
+ epd.SanitaryMeasureDetail = new SanitaryMeasuresDetail();
+ epd.SanitaryMeasureDetail.Identifier = SanitaryMeasuresDetail.GetNewIdentifier(_mdh.SanitaryMeasuresDetails);
+ epd.SanitaryMeasureDetail.MDH = this._mdh;
epd.AddClicked += () =>
{
epd.CopyValuesToEntity();
- epd.SanitaryMeasureDetail.MDH = this._mdh;
- this._mdh.SanitaryMeasuresDetails.Add(epd.SanitaryMeasureDetail);
+ if(!this._mdh.SanitaryMeasuresDetails.Contains(epd.SanitaryMeasureDetail))
+ this._mdh.SanitaryMeasuresDetails.Add(epd.SanitaryMeasureDetail);
this.dataGridSanitaryMeasures.Items.Refresh();
epd.SanitaryMeasureDetail = new SanitaryMeasuresDetail();
epd.SanitaryMeasureDetail.Identifier = SanitaryMeasuresDetail.GetNewIdentifier(_mdh.SanitaryMeasuresDetails);
+ epd.SanitaryMeasureDetail.MDH = this._mdh;
this.SublistElementChanged(Message.NotificationClass.MDH);
};
if (epd.ShowDialog() ?? false)
{
- _mdh.SanitaryMeasuresDetails.Add(epd.SanitaryMeasureDetail);
- epd.SanitaryMeasureDetail.MDH = this._mdh;
+ if(!_mdh.SanitaryMeasuresDetails.Contains(epd.SanitaryMeasureDetail))
+ _mdh.SanitaryMeasuresDetails.Add(epd.SanitaryMeasureDetail);
this.dataGridSanitaryMeasures.Items.Refresh();
this.SublistElementChanged(Message.NotificationClass.MDH);
}
@@ -263,13 +305,14 @@ namespace ENI2.DetailViewControls
this.dataGridSanitaryMeasures.Items.Refresh();
ecpd.SanitaryMeasureDetail = new SanitaryMeasuresDetail();
ecpd.SanitaryMeasureDetail.Identifier = SanitaryMeasuresDetail.GetNewIdentifier(_mdh.SanitaryMeasuresDetails);
+ ecpd.SanitaryMeasureDetail.MDH = this._mdh;
+ this.SublistElementChanged(Message.NotificationClass.MDH);
};
if (ecpd.ShowDialog() ?? false)
{
if (!_mdh.SanitaryMeasuresDetails.Contains(ecpd.SanitaryMeasureDetail))
_mdh.SanitaryMeasuresDetails.Add(ecpd.SanitaryMeasureDetail);
- this.dataGridSanitaryMeasures.Items.Refresh();
- // signal up
+ this.dataGridSanitaryMeasures.Items.Refresh();
this.SublistElementChanged(Message.NotificationClass.MDH);
}
}
@@ -285,26 +328,27 @@ namespace ENI2.DetailViewControls
private void DataGridInfectedAreas_CreateRequested()
{
- InfectedArea ia = new InfectedArea();
- ia.Identifier = InfectedArea.GetNewIdentifier(_mdh.InfectedAreas);
EditInfectedAreaDialog epd = new EditInfectedAreaDialog();
- epd.InfectedArea = ia;
+ epd.InfectedArea = new InfectedArea();
+ epd.InfectedArea.Identifier = InfectedArea.GetNewIdentifier(_mdh.InfectedAreas);
+ epd.InfectedArea.MDH = this._mdh;
epd.AddClicked += () =>
{
epd.CopyValuesToEntity();
- epd.InfectedArea.MDH = this._mdh;
- this._mdh.InfectedAreas.Add(epd.InfectedArea);
+ if(!this._mdh.InfectedAreas.Contains(epd.InfectedArea))
+ this._mdh.InfectedAreas.Add(epd.InfectedArea);
this.dataGridInfectedAreas.Items.Refresh();
epd.InfectedArea = new InfectedArea();
+ epd.InfectedArea.MDH = this._mdh;
epd.InfectedArea.Identifier = InfectedArea.GetNewIdentifier(_mdh.InfectedAreas);
this.SublistElementChanged(Message.NotificationClass.MDH);
};
if (epd.ShowDialog() ?? false)
{
- _mdh.InfectedAreas.Add(epd.InfectedArea);
- epd.InfectedArea.MDH = this._mdh;
+ if(!this._mdh.InfectedAreas.Contains(epd.InfectedArea))
+ _mdh.InfectedAreas.Add(epd.InfectedArea);
this.dataGridInfectedAreas.Items.Refresh();
this.SublistElementChanged(Message.NotificationClass.MDH);
}
@@ -335,14 +379,15 @@ namespace ENI2.DetailViewControls
_mdh.InfectedAreas.Add(ecpd.InfectedArea);
this.dataGridInfectedAreas.Items.Refresh();
ecpd.InfectedArea= new InfectedArea();
+ ecpd.InfectedArea.MDH = this._mdh;
ecpd.InfectedArea.Identifier = InfectedArea.GetNewIdentifier(_mdh.InfectedAreas);
+ this.SublistElementChanged(Message.NotificationClass.MDH);
};
if (ecpd.ShowDialog() ?? false)
{
if (!_mdh.InfectedAreas.Contains(ecpd.InfectedArea))
_mdh.InfectedAreas.Add(ecpd.InfectedArea);
- this.dataGridInfectedAreas.Items.Refresh();
- // signal up
+ this.dataGridInfectedAreas.Items.Refresh();
this.SublistElementChanged(Message.NotificationClass.MDH);
}
}
@@ -358,26 +403,27 @@ namespace ENI2.DetailViewControls
private void DataGridPortOfCallLast30Days_CreateRequested()
{
- PortOfCallLast30Days poc30 = new PortOfCallLast30Days();
- poc30.Identifier = PortOfCallLast30Days.GetNewIdentifier(_mdh.PortOfCallLast30Days);
EditPortOfCallLast30DaysDialog epd = new EditPortOfCallLast30DaysDialog();
- epd.PocLast30Days = poc30;
+ epd.PocLast30Days = new PortOfCallLast30Days();
+ epd.PocLast30Days.Identifier = PortOfCallLast30Days.GetNewIdentifier(_mdh.PortOfCallLast30Days);
+ epd.PocLast30Days.MDH = this._mdh;
epd.AddClicked += () =>
{
epd.CopyValuesToEntity();
- epd.PocLast30Days.MDH = this._mdh;
- this._mdh.PortOfCallLast30Days.Add(epd.PocLast30Days);
+ if(!this._mdh.PortOfCallLast30Days.Contains(epd.PocLast30Days))
+ this._mdh.PortOfCallLast30Days.Add(epd.PocLast30Days);
this.dataGridPortOfCallLast30Days.Items.Refresh();
epd.PocLast30Days = new PortOfCallLast30Days();
+ epd.PocLast30Days.MDH = this._mdh;
epd.PocLast30Days.Identifier = PortOfCallLast30Days.GetNewIdentifier(_mdh.PortOfCallLast30Days);
this.SublistElementChanged(Message.NotificationClass.MDH);
};
if (epd.ShowDialog() ?? false)
{
- _mdh.PortOfCallLast30Days.Add(epd.PocLast30Days);
- epd.PocLast30Days.MDH = this._mdh;
+ if(!_mdh.PortOfCallLast30Days.Contains(epd.PocLast30Days))
+ _mdh.PortOfCallLast30Days.Add(epd.PocLast30Days);
this.dataGridPortOfCallLast30Days.Items.Refresh();
this.SublistElementChanged(Message.NotificationClass.MDH);
}
@@ -408,14 +454,15 @@ namespace ENI2.DetailViewControls
_mdh.PortOfCallLast30Days.Add(ecpd.PocLast30Days);
this.dataGridPortOfCallLast30Days.Items.Refresh();
ecpd.PocLast30Days = new PortOfCallLast30Days();
+ ecpd.PocLast30Days.MDH = this._mdh;
ecpd.PocLast30Days.Identifier = PortOfCallLast30Days.GetNewIdentifier(_mdh.PortOfCallLast30Days);
+ this.SublistElementChanged(Message.NotificationClass.MDH);
};
if (ecpd.ShowDialog() ?? false)
{
if (!_mdh.PortOfCallLast30Days.Contains(ecpd.PocLast30Days))
_mdh.PortOfCallLast30Days.Add(ecpd.PocLast30Days);
- this.dataGridPortOfCallLast30Days.Items.Refresh();
- // signal up
+ this.dataGridPortOfCallLast30Days.Items.Refresh();
this.SublistElementChanged(Message.NotificationClass.MDH);
}
}
@@ -444,6 +491,6 @@ namespace ENI2.DetailViewControls
}
#endregion
-
+
}
}
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml
index 3bf6d25b..18507d45 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml
@@ -172,7 +172,7 @@
-
+
+
@@ -208,6 +208,18 @@
+
+
+
+
+
+
+
+
+
+
+
+