diff --git a/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml.cs b/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml.cs
index a22d3a9d..117b8c2b 100644
--- a/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml.cs
+++ b/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml.cs
@@ -22,9 +22,11 @@ namespace ENI2.DetailViewControls
public partial class DangerousGoodsDetailControl : DetailBaseControl
{
- private Message _hazMessage;
- private HAZ haz;
- private HAZ hazd; // referenz auf HAZD, falls das hier HAZA ist und wir Positionen kopieren wollen
+ private Message _hazaMessage;
+ private Message _hazdMessage;
+
+ private HAZ haza;
+ private HAZ hazd;
public DangerousGoodsDetailControl()
{
@@ -40,6 +42,9 @@ namespace ENI2.DetailViewControls
this.RegisterComboboxIndexChange(this.comboBoxVesselClass, this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
}
+ ///
+ /// Flag if this control is used for arrival or departure
+ ///
public bool IsDeparture { get; set; }
public override void Initialize()
@@ -48,76 +53,60 @@ namespace ENI2.DetailViewControls
foreach (Message aMessage in this.Messages)
{
- if (IsDeparture)
+
+ if (aMessage.MessageNotificationClass == Message.NotificationClass.HAZD)
{
- if (aMessage.MessageNotificationClass == Message.NotificationClass.HAZD) { this._hazMessage = aMessage; this.ControlMessages.Add(aMessage); }
- }
- else
- {
- if (aMessage.MessageNotificationClass == Message.NotificationClass.HAZA)
+ this._hazdMessage = aMessage;
+ this.ControlMessages.Add(aMessage);
+ if (aMessage.Elements.Count > 0)
+ this.hazd = aMessage.Elements[0] as HAZ;
+ if (this.hazd == null)
{
- this._hazMessage = aMessage;
- this.ControlMessages.Add(aMessage);
- }
- if (aMessage.MessageNotificationClass == Message.NotificationClass.HAZD)
- {
- if (aMessage != null)
- {
- if (aMessage.Elements.Count > 0)
- this.hazd = aMessage.Elements[0] as HAZ;
- if (this.hazd == null)
- {
- this.hazd = new HAZ();
- this.hazd.MessageCore = this.Core;
- this.hazd.MessageHeader = aMessage;
- this.hazd.IsDeparture = true;
- aMessage.Elements.Add(this.hazd);
- SublistElementChanged(Message.NotificationClass.HAZD);
- }
- this.ControlMessages.Add(aMessage);
- }
+ this.hazd = new HAZ();
+ this.hazd.MessageCore = this.Core;
+ this.hazd.MessageHeader = aMessage;
+ this.hazd.IsDeparture = true;
+ aMessage.Elements.Add(this.hazd);
+ SublistElementChanged(Message.NotificationClass.HAZD);
}
}
+ if (aMessage.MessageNotificationClass == Message.NotificationClass.HAZA)
+ {
+ this._hazaMessage = aMessage;
+ this.ControlMessages.Add(aMessage);
+ if (aMessage.Elements.Count > 0)
+ this.haza = aMessage.Elements[0] as HAZ;
+ if (this.haza == null)
+ {
+ this.haza = new HAZ();
+ this.haza.MessageCore = this.Core;
+ this.haza.MessageHeader = aMessage;
+ this.haza.IsDeparture = true;
+ aMessage.Elements.Add(this.haza);
+ SublistElementChanged(Message.NotificationClass.HAZA);
+ }
+ }
+
this.textBlockMessageClass.Text = IsDeparture ? "HAZD" : "HAZA";
}
- #region HAZ
-
- if (this._hazMessage == null)
- {
- this._hazMessage = this.Core.CreateMessage(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- this.Messages.Add(this._hazMessage);
- }
-
- HAZ haz = null;
- if (this._hazMessage.Elements.Count > 0)
- haz = this._hazMessage.Elements[0] as HAZ;
- if (haz == null)
- {
- haz = new HAZ();
- haz.MessageCore = this.Core;
- haz.MessageHeader = this._hazMessage;
- haz.IsDeparture = this.IsDeparture;
- _hazMessage.Elements.Add(haz);
- }
-
- this.haz = haz;
+ #region HAZ
this.comboBoxVesselClass.ItemsSource = GlobalStructures.vesselClasses;
- this.groupBoxHAZ.DataContext = haz;
+ this.groupBoxHAZ.DataContext = this.IsDeparture ? hazd : haza;
- this.dataGridIMDGItems.Initialize();
- this.dataGridIMDGItems.ItemsSource = this.haz.IMDGPositions;
+ this.dataGridIMDGItems.Initialize();
+ this.dataGridIMDGItems.ItemsSource = this.IsDeparture ? this.hazd.IMDGPositions : this.haza.IMDGPositions;
CollectionView myCollectionView = (CollectionView)CollectionViewSource.GetDefaultView(dataGridIMDGItems.Items);
((INotifyCollectionChanged)myCollectionView).CollectionChanged += DangerousGoodsDetailControl_CollectionChanged;
this.dataGridIMDGItems.CreateRequested += DataGridIMDGItems_CreateRequested;
this.dataGridIMDGItems.AddingNewItem += DataGridIMDGItems_AddingNewItem;
this.dataGridIMDGItems.EditRequested += DataGridIMDGItems_EditRequested;
- this.dataGridIMDGItems.DeleteRequested += DataGridIMDGItems_DeleteRequested;
+ this.dataGridIMDGItems.DeleteRequested += DataGridIMDGItems_DeleteRequested;
this.dataGridIBCItems.Initialize();
- this.dataGridIBCItems.ItemsSource = this.haz.IBCPositions;
+ this.dataGridIBCItems.ItemsSource = this.IsDeparture ? this.hazd.IBCPositions : this.haza.IBCPositions;
myCollectionView = (CollectionView)CollectionViewSource.GetDefaultView(dataGridIBCItems.Items);
((INotifyCollectionChanged)myCollectionView).CollectionChanged += DangerousGoodsDetailControl_CollectionChanged;
this.dataGridIBCItems.CreateRequested += DataGridIBCItems_CreateRequested;
@@ -126,7 +115,7 @@ namespace ENI2.DetailViewControls
this.dataGridIBCItems.DeleteRequested += DataGridIBCItems_DeleteRequested;
this.dataGridIGCItems.Initialize();
- this.dataGridIGCItems.ItemsSource = this.haz.IGCPositions;
+ this.dataGridIGCItems.ItemsSource = this.IsDeparture ? this.hazd.IGCPositions : this.haza.IGCPositions;
myCollectionView = (CollectionView)CollectionViewSource.GetDefaultView(dataGridIGCItems.Items);
((INotifyCollectionChanged)myCollectionView).CollectionChanged += DangerousGoodsDetailControl_CollectionChanged;
this.dataGridIGCItems.CreateRequested += DataGridIGCItems_CreateRequested;
@@ -135,7 +124,7 @@ namespace ENI2.DetailViewControls
this.dataGridIGCItems.DeleteRequested += DataGridIGCItems_DeleteRequested;
this.dataGridIMSBCItems.Initialize();
- this.dataGridIMSBCItems.ItemsSource = this.haz.IMSBCPositions;
+ this.dataGridIMSBCItems.ItemsSource = this.IsDeparture ? this.hazd.IMSBCPositions : this.haza.IMSBCPositions;
myCollectionView = (CollectionView)CollectionViewSource.GetDefaultView(dataGridIMSBCItems.Items);
((INotifyCollectionChanged)myCollectionView).CollectionChanged += DangerousGoodsDetailControl_CollectionChanged;
this.dataGridIMSBCItems.CreateRequested += DataGridIMSBCItems_CreateRequested;
@@ -144,7 +133,7 @@ namespace ENI2.DetailViewControls
this.dataGridIMSBCItems.DeleteRequested += DataGridIMSBCItems_DeleteRequested;
this.dataGridMARPOLItems.Initialize();
- this.dataGridMARPOLItems.ItemsSource = this.haz.MARPOLPositions;
+ this.dataGridMARPOLItems.ItemsSource = this.IsDeparture ? this.hazd.MARPOLPositions : this.haza.MARPOLPositions;
myCollectionView = (CollectionView)CollectionViewSource.GetDefaultView(dataGridMARPOLItems.Items);
((INotifyCollectionChanged)myCollectionView).CollectionChanged += DangerousGoodsDetailControl_CollectionChanged;
this.dataGridMARPOLItems.CreateRequested += DataGridMARPOLItems_CreateRequested;
@@ -156,51 +145,47 @@ namespace ENI2.DetailViewControls
#endregion
- if (!this.haz.IsDeparture)
- {
- #region Extra Menüpunkte um Positionen nach HAZD zu kopieren
+ #region Extra Menüpunkte um Positionen zwischen HAZA / HAZD zu kopieren
- this.dataGridIBCItems.ContextMenu.Items.Add(new Separator());
- MenuItem copyIBCItem = new MenuItem();
- copyIBCItem.Header = Properties.Resources.textCopyToHAZD;
- copyIBCItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/documents.png")) };
- copyIBCItem.Click += new RoutedEventHandler(this.copyIBC);
- this.dataGridIBCItems.ContextMenu.Items.Add(copyIBCItem);
+ this.dataGridIBCItems.ContextMenu.Items.Add(new Separator());
+ MenuItem copyIBCItem = new MenuItem();
+ copyIBCItem.Header = string.Format(Properties.Resources.textCopyTo, this.IsDeparture ? "HAZA" : "HAZD");
+ copyIBCItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/documents.png")) };
+ copyIBCItem.Click += new RoutedEventHandler(this.copyIBC);
+ this.dataGridIBCItems.ContextMenu.Items.Add(copyIBCItem);
- this.dataGridIGCItems.ContextMenu.Items.Add(new Separator());
- MenuItem copyItemIGC = new MenuItem();
- copyItemIGC.Header = Properties.Resources.textCopyToHAZD;
- copyItemIGC.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/documents.png")) };
- copyItemIGC.Click += new RoutedEventHandler(this.copyIGC);
- this.dataGridIGCItems.ContextMenu.Items.Add(copyItemIGC);
+ this.dataGridIGCItems.ContextMenu.Items.Add(new Separator());
+ MenuItem copyItemIGC = new MenuItem();
+ copyItemIGC.Header = string.Format(Properties.Resources.textCopyTo, this.IsDeparture ? "HAZA" : "HAZD");
+ copyItemIGC.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/documents.png")) };
+ copyItemIGC.Click += new RoutedEventHandler(this.copyIGC);
+ this.dataGridIGCItems.ContextMenu.Items.Add(copyItemIGC);
- this.dataGridIMDGItems.ContextMenu.Items.Add(new Separator());
- MenuItem copyItemIMDG = new MenuItem();
- copyItemIMDG.Header = Properties.Resources.textCopyToHAZD;
- copyItemIMDG.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/documents.png")) };
- copyItemIMDG.Click += new RoutedEventHandler(this.copyIMDG);
- this.dataGridIMDGItems.ContextMenu.Items.Add(copyItemIMDG);
+ this.dataGridIMDGItems.ContextMenu.Items.Add(new Separator());
+ MenuItem copyItemIMDG = new MenuItem();
+ copyItemIMDG.Header = string.Format(Properties.Resources.textCopyTo, this.IsDeparture ? "HAZA" : "HAZD");
+ copyItemIMDG.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/documents.png")) };
+ copyItemIMDG.Click += new RoutedEventHandler(this.copyIMDG);
+ this.dataGridIMDGItems.ContextMenu.Items.Add(copyItemIMDG);
- this.dataGridIMSBCItems.ContextMenu.Items.Add(new Separator());
- MenuItem copyItemIMSBC = new MenuItem();
- copyItemIMSBC.Header = Properties.Resources.textCopyToHAZD;
- copyItemIMSBC.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/documents.png")) };
- copyItemIMSBC.Click += new RoutedEventHandler(this.copyIMSBC);
- this.dataGridIMSBCItems.ContextMenu.Items.Add(copyItemIMSBC);
+ this.dataGridIMSBCItems.ContextMenu.Items.Add(new Separator());
+ MenuItem copyItemIMSBC = new MenuItem();
+ copyItemIMSBC.Header = string.Format(Properties.Resources.textCopyTo, this.IsDeparture ? "HAZA" : "HAZD");
+ copyItemIMSBC.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/documents.png")) };
+ copyItemIMSBC.Click += new RoutedEventHandler(this.copyIMSBC);
+ this.dataGridIMSBCItems.ContextMenu.Items.Add(copyItemIMSBC);
- this.dataGridMARPOLItems.ContextMenu.Items.Add(new Separator());
- MenuItem copyItemMARPOL = new MenuItem();
- copyItemMARPOL.Header = Properties.Resources.textCopyToHAZD;
- copyItemMARPOL.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/documents.png")) };
- copyItemMARPOL.Click += new RoutedEventHandler(this.copyMARPOL);
- this.dataGridMARPOLItems.ContextMenu.Items.Add(copyItemMARPOL);
+ this.dataGridMARPOLItems.ContextMenu.Items.Add(new Separator());
+ MenuItem copyItemMARPOL = new MenuItem();
+ copyItemMARPOL.Header = string.Format(Properties.Resources.textCopyTo, this.IsDeparture ? "HAZA" : "HAZD");
+ copyItemMARPOL.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/documents.png")) };
+ copyItemMARPOL.Click += new RoutedEventHandler(this.copyMARPOL);
+ this.dataGridMARPOLItems.ContextMenu.Items.Add(copyItemMARPOL);
- #endregion
-
- }
+ #endregion
this._initialized = true;
- }
+ }
#region SetEnabled
@@ -226,17 +211,18 @@ namespace ENI2.DetailViewControls
// aus dem aktuell selektierten MARPOL Element ein neues MARPOL Element machen und nach HAZD kopieren
if (this.dataGridMARPOLItems.SelectedItems != null)
{
+ HAZ target_haz = this.IsDeparture ? this.haza : this.hazd;
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.MessageHeader = target_haz.MessageHeader;
+ copyMARPOL.HAZ = target_haz;
copyMARPOL.CopyFromMARPOL(selectedMARPOL);
- copyMARPOL.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.MARPOLPositions, "MARPOL-");
- this.hazd.MARPOLPositions.Add(copyMARPOL);
- this.SublistElementChanged(Message.NotificationClass.HAZD);
+ copyMARPOL.Identifier = DatabaseEntity.GetNewIdentifier(target_haz.MARPOLPositions, "MARPOL-");
+ target_haz.MARPOLPositions.Add(copyMARPOL);
+ this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZA : Message.NotificationClass.HAZD);
this.OnControlCacheReset(Properties.Resources.textDGDeparture);
- this.SetHAZGlobalFlags(this.hazd);
+ this.SetHAZGlobalFlags();
}
}
}
@@ -246,17 +232,18 @@ namespace ENI2.DetailViewControls
// aus dem aktuell selektierten IMBSC Element ein neues IMBSC Element machen und nach HAZD kopieren
if (this.dataGridIMSBCItems.SelectedItems != null)
{
+ HAZ target_haz = this.IsDeparture ? this.haza : this.hazd;
foreach (IMSBCPosition selectedIMSBC in this.dataGridIMSBCItems.SelectedItems)
{
IMSBCPosition copyIMSBC = new IMSBCPosition();
- copyIMSBC.MessageHeader = this.hazd.MessageHeader;
- copyIMSBC.HAZ = this.hazd;
+ copyIMSBC.MessageHeader = target_haz.MessageHeader;
+ copyIMSBC.HAZ = target_haz;
copyIMSBC.CopyFromIMSBC(selectedIMSBC);
- copyIMSBC.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.IMSBCPositions, "IMSBC-");
- this.hazd.IMSBCPositions.Add(copyIMSBC);
- this.SublistElementChanged(Message.NotificationClass.HAZD);
+ copyIMSBC.Identifier = DatabaseEntity.GetNewIdentifier(target_haz.IMSBCPositions, "IMSBC-");
+ target_haz.IMSBCPositions.Add(copyIMSBC);
+ this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZA : Message.NotificationClass.HAZD);
this.OnControlCacheReset(Properties.Resources.textDGDeparture);
- this.SetHAZGlobalFlags(this.hazd);
+ this.SetHAZGlobalFlags();
}
}
}
@@ -266,17 +253,18 @@ namespace ENI2.DetailViewControls
// aus dem aktuell selektierten IMDG Element ein neues IMDG Element machen und nach HAZD kopieren
if (this.dataGridIMDGItems.SelectedItems != null)
{
+ HAZ target_haz = this.IsDeparture ? this.haza : this.hazd;
foreach (IMDGPosition selectedIMDG in this.dataGridIMDGItems.SelectedItems)
{
IMDGPosition copyIMDG = new IMDGPosition();
- copyIMDG.MessageHeader = this.hazd.MessageHeader;
- copyIMDG.HAZ = this.hazd;
+ copyIMDG.MessageHeader = target_haz.MessageHeader;
+ copyIMDG.HAZ = target_haz;
copyIMDG.CopyFromIMDG(selectedIMDG);
- copyIMDG.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.IMDGPositions, "IMDG-");
- this.hazd.IMDGPositions.Add(copyIMDG);
- this.SublistElementChanged(Message.NotificationClass.HAZD);
+ copyIMDG.Identifier = DatabaseEntity.GetNewIdentifier(target_haz.IMDGPositions, "IMDG-");
+ target_haz.IMDGPositions.Add(copyIMDG);
+ this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZA : Message.NotificationClass.HAZD);
this.OnControlCacheReset(Properties.Resources.textDGDeparture);
- this.SetHAZGlobalFlags(this.hazd);
+ this.SetHAZGlobalFlags();
}
}
}
@@ -286,17 +274,18 @@ namespace ENI2.DetailViewControls
// aus dem aktuell selektierten IGC Element ein neues IGC Element machen und nach HAZD kopieren
if (this.dataGridIGCItems.SelectedItems != null)
{
+ HAZ target_haz = this.IsDeparture ? this.haza : this.hazd;
foreach (IGCPosition selectedIGC in this.dataGridIGCItems.SelectedItems)
{
IGCPosition copyIGC = new IGCPosition();
- copyIGC.MessageHeader = this.hazd.MessageHeader;
- copyIGC.HAZ = this.hazd;
+ copyIGC.MessageHeader = target_haz.MessageHeader;
+ copyIGC.HAZ = target_haz;
copyIGC.CopyFromIGC(selectedIGC);
- copyIGC.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.IGCPositions, "IGC-");
- this.hazd.IGCPositions.Add(copyIGC);
- this.SublistElementChanged(Message.NotificationClass.HAZD);
+ copyIGC.Identifier = DatabaseEntity.GetNewIdentifier(target_haz.IGCPositions, "IGC-");
+ target_haz.IGCPositions.Add(copyIGC);
+ this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZA : Message.NotificationClass.HAZD);
this.OnControlCacheReset(Properties.Resources.textDGDeparture);
- this.SetHAZGlobalFlags(this.hazd);
+ this.SetHAZGlobalFlags();
}
}
}
@@ -306,19 +295,20 @@ namespace ENI2.DetailViewControls
// aus dem aktuell selektierten IBC Element ein neues IBC Element machen und nach HAZD kopieren
if (this.dataGridIBCItems.SelectedItems != null)
{
+ HAZ target_haz = this.IsDeparture ? this.haza : this.hazd;
foreach (IBCPosition selectedIBC in this.dataGridIBCItems.SelectedItems)
{
if (selectedIBC != null)
{
IBCPosition copyIBC = new IBCPosition();
- copyIBC.MessageHeader = this.hazd.MessageHeader;
- copyIBC.HAZ = this.hazd;
+ copyIBC.MessageHeader = target_haz.MessageHeader;
+ copyIBC.HAZ = target_haz;
copyIBC.CopyFromIBC(selectedIBC);
- copyIBC.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.IBCPositions, "IBC-");
- this.hazd.IBCPositions.Add(copyIBC);
- this.SublistElementChanged(Message.NotificationClass.HAZD);
+ copyIBC.Identifier = DatabaseEntity.GetNewIdentifier(target_haz.IBCPositions, "IBC-");
+ target_haz.IBCPositions.Add(copyIBC);
+ this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZA : Message.NotificationClass.HAZD);
this.OnControlCacheReset(Properties.Resources.textDGDeparture);
- this.SetHAZGlobalFlags(this.hazd);
+ this.SetHAZGlobalFlags();
}
}
}
@@ -329,22 +319,22 @@ namespace ENI2.DetailViewControls
///
/// Beim Hinzufügen der allerersten Gefahrgutposition sollen die Flags vorbelegt werden
///
- void SetHAZGlobalFlags(HAZ theHAZ)
+ void SetHAZGlobalFlags()
{
- int totalCount = theHAZ.MARPOLPositions.Count + theHAZ.IMDGPositions.Count + theHAZ.IGCPositions.Count + theHAZ.IBCPositions.Count + theHAZ.IMSBCPositions.Count;
+ HAZ haz = this.IsDeparture ? this.hazd : this.haza;
+ int totalCount = haz.MARPOLPositions.Count + haz.IMDGPositions.Count + haz.IGCPositions.Count + haz.IBCPositions.Count + haz.IMSBCPositions.Count;
if(totalCount == 1)
{
- if (theHAZ == this.haz)
+ if (!this.IsDeparture)
{
if (!(this.checkBoxDangerousGoodsOnBoard.IsChecked ?? false)) this.checkBoxDangerousGoodsOnBoard.IsChecked = true;
- // if (!(this.checkBoxDGManifestOnBoard.IsChecked ?? false)) this.checkBoxDGManifestOnBoard.IsChecked = true;
if (this.checkBoxMoUBaltic.IsChecked ?? true) this.checkBoxMoUBaltic.IsChecked = false;
}
else
{
- theHAZ.NoDPGOnBoardOnArrival = false;
+ haz.NoDPGOnBoardOnArrival = false;
// theHAZ.DPGManifestOnBoardOnArrival = true;
- theHAZ.MOUBaltic = false;
+ haz.MOUBaltic = false;
}
}
}
@@ -354,11 +344,12 @@ namespace ENI2.DetailViewControls
private void DataGridMARPOLItems_DeleteRequested(DatabaseEntity obj)
{
MARPOL_Annex_I_Position marpol = obj as MARPOL_Annex_I_Position;
+ HAZ haz = this.IsDeparture ? hazd : haza;
if (marpol != null)
{
// are you sure dialog is in base class
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Delete(marpol);
- this.haz.MARPOLPositions.Remove(marpol);
+ haz.MARPOLPositions.Remove(marpol);
DatabaseEntity.ResetIdentifiers(new List(haz.MARPOLPositions));
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
this.dataGridMARPOLItems.Items.Refresh();
@@ -369,6 +360,7 @@ namespace ENI2.DetailViewControls
{
EditMarpolDialog eld = new EditMarpolDialog();
eld.MARPOL = obj as MARPOL_Annex_I_Position;
+ HAZ haz = this.IsDeparture ? hazd : haza;
eld.AddClicked += () =>
{
@@ -378,9 +370,9 @@ namespace ENI2.DetailViewControls
this.dataGridMARPOLItems.Items.Refresh();
eld.MARPOL = new MARPOL_Annex_I_Position();
eld.Identifier = DatabaseEntity.GetNewIdentifier(haz.MARPOLPositions, "MARPOL-");
- eld.MARPOL.HAZ = this.haz;
+ eld.MARPOL.HAZ = haz;
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- this.SetHAZGlobalFlags(this.haz);
+ this.SetHAZGlobalFlags();
};
if (eld.ShowDialog() ?? false)
@@ -388,7 +380,7 @@ namespace ENI2.DetailViewControls
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);
+ this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
}
}
@@ -400,10 +392,11 @@ namespace ENI2.DetailViewControls
private void DataGridMARPOLItems_CreateRequested()
{
+ HAZ haz = this.IsDeparture ? hazd : haza;
EditMarpolDialog ebd = new EditMarpolDialog();
ebd.MARPOL = new MARPOL_Annex_I_Position();
- ebd.MARPOL.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.MARPOLPositions, "MARPOL-");
- ebd.MARPOL.HAZ = this.haz;
+ ebd.MARPOL.Identifier = DatabaseEntity.GetNewIdentifier(haz.MARPOLPositions, "MARPOL-");
+ ebd.MARPOL.HAZ = haz;
ebd.AddClicked += () =>
{
@@ -412,10 +405,10 @@ namespace ENI2.DetailViewControls
haz.MARPOLPositions.Add(ebd.MARPOL);
this.dataGridMARPOLItems.Items.Refresh();
ebd.MARPOL = new MARPOL_Annex_I_Position();
- ebd.MARPOL.HAZ = this.haz;
- ebd.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.MARPOLPositions, "MARPOL-");
+ ebd.MARPOL.HAZ = haz;
+ ebd.Identifier = DatabaseEntity.GetNewIdentifier(haz.MARPOLPositions, "MARPOL-");
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- this.SetHAZGlobalFlags(this.haz);
+ this.SetHAZGlobalFlags();
};
if (ebd.ShowDialog() ?? false)
@@ -424,7 +417,7 @@ namespace ENI2.DetailViewControls
haz.MARPOLPositions.Add(ebd.MARPOL);
this.dataGridMARPOLItems.Items.Refresh();
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- this.SetHAZGlobalFlags(this.haz);
+ this.SetHAZGlobalFlags();
}
}
@@ -434,12 +427,13 @@ namespace ENI2.DetailViewControls
private void DataGridIMSBCItems_DeleteRequested(DatabaseEntity obj)
{
+ HAZ haz = this.IsDeparture ? hazd : haza;
IMSBCPosition imsbc = obj as IMSBCPosition;
if (imsbc != null)
{
// are you sure dialog is in base class
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Delete(imsbc);
- this.haz.IMSBCPositions.Remove(imsbc);
+ haz.IMSBCPositions.Remove(imsbc);
DatabaseEntity.ResetIdentifiers(new List(haz.IMSBCPositions));
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
this.dataGridIMSBCItems.Items.Refresh();
@@ -448,6 +442,7 @@ namespace ENI2.DetailViewControls
private void DataGridIMSBCItems_EditRequested(DatabaseEntity obj)
{
+ HAZ haz = this.IsDeparture ? hazd : haza;
EditIMSBCDialog eld = new EditIMSBCDialog();
eld.IMSBC = obj as IMSBCPosition;
@@ -458,10 +453,10 @@ namespace ENI2.DetailViewControls
haz.IMSBCPositions.Add(eld.IMSBC);
this.dataGridIMSBCItems.Items.Refresh();
eld.IMSBC = new IMSBCPosition();
- eld.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMSBCPositions, "IMSBC-");
- eld.IMSBC.HAZ = this.haz;
+ eld.Identifier = DatabaseEntity.GetNewIdentifier(haz.IMSBCPositions, "IMSBC-");
+ eld.IMSBC.HAZ = haz;
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- this.SetHAZGlobalFlags(this.haz);
+ this.SetHAZGlobalFlags();
};
if (eld.ShowDialog() ?? false)
@@ -480,22 +475,23 @@ namespace ENI2.DetailViewControls
private void DataGridIMSBCItems_CreateRequested()
{
+ HAZ haz = this.IsDeparture ? hazd : haza;
EditIMSBCDialog ebd = new EditIMSBCDialog();
ebd.IMSBC = new IMSBCPosition();
- ebd.IMSBC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMSBCPositions, "IMSBC-");
- ebd.IMSBC.HAZ = this.haz;
+ ebd.IMSBC.Identifier = DatabaseEntity.GetNewIdentifier(haz.IMSBCPositions, "IMSBC-");
+ ebd.IMSBC.HAZ = haz;
ebd.AddClicked += () =>
{
ebd.CopyValuesToEntity();
if (!haz.IMSBCPositions.Contains(ebd.IMSBC))
- this.haz.IMSBCPositions.Add(ebd.IMSBC);
+ haz.IMSBCPositions.Add(ebd.IMSBC);
this.dataGridIMSBCItems.Items.Refresh();
ebd.IMSBC = new IMSBCPosition();
- ebd.IMSBC.HAZ = this.haz;
- ebd.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMSBCPositions, "IMSBC-");
+ ebd.IMSBC.HAZ = haz;
+ ebd.Identifier = DatabaseEntity.GetNewIdentifier(haz.IMSBCPositions, "IMSBC-");
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- this.SetHAZGlobalFlags(this.haz);
+ this.SetHAZGlobalFlags();
};
if (ebd.ShowDialog() ?? false)
@@ -504,7 +500,7 @@ namespace ENI2.DetailViewControls
haz.IMSBCPositions.Add(ebd.IMSBC);
this.dataGridIMSBCItems.Items.Refresh();
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- this.SetHAZGlobalFlags(this.haz);
+ this.SetHAZGlobalFlags();
}
}
@@ -514,12 +510,13 @@ namespace ENI2.DetailViewControls
private void DataGridIGCItems_DeleteRequested(DatabaseEntity obj)
{
+ HAZ haz = this.IsDeparture ? hazd : haza;
IGCPosition igc = obj as IGCPosition;
if (igc != null)
{
// are you sure dialog is in base class
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Delete(igc);
- this.haz.IGCPositions.Remove(igc);
+ haz.IGCPositions.Remove(igc);
DatabaseEntity.ResetIdentifiers(new List(haz.IGCPositions));
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
this.dataGridIGCItems.Items.Refresh();
@@ -528,6 +525,7 @@ namespace ENI2.DetailViewControls
private void DataGridIGCItems_EditRequested(DatabaseEntity obj)
{
+ HAZ haz = this.IsDeparture ? hazd : haza;
EditIGCDialog eld = new EditIGCDialog();
eld.IGC = obj as IGCPosition;
@@ -538,10 +536,10 @@ namespace ENI2.DetailViewControls
haz.IGCPositions.Add(eld.IGC);
this.dataGridIGCItems.Items.Refresh();
eld.IGC = new IGCPosition();
- eld.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IGCPositions, "IGC-");
- eld.IGC.HAZ = this.haz;
+ eld.Identifier = DatabaseEntity.GetNewIdentifier(haz.IGCPositions, "IGC-");
+ eld.IGC.HAZ = haz;
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- this.SetHAZGlobalFlags(this.haz);
+ this.SetHAZGlobalFlags();
};
if (eld.ShowDialog() ?? false)
@@ -560,30 +558,31 @@ namespace ENI2.DetailViewControls
private void DataGridIGCItems_CreateRequested()
{
+ HAZ haz = this.IsDeparture ? hazd : haza;
EditIGCDialog ebd = new EditIGCDialog();
- ebd.IGC = new IGCPosition();
- ebd.IGC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IGCPositions, "IGC-");
- ebd.IGC.HAZ = this.haz;
+ ebd.IGC = new IGCPosition();
+ ebd.IGC.Identifier = DatabaseEntity.GetNewIdentifier(haz.IGCPositions, "IGC-");
+ ebd.IGC.HAZ = haz;
ebd.AddClicked += () =>
{
ebd.CopyValuesToEntity();
- if(!this.haz.IGCPositions.Contains(ebd.IGC))
- this.haz.IGCPositions.Add(ebd.IGC);
+ if(!haz.IGCPositions.Contains(ebd.IGC))
+ haz.IGCPositions.Add(ebd.IGC);
this.dataGridIGCItems.Items.Refresh();
ebd.IGC = new IGCPosition();
- ebd.IGC.HAZ = this.haz;
- ebd.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IGCPositions, "IGC-");
+ ebd.IGC.HAZ = haz;
+ ebd.Identifier = DatabaseEntity.GetNewIdentifier(haz.IGCPositions, "IGC-");
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
};
if (ebd.ShowDialog() ?? false)
{
- if(!this.haz.IGCPositions.Contains(ebd.IGC))
+ if(!haz.IGCPositions.Contains(ebd.IGC))
haz.IGCPositions.Add(ebd.IGC);
this.dataGridIGCItems.Items.Refresh();
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- this.SetHAZGlobalFlags(this.haz);
+ this.SetHAZGlobalFlags();
}
}
@@ -593,12 +592,13 @@ namespace ENI2.DetailViewControls
private void DataGridIBCItems_DeleteRequested(DatabaseEntity obj)
{
+ HAZ haz = this.IsDeparture ? hazd : haza;
IBCPosition ibc = obj as IBCPosition;
if (ibc != null)
{
// are you sure dialog is in base class
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Delete(ibc);
- this.haz.IBCPositions.Remove(ibc);
+ haz.IBCPositions.Remove(ibc);
DatabaseEntity.ResetIdentifiers(new List(haz.IBCPositions));
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
this.dataGridIBCItems.Items.Refresh();
@@ -607,6 +607,7 @@ namespace ENI2.DetailViewControls
private void DataGridIBCItems_EditRequested(DatabaseEntity obj)
{
+ HAZ haz = this.IsDeparture ? hazd : haza;
EditIBCDialog eld = new EditIBCDialog();
eld.IBC = obj as IBCPosition;
@@ -617,10 +618,10 @@ namespace ENI2.DetailViewControls
haz.IBCPositions.Add(eld.IBC);
this.dataGridIBCItems.Items.Refresh();
eld.IBC = new IBCPosition();
- eld.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IBCPositions, "IBC-");
- eld.IBC.HAZ = this.haz;
+ eld.Identifier = DatabaseEntity.GetNewIdentifier(haz.IBCPositions, "IBC-");
+ eld.IBC.HAZ = haz;
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- this.SetHAZGlobalFlags(this.haz);
+ this.SetHAZGlobalFlags();
};
if (eld.ShowDialog() ?? false)
@@ -639,30 +640,31 @@ namespace ENI2.DetailViewControls
private void DataGridIBCItems_CreateRequested()
{
+ HAZ haz = this.IsDeparture ? hazd : haza;
EditIBCDialog ebd = new EditIBCDialog();
ebd.IBC = new IBCPosition();
- ebd.IBC.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IBCPositions, "IBC-");
- ebd.IBC.HAZ = this.haz;
+ ebd.IBC.Identifier = DatabaseEntity.GetNewIdentifier(haz.IBCPositions, "IBC-");
+ ebd.IBC.HAZ = haz;
ebd.AddClicked += () =>
{
ebd.CopyValuesToEntity();
- if(!this.haz.IBCPositions.Contains(ebd.IBC))
- this.haz.IBCPositions.Add(ebd.IBC);
+ if(!haz.IBCPositions.Contains(ebd.IBC))
+ haz.IBCPositions.Add(ebd.IBC);
this.dataGridIBCItems.Items.Refresh();
ebd.IBC = new IBCPosition();
- ebd.IBC.HAZ = this.haz;
- ebd.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IBCPositions, "IBC-");
+ ebd.IBC.HAZ = haz;
+ ebd.Identifier = DatabaseEntity.GetNewIdentifier(haz.IBCPositions, "IBC-");
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
};
if (ebd.ShowDialog() ?? false)
{
- if(!this.haz.IBCPositions.Contains(ebd.IBC))
+ if(!haz.IBCPositions.Contains(ebd.IBC))
haz.IBCPositions.Add(ebd.IBC);
this.dataGridIBCItems.Items.Refresh();
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- this.SetHAZGlobalFlags(this.haz);
+ this.SetHAZGlobalFlags();
}
}
@@ -672,12 +674,13 @@ namespace ENI2.DetailViewControls
private void DataGridIMDGItems_DeleteRequested(DatabaseEntity obj)
{
+ HAZ haz = this.IsDeparture ? hazd : haza;
IMDGPosition imdg = obj as IMDGPosition;
if (imdg != null)
{
// are you sure dialog is in base class
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Delete(imdg);
- this.haz.IMDGPositions.Remove(imdg);
+ haz.IMDGPositions.Remove(imdg);
DatabaseEntity.ResetIdentifiers(new List(haz.IMDGPositions));
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
this.dataGridIMDGItems.Items.Refresh();
@@ -686,6 +689,7 @@ namespace ENI2.DetailViewControls
private void DataGridIMDGItems_EditRequested(DatabaseEntity obj)
{
+ HAZ haz = this.IsDeparture ? hazd : haza;
EditIMDGDialog eld = new EditIMDGDialog();
eld.IMDG = obj as IMDGPosition;
@@ -696,8 +700,8 @@ namespace ENI2.DetailViewControls
haz.IMDGPositions.Add(eld.IMDG);
this.dataGridIMDGItems.Items.Refresh();
eld.IMDG = new IMDGPosition();
- eld.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMDGPositions, "IMDG-");
- eld.IMDG.HAZ = this.haz;
+ eld.Identifier = DatabaseEntity.GetNewIdentifier(haz.IMDGPositions, "IMDG-");
+ eld.IMDG.HAZ = haz;
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
};
@@ -707,7 +711,7 @@ namespace ENI2.DetailViewControls
haz.IMDGPositions.Add(eld.IMDG);
this.dataGridIMDGItems.Items.Refresh();
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- this.SetHAZGlobalFlags(this.haz);
+ this.SetHAZGlobalFlags();
}
}
@@ -717,21 +721,22 @@ namespace ENI2.DetailViewControls
}
private void DataGridIMDGItems_CreateRequested()
- {
+ {
+ HAZ haz = this.IsDeparture ? hazd : haza;
EditIMDGDialog ebd = new EditIMDGDialog();
ebd.IMDG = new IMDGPosition();
- ebd.IMDG.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMDGPositions, "IMDG-");
- ebd.IMDG.HAZ = this.haz;
+ ebd.IMDG.Identifier = DatabaseEntity.GetNewIdentifier(haz.IMDGPositions, "IMDG-");
+ ebd.IMDG.HAZ = haz;
ebd.AddClicked += () =>
{
ebd.CopyValuesToEntity();
- if(!this.haz.IMDGPositions.Contains(ebd.IMDG))
- this.haz.IMDGPositions.Add(ebd.IMDG);
+ if(!haz.IMDGPositions.Contains(ebd.IMDG))
+ haz.IMDGPositions.Add(ebd.IMDG);
this.dataGridIMDGItems.Items.Refresh();
ebd.IMDG = new IMDGPosition();
- ebd.IMDG.HAZ = this.haz;
- ebd.Identifier = DatabaseEntity.GetNewIdentifier(this.haz.IMDGPositions, "IMDG-");
+ ebd.IMDG.HAZ = haz;
+ ebd.Identifier = DatabaseEntity.GetNewIdentifier(haz.IMDGPositions, "IMDG-");
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
};
@@ -741,7 +746,7 @@ namespace ENI2.DetailViewControls
haz.IMDGPositions.Add(ebd.IMDG);
this.dataGridIMDGItems.Items.Refresh();
this.SublistElementChanged(this.IsDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA);
- this.SetHAZGlobalFlags(this.haz);
+ this.SetHAZGlobalFlags();
}
}
@@ -751,19 +756,23 @@ namespace ENI2.DetailViewControls
public override void HighlightErrorMessageContainer()
{
- if (this._hazMessage.HasErrors)
+ Message hazMessage = this.IsDeparture ? _hazdMessage : _hazaMessage;
+ if (hazMessage.HasErrors)
{
- HighlightService.HighlightControl(this.groupBoxHAZ, HighlightService.HighlightStyle.ERROR, this._hazMessage);
+ HighlightService.HighlightControl(this.groupBoxHAZ, HighlightService.HighlightStyle.ERROR, hazMessage);
}
}
public override void HighlightViolationMessageContainer()
{
- if (this._hazMessage.HasViolations)
- HighlightService.HighlightControl(this.groupBoxHAZ, HighlightService.HighlightStyle.VIOLATION, this._hazMessage);
+ Message hazMessage = this.IsDeparture ? _hazdMessage : _hazaMessage;
+ if (hazMessage.HasViolations)
+ HighlightService.HighlightControl(this.groupBoxHAZ, HighlightService.HighlightStyle.VIOLATION, hazMessage);
}
- #endregion
+ #endregion
+
+ #region handle tab header info
private void DangerousGoodsDetailControl_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
@@ -772,31 +781,34 @@ namespace ENI2.DetailViewControls
private void RefreshTabHeaders()
{
- if (this.haz.IMDGPositions.Count > 0)
- this.tabIMDGItems.Header = string.Format("{0} ({1})", Properties.Resources.textIMDGItems, this.haz.IMDGPositions.Count);
+ HAZ haz = this.IsDeparture ? hazd : haza;
+ if (haz.IMDGPositions.Count > 0)
+ this.tabIMDGItems.Header = string.Format("{0} ({1})", Properties.Resources.textIMDGItems, haz.IMDGPositions.Count);
else
this.tabIMDGItems.Header = Properties.Resources.textIMDGItems;
- if (this.haz.IBCPositions.Count > 0)
- this.tabIBCItems.Header = string.Format("{0} ({1})", Properties.Resources.textIBCItems, this.haz.IBCPositions.Count);
+ if (haz.IBCPositions.Count > 0)
+ this.tabIBCItems.Header = string.Format("{0} ({1})", Properties.Resources.textIBCItems, haz.IBCPositions.Count);
else
this.tabIBCItems.Header = Properties.Resources.textIBCItems;
- if (this.haz.IGCPositions.Count > 0)
- this.tabIGCItems.Header = string.Format("{0} ({1})", Properties.Resources.textIGCItems, this.haz.IGCPositions.Count);
+ if (haz.IGCPositions.Count > 0)
+ this.tabIGCItems.Header = string.Format("{0} ({1})", Properties.Resources.textIGCItems, haz.IGCPositions.Count);
else
this.tabIGCItems.Header = Properties.Resources.textIGCItems;
- if (this.haz.IMSBCPositions.Count > 0)
- this.tabIMSBCItems.Header = string.Format("{0} ({1})", Properties.Resources.textIMSBCItems, this.haz.IMSBCPositions.Count);
+ if (haz.IMSBCPositions.Count > 0)
+ this.tabIMSBCItems.Header = string.Format("{0} ({1})", Properties.Resources.textIMSBCItems, haz.IMSBCPositions.Count);
else
this.tabIMSBCItems.Header = Properties.Resources.textIMSBCItems;
- if (this.haz.MARPOLPositions.Count > 0)
- this.tabMarpolItems.Header = string.Format("{0} ({1})", Properties.Resources.textMARPOLItems, this.haz.MARPOLPositions.Count);
+ if (haz.MARPOLPositions.Count > 0)
+ this.tabMarpolItems.Header = string.Format("{0} ({1})", Properties.Resources.textMARPOLItems, haz.MARPOLPositions.Count);
else
this.tabMarpolItems.Header = Properties.Resources.textMARPOLItems;
}
+ #endregion
+
}
}