From d61886daef008d35d52f56298448d1daac504aa2 Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Sun, 19 Nov 2017 08:46:16 +0000 Subject: [PATCH] 3.8.7: weitere Korrekturen, PDF --- ENI-2/ENI2/ENI2/App.config | 8 +- ENI-2/ENI2/ENI2/DetailBaseControl.cs | 4 + ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs | 21 +- .../BorderPoliceDetailControl.xaml.cs | 15 +- .../DangerousGoodsDetailControl.xaml.cs | 17 ++ ...timeHealthDeclarationDetailControl.xaml.cs | 21 +- .../OverViewDetailControl.xaml | 2 +- .../OverViewDetailControl.xaml.cs | 287 +++++++++--------- .../SecurityDetailControl.xaml.cs | 13 +- .../WasteDetailControl.xaml.cs | 42 +-- ENI-2/ENI2/ENI2/ENI2.csproj | 4 +- .../ENI2/EditControls/EditIMDGDialog.xaml.cs | 2 + .../EditControls/ViolationListDialog.xaml | 8 +- ENI-2/ENI2/ENI2/Themes/Generic.xaml | 15 +- Stundensheet.xlsx | Bin 35050 -> 35069 bytes nsw/Deutschland/Reference_Sheet_DE.xltx | Bin 116600 -> 123199 bytes nsw/Source/bsmd.ExcelReadService/Util.cs | 42 +-- .../bsmd.ReportGenerator/BSMDDocument.cs | 82 ++++- .../bsmd.ReportGenerator/ReportService.cs | 8 +- .../bsmd.ReportGenerator.csproj | 10 + nsw/Source/bsmd.database/DBManager.cs | 8 +- nsw/Source/bsmd.database/DatabaseEntity.cs | 36 ++- nsw/Source/bsmd.database/HAZ.cs | 90 ++++-- nsw/Source/bsmd.database/IBCPosition.cs | 21 +- nsw/Source/bsmd.database/IMDGPosition.cs | 6 +- nsw/Source/bsmd.database/IMessageParagraph.cs | 47 ++- .../bsmd.database/MARPOL_Annex_I_Position.cs | 5 +- .../Properties/AssemblyProductInfo.cs | 2 +- .../Properties/AssemblyProjectInfo.cs | 2 +- .../bsmd.database/ValidationCondition.cs | 75 +++-- nsw/Source/bsmd.database/ValidationRule.cs | 235 ++++++++++++-- nsw/Source/bsmd.database/WAS.cs | 46 +++ nsw/Source/bsmd.dbh/Response.cs | 19 +- nsw/Source/misc/report.db | Bin 3072 -> 6144 bytes nsw/Störfälle.xlsx | Bin 0 -> 16107 bytes 35 files changed, 841 insertions(+), 352 deletions(-) create mode 100644 nsw/Störfälle.xlsx diff --git a/ENI-2/ENI2/ENI2/App.config b/ENI-2/ENI2/ENI2/App.config index 9ff3f9c0..77790c5b 100644 --- a/ENI-2/ENI2/ENI2/App.config +++ b/ENI-2/ENI2/ENI2/App.config @@ -26,12 +26,12 @@ 1000 - http://192.168.2.4/LockingService/LockingService.svc - + + http://heupferd/bsmd.LockingService/LockingService.svc - Data Source=192.168.2.12;Initial Catalog=nsw;Uid=dfuser;Pwd=dfpasswd;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False - + + Data Source=(localdb)\Projects;Initial Catalog=nsw;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False diff --git a/ENI-2/ENI2/ENI2/DetailBaseControl.cs b/ENI-2/ENI2/ENI2/DetailBaseControl.cs index 31ef84a3..669f0dd7 100644 --- a/ENI-2/ENI2/ENI2/DetailBaseControl.cs +++ b/ENI-2/ENI2/ENI2/DetailBaseControl.cs @@ -124,7 +124,11 @@ namespace ENI2 { _typeMessageDict[message.MessageNotificationClass] = message; } + } + public virtual void SetEnabled(bool enabled) + { + this.IsEnabled = enabled; } #endregion diff --git a/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs index ebdde657..dc11b925 100644 --- a/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs +++ b/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs @@ -84,10 +84,7 @@ namespace ENI2 this._listBoxList.Add(new MessageGroup() { MessageGroupName = Properties.Resources.textTowage, MessageGroupControlType = typeof(TowageDetailControl), ImagePath = "Resources/ship2.png" }); - this.listBoxMessages.ItemsSource = this._listBoxList; - - // Locking ergänzt. Ich habe den Eindruck, dass die DataReader Fehler beim BSMD daran liegen, dass das hier länger dauert als - // man eine neue Anmeldung anklickt -> paralleles Laden -> Autsch + this.listBoxMessages.ItemsSource = this._listBoxList; _messages = DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).GetMessagesForCore(_core, DBManager.MessageLoad.ALL); @@ -144,9 +141,10 @@ namespace ENI2 detailControl.RequestDisable += DetailControl_RequestDisable; detailControl.Initialize(); - detailControl.IsEnabled = !this.LockedByOtherUser; + bool isEnabled = !this.LockedByOtherUser; + detailControl.SetEnabled(isEnabled); - if (!detailControl.IsEnabled && (detailControl is OverViewDetailControl) && !(_core.Cancelled ?? false)) + if (!isEnabled && (detailControl is OverViewDetailControl) && !(_core.Cancelled ?? false)) ((OverViewDetailControl)detailControl).ShowLockedBy(this.LockedBy); controlCache.Add(mg.MessageGroupName, detailControl); @@ -272,6 +270,14 @@ namespace ENI2 { this.SaveMessage(message); } + + DetailBaseControl currentControl = this.detailView.Children[0] as DetailBaseControl; + if (currentControl is OverViewDetailControl) + { + // ggf. hat sich die Ticketnr geändert.. + DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(currentControl.Core); + } + this.buttonSaveAll.Visibility = Visibility.Hidden; this.buttonSave.Visibility = Visibility.Hidden; } @@ -379,7 +385,10 @@ namespace ENI2 } // "neue" regelbasierte Validierung: Hier werden die einzelnen Regeln geprüft. + bsmd.database.ValidationRule.PrepareNameLookupDict(this.Core, this._messages); + List validationRules = DBManager.Instance.GetValidationRules(); + foreach (bsmd.database.ValidationRule validationRule in validationRules) { if (!validationRule.IsActive ?? false) continue; // Regel auspacken diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs index 6ce206c8..caa1b4ab 100644 --- a/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs +++ b/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs @@ -41,6 +41,8 @@ namespace ENI2.DetailViewControls this.RegisterCheckboxChange(this.checkBoxStowaways, Message.NotificationClass.BPOL); } + + public override void Initialize() { base.Initialize(); @@ -120,7 +122,18 @@ namespace ENI2.DetailViewControls #endregion - } + } + + #region SetEnabled + + public override void SetEnabled(bool enabled) + { + this.groupBoxBorderPolice.IsEnabled = enabled; + this.groupBoxCrewList.IsEnabled = enabled; + this.groupBoxPassengerList.IsEnabled = enabled; + } + + #endregion #region port of itinerary grid diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml.cs index c4c480e5..649ebd43 100644 --- a/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml.cs +++ b/ENI-2/ENI2/ENI2/DetailViewControls/DangerousGoodsDetailControl.xaml.cs @@ -184,6 +184,23 @@ namespace ENI2.DetailViewControls this._initialized = true; } + #region SetEnabled + + public override void SetEnabled(bool enabled) + { + this.dataGridIBCItems.IsEnabled = enabled; + this.checkBoxDangerousGoodsOnBoard.IsEnabled = enabled; + this.checkBoxDGManifestOnBoard.IsEnabled = enabled; + this.checkBoxMoUBaltic.IsEnabled = enabled; + this.dataGridIBCItems.IsEnabled = enabled; + this.dataGridIMDGItems.IsEnabled = enabled; + this.dataGridIGCItems.IsEnabled = enabled; + this.dataGridIMSBCItems.IsEnabled = enabled; + this.dataGridMARPOLItems.IsEnabled = enabled; + } + + #endregion + #region Copy event handler private void copyMARPOL(object sender, RoutedEventArgs e) diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml.cs index 27dfa717..89a43b7a 100644 --- a/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml.cs +++ b/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml.cs @@ -123,7 +123,24 @@ namespace ENI2.DetailViewControls #endregion - } + } + + #region SetEnabled + + public override void SetEnabled(bool enabled) + { + this.mdhGroupBox.IsEnabled = enabled; + this.dataGridPortOfCallLast30Days.IsEnabled = enabled; + this.buttonImportFromSEC.IsEnabled = enabled; + this.checkBoxHasShipVisited.IsEnabled = enabled; + this.dataGridInfectedAreas.IsEnabled = enabled; + this.checkBoxSanitaryMeasuresApplied.IsEnabled = enabled; + this.dataGridSanitaryMeasures.IsEnabled = enabled; + } + + #endregion + + #region Enable Controls based on Checkbox (fixed) private void CheckBoxSanitaryControlExemption_Checked(object sender, RoutedEventArgs e) { @@ -192,6 +209,8 @@ namespace ENI2.DetailViewControls this.dataGridSanitaryMeasures.IsReadOnly = !(this.checkBoxSanitaryMeasuresApplied.IsChecked ?? false); } + #endregion + private void MaritimeHealthDeclarationDetailControl_Loaded(object sender, RoutedEventArgs e) { diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml index 98819b8b..2644a35f 100644 --- a/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml +++ b/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml @@ -76,7 +76,7 @@