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 @@ - + + + + + +