diff --git a/ENI-2/ENI2/ENI2/App.config b/ENI-2/ENI2/ENI2/App.config
index 26bd10f2..f39c4f5a 100644
--- a/ENI-2/ENI2/ENI2/App.config
+++ b/ENI-2/ENI2/ENI2/App.config
@@ -26,12 +26,12 @@
1000
-
- http://heupferd/bsmd.LockingService/LockingService.svc
+ http://192.168.2.4/LockingService/LockingService.svc
+
-
- Data Source=(localdb)\Projects;Initial Catalog=nsw;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False
+ Data Source=192.168.2.12;Initial Catalog=nsw;Uid=dfuser;Pwd=dfpasswd;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False
+
diff --git a/ENI-2/ENI2/ENI2/DetailBaseControl.cs b/ENI-2/ENI2/ENI2/DetailBaseControl.cs
index 758180b4..94467804 100644
--- a/ENI-2/ENI2/ENI2/DetailBaseControl.cs
+++ b/ENI-2/ENI2/ENI2/DetailBaseControl.cs
@@ -65,6 +65,12 @@ namespace ENI2
///
public event Action NotificationClassChanged;
+ ///
+ /// Eine Maske soll neu erzeugt werden weil sich dort "indirekt" etwas geändert hat durch eine Änderung in einer anderen Maske.
+ /// (Beispiel Copy HAZA nach HAZD Elemente)
+ ///
+ public event Action ResetControlCache;
+
#endregion
#region Properties
@@ -124,7 +130,12 @@ namespace ENI2
protected virtual void OnRequestReload()
{
this.RequestReload?.Invoke();
- }
+ }
+
+ protected virtual void OnControlCacheReset(string messageGroupName)
+ {
+ this.ResetControlCache?.Invoke(messageGroupName);
+ }
#region event handling for control content changes (signal dirty etc)
diff --git a/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs
index b38d5b4c..9547472f 100644
--- a/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs
+++ b/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs
@@ -127,6 +127,7 @@ namespace ENI2
detailControl.RequestReload += DetailControl_RequestReload;
detailControl.NotificationClassChanged += DetailControl_NotificationClassChanged;
+ detailControl.ResetControlCache += DetailControl_ResetControlCache;
detailControl.Initialize();
detailControl.IsEnabled = !this.LockedByOtherUser;
@@ -160,6 +161,13 @@ namespace ENI2
}
}
+ private void DetailControl_ResetControlCache(string messageGroupName)
+ {
+ if (messageGroupName.IsNullOrEmpty()) return;
+ if (controlCache.ContainsKey(messageGroupName))
+ controlCache.Remove(messageGroupName);
+ }
+
private void buttonSave_Click(object sender, RoutedEventArgs e)
{
MessageBoxResult result = MessageBox.Show(Properties.Resources.textQuestionSavePage, Properties.Resources.textConfirmation,
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml
index 59a2342a..ded673a4 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/ArrivalNotificationDetailControl.xaml
@@ -27,7 +27,7 @@
-
+
@@ -38,7 +38,7 @@
-
+
@@ -54,13 +54,13 @@
-
+
-
+
-
+
-
+
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml
index 624b428e..06a13a57 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml
@@ -39,7 +39,7 @@
-
+
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml.cs
index 897eaddb..451ef3f6 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml.cs
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml.cs
@@ -201,6 +201,7 @@ namespace ENI2.DetailViewControls
copyMARPOL.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.MARPOLPositions);
this.hazd.MARPOLPositions.Add(copyMARPOL);
this.SublistElementChanged(Message.NotificationClass.HAZD);
+ this.OnControlCacheReset(Properties.Resources.textDGDeparture);
}
}
}
@@ -220,6 +221,7 @@ namespace ENI2.DetailViewControls
copyIMSBC.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.IMSBCPositions);
this.hazd.IMSBCPositions.Add(copyIMSBC);
this.SublistElementChanged(Message.NotificationClass.HAZD);
+ this.OnControlCacheReset(Properties.Resources.textDGDeparture);
}
}
}
@@ -239,6 +241,7 @@ namespace ENI2.DetailViewControls
copyIMDG.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.IMDGPositions);
this.hazd.IMDGPositions.Add(copyIMDG);
this.SublistElementChanged(Message.NotificationClass.HAZD);
+ this.OnControlCacheReset(Properties.Resources.textDGDeparture);
}
}
}
@@ -258,6 +261,7 @@ namespace ENI2.DetailViewControls
copyIGC.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.IGCPositions);
this.hazd.IGCPositions.Add(copyIGC);
this.SublistElementChanged(Message.NotificationClass.HAZD);
+ this.OnControlCacheReset(Properties.Resources.textDGDeparture);
}
}
}
@@ -277,6 +281,7 @@ namespace ENI2.DetailViewControls
copyIBC.Identifier = DatabaseEntity.GetNewIdentifier(this.hazd.IBCPositions);
this.hazd.IBCPositions.Add(copyIBC);
this.SublistElementChanged(Message.NotificationClass.HAZD);
+ this.OnControlCacheReset(Properties.Resources.textDGDeparture);
}
}
}
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/DepartureNotificationDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/DepartureNotificationDetailControl.xaml
index 39f2135c..4e399da7 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/DepartureNotificationDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/DepartureNotificationDetailControl.xaml
@@ -27,7 +27,7 @@
-
+
@@ -38,7 +38,7 @@
-
+
@@ -54,13 +54,13 @@
-
+
-
+
-
+
-
+
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml
index 40416b17..51dbca63 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml
@@ -67,18 +67,18 @@
-
+
-
+
-
+
-
+
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml
index eeec5ce3..8c180716 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml
@@ -57,23 +57,23 @@
-->
-
+
-
+
-
+
-
-
-
-
+
+
+
+
-
+
@@ -131,6 +131,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml.cs
index 203530f0..063cf2cc 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml.cs
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml.cs
@@ -209,6 +209,12 @@ namespace ENI2.DetailViewControls
resetItem.Click += new RoutedEventHandler(this.contextResetMessage);
this.dataGridMessages.ContextMenu.Items.Add(resetItem);
+ MenuItem systemErrorItem = new MenuItem();
+ systemErrorItem.Header = Properties.Resources.textSystemErrors;
+ systemErrorItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/hand_red_card.png")) };
+ systemErrorItem.Click += new RoutedEventHandler(this.buttonSystemErrors_Click);
+ this.dataGridMessages.ContextMenu.Items.Add(systemErrorItem);
+
MenuItem errorItem = new MenuItem();
errorItem.Header = Properties.Resources.textErrors;
errorItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/error.png")) };
@@ -311,7 +317,7 @@ namespace ENI2.DetailViewControls
this.dataGridMessages.ItemsSource = this.Messages;
this._initialized = true;
- }
+ }
#endregion
@@ -541,6 +547,17 @@ namespace ENI2.DetailViewControls
}
}
+ private void buttonSystemErrors_Click(object sender, RoutedEventArgs e)
+ {
+ if (this.dataGridMessages.SelectedItems.Count > 0)
+ {
+ Message selectedMessage = this.dataGridMessages.SelectedItems[0] as Message;
+ SystemErrorDialog sed = new SystemErrorDialog();
+ sed.SystemErrors = selectedMessage.SystemErrorList;
+ sed.ShowDialog();
+ }
+ }
+
#endregion
}
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/PSC72hDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/PSC72hDetailControl.xaml
index 863a8528..fd7c7f98 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/PSC72hDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/PSC72hDetailControl.xaml
@@ -37,17 +37,17 @@
-
+
-
+
-
+
-
+
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/PortCallDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/PortCallDetailControl.xaml
index 4da4b122..4d25fd6a 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/PortCallDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/PortCallDetailControl.xaml
@@ -42,12 +42,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -94,15 +94,15 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/PortNotificationDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/PortNotificationDetailControl.xaml
index a98f4bb8..6008ef74 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/PortNotificationDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/PortNotificationDetailControl.xaml
@@ -57,13 +57,13 @@
-
-
-
+
+
+
-
-
-
+
+
+
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/SecurityDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/SecurityDetailControl.xaml
index 12f8223c..d73e69cb 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/SecurityDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/SecurityDetailControl.xaml
@@ -68,25 +68,25 @@
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
+
-
-
+
+
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/SecurityDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/SecurityDetailControl.xaml.cs
index 6fe939ef..d006a3a5 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/SecurityDetailControl.xaml.cs
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/SecurityDetailControl.xaml.cs
@@ -70,13 +70,13 @@ namespace ENI2.DetailViewControls
this._sec = sec;
this.comboBoxCurrentShipSecurityLevel.ItemsSource = Util.GlobalStructures.ShipSecurityLevels;
- this.comboBoxCurrentShipSecurityLevel.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxCurrentShipSecurityLevel.KeyUp += ComboBox_KeyUp;
this.comboBoxISSCType.ItemsSource = isscTypes;
- this.comboBoxISSCType.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxISSCType.KeyUp += ComboBox_KeyUp;
this.comboBoxISSCIssuerType.ItemsSource = isscIssuerTypes;
- this.comboBoxISSCIssuerType.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxISSCIssuerType.KeyUp += ComboBox_KeyUp;
this.comboBoxGeneralDescriptionOfCargo.ItemsSource = cargoDescriptions;
- this.comboBoxGeneralDescriptionOfCargo.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxGeneralDescriptionOfCargo.KeyUp += ComboBox_KeyUp;
this.dataGridLast10PortFacilities.Initialize();
this.dataGridLast10PortFacilities.ItemsSource = sec.LastTenPortFacilitesCalled;
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/ShipDataDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/ShipDataDetailControl.xaml
index 0bc52519..2939b0b8 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/ShipDataDetailControl.xaml
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/ShipDataDetailControl.xaml
@@ -48,21 +48,21 @@
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
+
-
+
-
-
+
+
@@ -89,12 +89,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/ShipDataDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/ShipDataDetailControl.xaml.cs
index fd8f4002..71e0f0e3 100644
--- a/ENI-2/ENI2/ENI2/DetailViewControls/ShipDataDetailControl.xaml.cs
+++ b/ENI-2/ENI2/ENI2/DetailViewControls/ShipDataDetailControl.xaml.cs
@@ -76,11 +76,11 @@ namespace ENI2.DetailViewControls
}
this.comboBoxFlag.ItemsSource = CREW.NationalityDict;
- this.comboBoxFlag.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxFlag.KeyUp += ComboBox_KeyUp;
this.comboBoxVesselType.ItemsSource = STAT.VesselTypeDict;
- this.comboBoxVesselType.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxVesselType.KeyUp += ComboBox_KeyUp;
this.comboBoxTransportMode.ItemsSource = STAT.TransportModeDict;
- this.comboBoxTransportMode.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxTransportMode.KeyUp += ComboBox_KeyUp;
this.shipDataGroupBox.DataContext = stat;
#endregion
diff --git a/ENI-2/ENI2/ENI2/ENI2.csproj b/ENI-2/ENI2/ENI2/ENI2.csproj
index 536fb8ab..f4bf01e8 100644
--- a/ENI-2/ENI2/ENI2/ENI2.csproj
+++ b/ENI-2/ENI2/ENI2/ENI2.csproj
@@ -35,8 +35,8 @@
3.5.1.0
true
publish.html
- 4
- 3.6.13.%2a
+ 2
+ 3.6.15.%2a
false
true
true
@@ -288,6 +288,9 @@
SimplePropertyViewDialog.xaml
+
+ SystemErrorDialog.xaml
+
ViolationListDialog.xaml
@@ -482,6 +485,10 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile
@@ -587,6 +594,7 @@
+
Always
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditBKRDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditBKRDialog.xaml
index d12e1022..5fb9e83c 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditBKRDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditBKRDialog.xaml
@@ -19,8 +19,8 @@
-
+
-
+
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditCREWDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditCREWDialog.xaml
index 0d80c2a9..6b84e7bc 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditCREWDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditCREWDialog.xaml
@@ -37,11 +37,11 @@
-
+
-
+
-
+
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditCREWDialog.xaml.cs b/ENI-2/ENI2/ENI2/EditControls/EditCREWDialog.xaml.cs
index b7751fdd..d355e4ad 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditCREWDialog.xaml.cs
+++ b/ENI-2/ENI2/ENI2/EditControls/EditCREWDialog.xaml.cs
@@ -35,11 +35,11 @@ namespace ENI2.EditControls
this.comboBoxGender.SelectedIndex = this.CREW.CrewMemberGender.HasValue ? this.CREW.CrewMemberGender.Value : -1;
this.textBoxPlaceOfBirth.Text = this.CREW.CrewMemberPlaceOfBirth;
this.comboBoxNationality.ItemsSource = bsmd.database.CREW.NationalityDict;
- this.comboBoxNationality.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxNationality.KeyUp += ComboBox_KeyUp;
this.comboBoxNationality.SelectedValue = this.CREW.CrewMemberNationality;
this.datePickerDateOfBirth.SelectedDate = this.CREW.CrewMemberDateOfBirth;
this.comboBoxIdDocType.ItemsSource = GlobalStructures.IDDocTypeList;
- this.comboBoxIdDocType.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxIdDocType.KeyUp += ComboBox_KeyUp;
this.comboBoxIdDocType.SelectedIndex = this.CREW.CrewMemberIdentityDocumentType.HasValue ? this.CREW.CrewMemberIdentityDocumentType.Value : -1;
this.textBoxIdDocNumber.Text = this.CREW.CrewMemberIdentityDocumentId;
this.textBoxVisaNumber.Text = this.CREW.CrewMemberVisaNumber;
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditIBCDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditIBCDialog.xaml
index 540af1d3..aec2831f 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditIBCDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditIBCDialog.xaml
@@ -46,12 +46,12 @@
-
-
-
+
+
+
-
+
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditIBCDialog.xaml.cs b/ENI-2/ENI2/ENI2/EditControls/EditIBCDialog.xaml.cs
index 7c865996..0bf70f6f 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditIBCDialog.xaml.cs
+++ b/ENI-2/ENI2/ENI2/EditControls/EditIBCDialog.xaml.cs
@@ -35,13 +35,13 @@ namespace ENI2.EditControls
this.checkBoxSpecRef15_19.IsChecked = this.IBC.SpecRef15_19;
this.comboBoxFlashpointInformation.ItemsSource = IBCPosition.flashpointInformations;
- this.comboBoxFlashpointInformation.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxFlashpointInformation.KeyUp += ComboBox_KeyUp;
this.comboBoxFlashpointInformation.SelectedIndex = this.IBC.FlashpointInformation ?? -1;
this.comboBoxPollutionCategory.ItemsSource = IBCPosition.pollutionCategories;
- this.comboBoxPollutionCategory.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxPollutionCategory.KeyUp += ComboBox_KeyUp;
this.comboBoxPollutionCategory.SelectedIndex = this.IBC.PollutionCategory ?? -1;
this.comboBoxRisks.ItemsSource = IBCPosition.hazards;
- this.comboBoxRisks.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxRisks.KeyUp += ComboBox_KeyUp;
this.comboBoxRisks.SelectedIndex = this.IBC.Hazards ?? -1;
this.doubleUpDownQuantity.Value = this.IBC.Quantity_KGM;
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditIGCDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditIGCDialog.xaml
index 9c359d8f..ee578f56 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditIGCDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditIGCDialog.xaml
@@ -41,7 +41,7 @@
-
+
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditIMDGDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditIMDGDialog.xaml
index 4e88b3ef..a39a6c99 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditIMDGDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditIMDGDialog.xaml
@@ -81,31 +81,31 @@ Copyright (c) 2017 schick Informatik
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
+
+
-
-
+
+
-
+
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditIMDGDialog.xaml.cs b/ENI-2/ENI2/ENI2/EditControls/EditIMDGDialog.xaml.cs
index 241e6751..b610db9d 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditIMDGDialog.xaml.cs
+++ b/ENI-2/ENI2/ENI2/EditControls/EditIMDGDialog.xaml.cs
@@ -60,10 +60,10 @@ namespace ENI2.EditControls
this.checkBoxMarinePollutant.IsChecked = this.IMDG.MarinePollutant;
this.comboBoxPackageType.ItemsSource = HAZ.PackageTypes;
- this.comboBoxPackageType.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxPackageType.KeyUp += ComboBox_KeyUp;
this.comboBoxPackageType.SelectedValue = this.IMDG.PackageType;
this.comboBoxPackingGroup.ItemsSource = GlobalStructures.packingGroups;
- this.comboBoxPackingGroup.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxPackingGroup.KeyUp += ComboBox_KeyUp;
this.comboBoxPackingGroup.SelectedIndex = (int) (this.IMDG.PackingGroup ?? -1);
this.locodeControlPortOfDischarge.LocodeValue = this.IMDG.PortOfDischarge;
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditIMSBCDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditIMSBCDialog.xaml
index 32fb4e3f..bd043da4 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditIMSBCDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditIMSBCDialog.xaml
@@ -45,7 +45,7 @@
-
+
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditLADGDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditLADGDialog.xaml
index 65680c8b..4a845d57 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditLADGDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditLADGDialog.xaml
@@ -36,12 +36,12 @@ Copyright (c) 2017 schick Informatik
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditLADGDialog.xaml.cs b/ENI-2/ENI2/ENI2/EditControls/EditLADGDialog.xaml.cs
index 908b4dbc..3db60d3c 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditLADGDialog.xaml.cs
+++ b/ENI-2/ENI2/ENI2/EditControls/EditLADGDialog.xaml.cs
@@ -51,28 +51,27 @@ namespace ENI2.EditControls
else
this.comboBoxHandlingType.ItemsSource = handlinTypeListDE;
- this.comboBoxHandlingType.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxHandlingType.KeyUp += ComboBox_KeyUp;
if (this.LADG.CargoHandlingType.HasValue)
this.comboBoxHandlingType.SelectedIndex = this.LADG.CargoHandlingType.Value;
this.comboBoxLACodes.ItemsSource = LADG.LACodes;
- this.comboBoxLACodes.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxLACodes.KeyUp += ComboBox_KeyUp;
this.comboBoxLACodes.SelectedValue = this.LADG.CargoLACode;
this.integerUpDownNumberOfItems.Value = this.LADG.CargoNumberOfItems;
this.doubleUpDownGrossQuantity.Value = this.LADG.CargoGrossQuantity_TNE;
this.locodeControl_PortOfLoading.LocodeValue = this.LADG.PortOfLoading;
this.locodeControl_PortOfDischarge.LocodeValue = this.LADG.PortOfDischarge;
- this.comboBoxLACodes.SelectedValue = this.LADG.CargoLACode;
- this.comboBoxLACodes.KeyUp += ComboBox_KeyUp;
+ this.comboBoxLACodes.SelectedValue = this.LADG.CargoLACode;
this.comboBoxNSTCode.ItemsSource = LADG.CargoCodesNST;
- this.comboBoxNSTCode.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxNSTCode.KeyUp += ComboBox_KeyUp;
this.comboBoxNSTCode.SelectedValue = this.LADG.CargoCodeNST;
this.comboBoxNSTCode.SelectionChanged += ComboBoxNSTCode_SelectionChanged;
this.comboBoxNST3Code.ItemsSource = LADG.CargoCodesNST3;
- this.comboBoxNST3Code.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxNST3Code.KeyUp += ComboBox_KeyUp;
this.comboBoxNST3Code.SelectedValue = this.LADG.CargoCodeNST_3;
this.AddVisible = true;
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditLast10PortFacilitiesDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditLast10PortFacilitiesDialog.xaml
index 8da9f474..bb2b5ff4 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditLast10PortFacilitiesDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditLast10PortFacilitiesDialog.xaml
@@ -35,12 +35,12 @@
-
-
+
+
-
+
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditLast10PortFacilitiesDialog.xaml.cs b/ENI-2/ENI2/ENI2/EditControls/EditLast10PortFacilitiesDialog.xaml.cs
index ffee74a3..4219e4f0 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditLast10PortFacilitiesDialog.xaml.cs
+++ b/ENI-2/ENI2/ENI2/EditControls/EditLast10PortFacilitiesDialog.xaml.cs
@@ -32,7 +32,12 @@ namespace ENI2.EditControls
this.datePickerATA.SelectedDate = this.LastTenPortFacilitiesCalled.PortFacilityDateOfArrival;
this.datePickerATD.SelectedDate = this.LastTenPortFacilitiesCalled.PortFacilityDateOfDeparture;
this.comboBoxShipSecurityLevel.ItemsSource = GlobalStructures.ShipSecurityLevels;
- this.comboBoxShipSecurityLevel.SelectedIndex = this.LastTenPortFacilitiesCalled.PortFacilityShipSecurityLevel ?? -1;
+
+ if (this.LastTenPortFacilitiesCalled.PortFacilityShipSecurityLevel.HasValue)
+ this.comboBoxShipSecurityLevel.SelectedIndex = (this.LastTenPortFacilitiesCalled.PortFacilityShipSecurityLevel.Value - 1);
+ else
+ this.comboBoxShipSecurityLevel.SelectedIndex = -1;
+
this.textBoxGisisCode.Text = this.LastTenPortFacilitiesCalled.PortFacilityGISISCode;
this.textBoxSecurityMatters.Text = this.LastTenPortFacilitiesCalled.PortFacilitySecurityMattersToReport;
@@ -48,10 +53,12 @@ namespace ENI2.EditControls
this.LastTenPortFacilitiesCalled.PortFacilityDateOfArrival = this.datePickerATA.SelectedDate;
this.LastTenPortFacilitiesCalled.PortFacilityDateOfDeparture = this.datePickerATD.SelectedDate;
this.LastTenPortFacilitiesCalled.PortFacilityGISISCode = this.textBoxGisisCode.Text;
+
if (this.comboBoxShipSecurityLevel.SelectedIndex == -1)
this.LastTenPortFacilitiesCalled.PortFacilityShipSecurityLevel = null;
else
- this.LastTenPortFacilitiesCalled.PortFacilityShipSecurityLevel = ((byte)this.comboBoxShipSecurityLevel.SelectedIndex);
+ this.LastTenPortFacilitiesCalled.PortFacilityShipSecurityLevel = (byte?) (this.comboBoxShipSecurityLevel.SelectedIndex + 1);
+
this.LastTenPortFacilitiesCalled.PortFacilitySecurityMattersToReport = this.textBoxSecurityMatters.Text;
}
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditMarpolDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditMarpolDialog.xaml
index 9132c311..22114a07 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditMarpolDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditMarpolDialog.xaml
@@ -37,14 +37,14 @@
-
-
-
-
+
+
+
+
-
+
-
+
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditMarpolDialog.xaml.cs b/ENI-2/ENI2/ENI2/EditControls/EditMarpolDialog.xaml.cs
index d5977cac..8ad483fb 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditMarpolDialog.xaml.cs
+++ b/ENI-2/ENI2/ENI2/EditControls/EditMarpolDialog.xaml.cs
@@ -33,7 +33,7 @@ namespace ENI2.EditControls
this.textBoxStowagePosition.Text = this.MARPOL.StowagePosition;
this.comboBoxFlashpointInformation.ItemsSource = IBCPosition.flashpointInformations;
- this.comboBoxFlashpointInformation.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxFlashpointInformation.KeyUp += ComboBox_KeyUp;
this.comboBoxFlashpointInformation.SelectedIndex = (this.MARPOL.FlashpointInformation == null) ? -1 : ((int)this.MARPOL.FlashpointInformation);
this.doubleUpDownQuantity.Value = this.MARPOL.Quantity_KGM;
this.locodeControlPortOfDischarge.LocodeValue = this.MARPOL.PortOfDischarge;
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditPasDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditPasDialog.xaml
index 7330f814..7cdb4d4c 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditPasDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditPasDialog.xaml
@@ -39,11 +39,11 @@
-
+
-
+
-
+
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditPasDialog.xaml.cs b/ENI-2/ENI2/ENI2/EditControls/EditPasDialog.xaml.cs
index e57b0cf8..51042205 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditPasDialog.xaml.cs
+++ b/ENI-2/ENI2/ENI2/EditControls/EditPasDialog.xaml.cs
@@ -30,15 +30,15 @@ namespace ENI2.EditControls
this.textBoxLastName.Text = this.PAS.PassengerLastName;
this.textBoxFirstName.Text = this.PAS.PassengerFirstName;
this.comboBoxGender.ItemsSource = GlobalStructures.GenderList;
- this.comboBoxGender.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxGender.KeyUp += ComboBox_KeyUp;
this.comboBoxGender.SelectedIndex = this.PAS.PassengerGender.HasValue ? this.PAS.PassengerGender.Value : -1;
this.textBoxPlaceOfBirth.Text = this.PAS.PassengerPlaceOfBirth;
this.comboBoxNationality.ItemsSource = bsmd.database.CREW.NationalityDict;
- this.comboBoxNationality.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxNationality.KeyUp += ComboBox_KeyUp;
this.comboBoxNationality.SelectedValue = this.PAS.PassengerNationality;
this.datePickerDateOfBirth.SelectedDate = this.PAS.PassengerDateOfBirth;
this.comboBoxIdDocType.ItemsSource = GlobalStructures.IDDocTypeList;
- this.comboBoxIdDocType.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxIdDocType.KeyUp += ComboBox_KeyUp;
this.comboBoxIdDocType.SelectedIndex = this.PAS.PassengerIdentityDocumentType.HasValue ? this.PAS.PassengerIdentityDocumentType.Value : -1;
this.textBoxIdDocNumber.Text = this.PAS.PassengerIdentityDocumentId;
this.textBoxVisaNumber.Text = this.PAS.PassengerVisaNumber;
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditPortOfItineraryDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditPortOfItineraryDialog.xaml
index 38a23d45..ed89013c 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditPortOfItineraryDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditPortOfItineraryDialog.xaml
@@ -21,7 +21,7 @@
-
+
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditSERVDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditSERVDialog.xaml
index 309a2962..2546154b 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditSERVDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditSERVDialog.xaml
@@ -21,7 +21,7 @@
-
+
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditSanitaryMeasureDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditSanitaryMeasureDialog.xaml
index 24260fb8..5e694deb 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditSanitaryMeasureDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditSanitaryMeasureDialog.xaml
@@ -21,8 +21,8 @@
-
-
+
+
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditShip2ShipActivitiesDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditShip2ShipActivitiesDialog.xaml
index e2c16cfb..1037d2a9 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditShip2ShipActivitiesDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditShip2ShipActivitiesDialog.xaml
@@ -34,10 +34,10 @@
-
+
-
-
+
+
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditTOWDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditTOWDialog.xaml
index f3857226..c77405de 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditTOWDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditTOWDialog.xaml
@@ -47,11 +47,11 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditTOWDialog.xaml.cs b/ENI-2/ENI2/ENI2/EditControls/EditTOWDialog.xaml.cs
index 50f3d142..ae5808cd 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditTOWDialog.xaml.cs
+++ b/ENI-2/ENI2/ENI2/EditControls/EditTOWDialog.xaml.cs
@@ -50,7 +50,7 @@ namespace ENI2.EditControls
this.textBoxRemarks.Text = this.IsDeparture ? this.TOWD.TowageOnDepartureRemarks : this.TOWA.TowageOnArrivalRemarks;
this.comboBoxFlag.ItemsSource = bsmd.database.CREW.NationalityDict;
this.comboBoxFlag.SelectedValue = this.IsDeparture ? this.TOWD.TowageOnDepartureFlag : this.TOWA.TowageOnArrivalFlag;
- this.comboBoxFlag.KeyUp += ComboBox_KeyUp;
+ //this.comboBoxFlag.KeyUp += ComboBox_KeyUp;
this.doubleUpDownBeam.Value = this.IsDeparture ? this.TOWD.TowageOnDepartureBeam_MTR : this.TOWA.TowageOnArrivalBeam_MTR;
this.textBoxOperatorName.Text = this.IsDeparture ? this.TOWD.TowageOnDepartureOperatorCompanyName : this.TOWA.TowageOnArrivalOperatorCompanyName;
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditWasteDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditWasteDialog.xaml
index 80a0fd23..b5eab007 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditWasteDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditWasteDialog.xaml
@@ -39,12 +39,12 @@
-
-
-
-
+
+
+
+
-
+
diff --git a/ENI-2/ENI2/ENI2/EditControls/NewWithIdDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/NewWithIdDialog.xaml
index ab381891..988c9ce8 100644
--- a/ENI-2/ENI2/ENI2/EditControls/NewWithIdDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/NewWithIdDialog.xaml
@@ -23,7 +23,7 @@
-
+
@@ -40,7 +40,8 @@
DisplayDefaultValueOnEmptyText="False"
ButtonSpinnerLocation="Right"
ParsingNumberStyle="Integer"
- Watermark="Enter IMO" ValueChanged="doubleUpDownIMO_ValueChanged"/>
+ Watermark="Enter IMO" ValueChanged="doubleUpDownIMO_ValueChanged"
+ TextAlignment="Left" />
+ Watermark="Enter ENI" ValueChanged="doubleUpDownENI_ValueChanged" TextAlignment="Left"/>
diff --git a/ENI-2/ENI2/ENI2/EditControls/SystemErrorDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/SystemErrorDialog.xaml
new file mode 100644
index 00000000..8f4a1e0c
--- /dev/null
+++ b/ENI-2/ENI2/ENI2/EditControls/SystemErrorDialog.xaml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ENI-2/ENI2/ENI2/EditControls/SystemErrorDialog.xaml.cs b/ENI-2/ENI2/ENI2/EditControls/SystemErrorDialog.xaml.cs
new file mode 100644
index 00000000..34b5077e
--- /dev/null
+++ b/ENI-2/ENI2/ENI2/EditControls/SystemErrorDialog.xaml.cs
@@ -0,0 +1,32 @@
+// Copyright (c) 2017 schick Informatik
+// Description:
+//
+
+using System.Collections.Generic;
+using System.Windows;
+
+using ENI2.Controls;
+using bsmd.database;
+
+namespace ENI2.EditControls
+{
+ ///
+ /// Interaction logic for SystemErrorDialog.xaml
+ ///
+ public partial class SystemErrorDialog : EditWindowBase
+ {
+ public SystemErrorDialog()
+ {
+ InitializeComponent();
+ Loaded += SystemErrorList_Loaded;
+ }
+
+ public List SystemErrors { get; set; }
+
+ private void SystemErrorList_Loaded(object sender, RoutedEventArgs e)
+ {
+ this.dataGridSystemErrors.Initialize();
+ this.dataGridSystemErrors.ItemsSource = this.SystemErrors;
+ }
+ }
+}
diff --git a/ENI-2/ENI2/ENI2/EditControls/VisitIdDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/VisitIdDialog.xaml
index 0c5f42af..0f4a2ffa 100644
--- a/ENI-2/ENI2/ENI2/EditControls/VisitIdDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/VisitIdDialog.xaml
@@ -36,7 +36,7 @@
DisplayDefaultValueOnEmptyText="False"
ButtonSpinnerLocation="Right"
ParsingNumberStyle="Integer"
- Watermark="Enter IMO" ValueChanged="doubleUpDownIMO_ValueChanged"/>
+ Watermark="Enter IMO" ValueChanged="doubleUpDownIMO_ValueChanged" TextAlignment="Left"/>
+ Watermark="Enter ENI" ValueChanged="doubleUpDownENI_ValueChanged" TextAlignment="Left"/>
diff --git a/ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs b/ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs
index 9716e053..45d2f4e0 100644
--- a/ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs
+++ b/ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs
@@ -360,6 +360,16 @@ namespace ENI2.Properties {
}
}
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ public static System.Drawing.Bitmap hand_red_card {
+ get {
+ object obj = ResourceManager.GetObject("hand_red_card", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
@@ -1919,6 +1929,15 @@ namespace ENI2.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to Import filename.
+ ///
+ public static string textImportFilename {
+ get {
+ return ResourceManager.GetString("textImportFilename", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Import from Excel file.
///
@@ -2423,6 +2442,15 @@ namespace ENI2.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to Message.
+ ///
+ public static string textMessage {
+ get {
+ return ResourceManager.GetString("textMessage", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Message reset at {0}.
///
@@ -3305,6 +3333,15 @@ namespace ENI2.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to Send date.
+ ///
+ public static string textSendDate {
+ get {
+ return ResourceManager.GetString("textSendDate", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Send to NSW.
///
@@ -3584,6 +3621,15 @@ namespace ENI2.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to System errors.
+ ///
+ public static string textSystemErrors {
+ get {
+ return ResourceManager.GetString("textSystemErrors", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Border police.
///
diff --git a/ENI-2/ENI2/ENI2/Properties/Resources.resx b/ENI-2/ENI2/ENI2/Properties/Resources.resx
index d6215b7e..06aec4ce 100644
--- a/ENI-2/ENI2/ENI2/Properties/Resources.resx
+++ b/ENI-2/ENI2/ENI2/Properties/Resources.resx
@@ -1432,4 +1432,19 @@
Copy to HAZD
+
+ ..\Resources\hand_red_card.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ System errors
+
+
+ Import filename
+
+
+ Message
+
+
+ Send date
+
\ No newline at end of file
diff --git a/ENI-2/ENI2/ENI2/Resources/hand_red_card.png b/ENI-2/ENI2/ENI2/Resources/hand_red_card.png
new file mode 100644
index 00000000..1b3fd3f4
Binary files /dev/null and b/ENI-2/ENI2/ENI2/Resources/hand_red_card.png differ
diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx
index 3226b8d1..b7bd80a0 100644
Binary files a/Stundensheet.xlsx and b/Stundensheet.xlsx differ
diff --git a/nsw/Source/bsmd.database/DBManager.cs b/nsw/Source/bsmd.database/DBManager.cs
index 4abcaa35..f652bac8 100644
--- a/nsw/Source/bsmd.database/DBManager.cs
+++ b/nsw/Source/bsmd.database/DBManager.cs
@@ -579,6 +579,14 @@ namespace bsmd.database
this.LogNonQueryResult(cmd.CommandText, queryResult);
}
+ public void DeleteSystemErrors(Message message)
+ {
+ SqlCommand cmd = new SqlCommand();
+ cmd.CommandText = string.Format("UPDATE SystemError SET Deleted = 1 WHERE MessageHeaderId='{0}'", message.Id);
+ int queryResult = this.PerformNonQuery(cmd);
+ this.LogNonQueryResult(cmd.CommandText, queryResult);
+ }
+
public void Save(MessageCore core)
{
if (core.Customer != null)
@@ -638,6 +646,7 @@ namespace bsmd.database
{
this.LoadErrorList(message);
this.LoadViolationList(message);
+ this.LoadSystemErrorList(message);
SqlCommand cmd = new SqlCommand();
@@ -1004,6 +1013,17 @@ namespace bsmd.database
message.ViolationList.Add(violation);
}
+ internal void LoadSystemErrorList(Message message)
+ {
+ SystemError aSystemError = new SystemError();
+ SqlCommand cmd = new SqlCommand();
+ aSystemError.PrepareLoadCommand(cmd, Message.LoadFilter.MESSAGEHEADER, message.Id);
+ SqlDataReader reader = this.PerformCommand(cmd);
+ List systemErrorList = aSystemError.LoadList(reader);
+ foreach (SystemError sError in systemErrorList)
+ message.SystemErrorList.Add(sError);
+ }
+
internal void LoadCustomer(MessageCore core)
{
if (core.CustomerId.HasValue)
diff --git a/nsw/Source/bsmd.database/MARPOL_Annex_I_Position.cs b/nsw/Source/bsmd.database/MARPOL_Annex_I_Position.cs
index e779d3a7..28db6d13 100644
--- a/nsw/Source/bsmd.database/MARPOL_Annex_I_Position.cs
+++ b/nsw/Source/bsmd.database/MARPOL_Annex_I_Position.cs
@@ -171,6 +171,7 @@ namespace bsmd.database
public void CopyFromMARPOL(MARPOL_Annex_I_Position selectedMARPOL)
{
+ if (selectedMARPOL == null) return;
this.FlashpointInformation = selectedMARPOL.FlashpointInformation;
this.Flashpoint_CEL = selectedMARPOL.Flashpoint_CEL;
this.Name = selectedMARPOL.Name;
diff --git a/nsw/Source/bsmd.database/Message.cs b/nsw/Source/bsmd.database/Message.cs
index 72b8582d..c2898313 100644
--- a/nsw/Source/bsmd.database/Message.cs
+++ b/nsw/Source/bsmd.database/Message.cs
@@ -21,6 +21,7 @@ namespace bsmd.database
private DateTime? changed;
private List errorList = new List();
private List violationList = new List();
+ private List systemErrorList = new List();
private List elements = new List();
#endregion
@@ -266,6 +267,11 @@ namespace bsmd.database
///
public List ViolationList { get { return this.violationList; } }
+ ///
+ /// Liste mit "System"-Errors (HIS-Nord)
+ ///
+ public List SystemErrorList { get { return this.systemErrorList; } }
+
///
/// Property to overwrite reporting party in certain circumstances (other melder meldet)
///
@@ -321,6 +327,11 @@ namespace bsmd.database
///
public bool HasUpdates { get; set; }
+ ///
+ /// ENI Display flag
+ ///
+ public bool HasSystemErrors { get { return !this.SystemErrorList.IsNullOrEmpty(); } }
+
///
/// Flag zeigt an ob ein Benutzer einen Reminder für ein Feld der Meldeklasse gesetzt hat
///
diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs
index dbde6ac7..620b9521 100644
--- a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs
+++ b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs
@@ -2,6 +2,6 @@
[assembly: AssemblyCompany("Informatikbüro Daniel Schick")]
[assembly: AssemblyProduct("BSMD NSW interface")]
-[assembly: AssemblyInformationalVersion("3.6.14")]
+[assembly: AssemblyInformationalVersion("3.6.15")]
[assembly: AssemblyCopyright("Copyright © 2014-2017 Informatikbüro Daniel Schick. All rights reserved.")]
[assembly: AssemblyTrademark("")]
\ No newline at end of file
diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs
index c7570efc..676ed9a4 100644
--- a/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs
+++ b/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs
@@ -1,4 +1,4 @@
using System.Reflection;
-[assembly: AssemblyVersion("3.6.14.*")]
+[assembly: AssemblyVersion("3.6.15.*")]
diff --git a/nsw/Source/bsmd.database/SystemError.cs b/nsw/Source/bsmd.database/SystemError.cs
index 6e44d0ce..fd60bae9 100644
--- a/nsw/Source/bsmd.database/SystemError.cs
+++ b/nsw/Source/bsmd.database/SystemError.cs
@@ -61,6 +61,8 @@ namespace bsmd.database
public DateTime? SendDate { get; set; }
+ public Guid? MessageHeaderId { get; set; }
+
#endregion
#region DatabaseEntity implementation
@@ -83,6 +85,7 @@ namespace bsmd.database
if (!reader.IsDBNull(8)) se.ErrorDescription = reader.GetString(8);
if (!reader.IsDBNull(9)) se.MessageCoreId = reader.GetGuid(9);
if (!reader.IsDBNull(10)) se.Status = (SystemError.SystemErrorStatus) Enum.ToObject(typeof(SystemError.SystemErrorStatus), reader.GetByte(10));
+ if (!reader.IsDBNull(11)) se.MessageHeaderId = reader.GetGuid(11);
result.Add(se);
}
@@ -92,7 +95,7 @@ namespace bsmd.database
public override void PrepareLoadCommand(IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
{
- string query = string.Format("SELECT Id, ErrorAt, MeldeType, ReferenceId, ProcessStatus, ImportFilename, ErrorCode, ErrorMessage, ErrorDescription, MessageCoreId, Status FROM {0} ", this.Tablename);
+ string query = string.Format("SELECT Id, ErrorAt, MeldeType, ReferenceId, ProcessStatus, ImportFilename, ErrorCode, ErrorMessage, ErrorDescription, MessageCoreId, Status, MessageHeaderId FROM {0} ", this.Tablename);
switch (filter)
{
@@ -100,6 +103,10 @@ namespace bsmd.database
query += "WHERE MessageCoreId = @COREID";
((SqlCommand)cmd).Parameters.AddWithValue("@COREID", criteria[0]);
break;
+ case Message.LoadFilter.MESSAGEHEADER:
+ query += "WHERE MessageHeaderId = @MHID";
+ ((SqlCommand)cmd).Parameters.AddWithValue("@MHID", criteria[0]);
+ break;
case Message.LoadFilter.ALL:
default:
break;
@@ -112,27 +119,28 @@ namespace bsmd.database
{
SqlCommand scmd = cmd as SqlCommand;
- scmd.Parameters.AddWithValue("@EAT", this.ErrorAt);
- scmd.Parameters.AddWithValue("@MT", this.Meldetype);
- scmd.Parameters.AddWithValue("@REFID", this.ReferenceId);
- scmd.Parameters.AddWithValue("@PS", this.ProcessStatus);
- scmd.Parameters.AddWithValue("@IF", this.ImportFilename);
- scmd.Parameters.AddWithValue("@EC", this.ErrorCode);
- scmd.Parameters.AddWithValue("@EM", this.ErrorMessage);
- scmd.Parameters.AddWithValue("@ED", this.ErrorDescription);
- scmd.Parameters.AddWithValue("@MCID", this.MessageCoreId);
- scmd.Parameters.AddWithValue("@STATUS", (byte)this.Status);
+ scmd.Parameters.AddWithNullableValue("@EAT", this.ErrorAt);
+ scmd.Parameters.AddWithNullableValue("@MT", this.Meldetype);
+ scmd.Parameters.AddWithNullableValue("@REFID", this.ReferenceId);
+ scmd.Parameters.AddWithNullableValue("@PS", this.ProcessStatus);
+ scmd.Parameters.AddWithNullableValue("@IF", this.ImportFilename);
+ scmd.Parameters.AddWithNullableValue("@EC", this.ErrorCode);
+ scmd.Parameters.AddWithNullableValue("@EM", this.ErrorMessage);
+ scmd.Parameters.AddWithNullableValue("@ED", this.ErrorDescription);
+ scmd.Parameters.AddWithNullableValue("@MCID", this.MessageCoreId);
+ scmd.Parameters.AddWithNullableValue("@STATUS", (byte)this.Status);
+ scmd.Parameters.AddWithNullableValue("@MHID", this.MessageHeaderId);
if (this.IsNew)
{
- scmd.CommandText = string.Format("INSERT INTO {0} (ErrorAt, MeldeType, ReferenceId, ProcessStatus, ImportFilename, ErrorCode, ErrorMessage, ErrorDescription, MessageCoreId, Status) " +
- "VALUES (@EAT, @MT, @REFID, @PS, @IF, @EC, @EM, @ED, @MCID, @STATUS)", this.Tablename);
+ scmd.CommandText = string.Format("INSERT INTO {0} (ErrorAt, MeldeType, ReferenceId, ProcessStatus, ImportFilename, ErrorCode, ErrorMessage, ErrorDescription, MessageCoreId, Status, MessageHeaderId) " +
+ "VALUES (@EAT, @MT, @REFID, @PS, @IF, @EC, @EM, @ED, @MCID, @STATUS, @MHID)", this.Tablename);
}
else
{
scmd.Parameters.AddWithValue("@ID", this.Id);
scmd.CommandText = string.Format("UPDATE {0} SET ErrorAt = @EAT, MeldeType = @MT, ReferenceId = @REFID, ProcessStatus = @PS, ImportFilename = @IF, " +
- "ErrorCode = @EC, ErrorMessage = @EM, ErrorDescription = @ED, MessageCoreId = @MCID, Status = @STATUS WHERE Id = @ID", this.Tablename);
+ "ErrorCode = @EC, ErrorMessage = @EM, ErrorDescription = @ED, MessageCoreId = @MCID, Status = @STATUS, MessageHeaderId = @MHID WHERE Id = @ID", this.Tablename);
}
}
diff --git a/nsw/Source/bsmd.hisnord/Request.cs b/nsw/Source/bsmd.hisnord/Request.cs
index 3a41f087..8267a92e 100644
--- a/nsw/Source/bsmd.hisnord/Request.cs
+++ b/nsw/Source/bsmd.hisnord/Request.cs
@@ -97,6 +97,7 @@ namespace bsmd.hisnord
_log.DebugFormat("preparing {0}", noteMessageDict[notificationClass].MessageNotificationClassDisplay);
noteMessageDict[notificationClass].InternalStatus = Message.BSMDStatus.SENT;
noteMessageDict[notificationClass].SentAt = DateTime.Now;
+ DBManager.Instance.DeleteSystemErrors(noteMessageDict[notificationClass]);
result = noteMessageDict[notificationClass];
}
DBManager.Instance.Save(noteMessageDict[notificationClass]);
diff --git a/nsw/Source/bsmd.hisnord/Response.cs b/nsw/Source/bsmd.hisnord/Response.cs
index d82d0489..b1063d2e 100644
--- a/nsw/Source/bsmd.hisnord/Response.cs
+++ b/nsw/Source/bsmd.hisnord/Response.cs
@@ -83,13 +83,14 @@ namespace bsmd.hisnord
{
Message refMessage = DBManager.Instance.GetMessage(aCore, notificationClass);
if(refMessage != null)
- {
+ {
refMessage.InternalStatus = Message.BSMDStatus.SEND_FAILED;
+ systemError.MessageHeaderId = refMessage.Id;
DBManager.Instance.Save(refMessage);
}
}
- _log.InfoFormat("SystemError received for Core [{0}], IMO {1} ETA {2}: {3}", aCore.Id, aCore.IMO, aCore.ETADisplay, systemError.ErrorMessage);
+ _log.WarnFormat("SystemError received for Core [{0}], IMO {1} ETA {2}: {3} Class {4}", aCore.Id, aCore.IMO, aCore.ETADisplay, systemError.ErrorMessage, Enum.GetName(typeof(Message.NotificationClass), notificationClass));
}
else
{
@@ -132,8 +133,7 @@ namespace bsmd.hisnord
foreach (Message aMessage in messages)
{
if (aMessage.MessageNotificationClass == nswResponse.NotificationClass)
- {
-
+ {
if (nswResponse.Status != null)
{
aMessage.ReceivedAt = nswResponse.ReceiveAt;