diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml.cs index ba14fbb2..767cc91c 100644 --- a/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml.cs +++ b/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml.cs @@ -570,7 +570,7 @@ namespace ENI2.DetailViewControls } else { - if(this.Core.InitialHIS != _message.HIS) + if((this.Core.InitialHIS != _message.HIS) && (_message.HIS != Message.NSWProvider.UNDEFINED)) { MessageBox.Show(Properties.Resources.textHISNotMatching, Properties.Resources.textConfirm, MessageBoxButton.OK, MessageBoxImage.Exclamation); return; diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/PortNotificationDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/PortNotificationDetailControl.xaml.cs index 0f420a23..be1e22fe 100644 --- a/ENI-2/ENI2/ENI2/DetailViewControls/PortNotificationDetailControl.xaml.cs +++ b/ENI-2/ENI2/ENI2/DetailViewControls/PortNotificationDetailControl.xaml.cs @@ -373,6 +373,8 @@ namespace ENI2.DetailViewControls DictionaryEntry selectedItem = (DictionaryEntry) this.comboBoxGroup.SelectedItem; if(Int32.TryParse((string)selectedItem.Value, out int selectedValue)) { + if (selectedValue == (int)MessageCore.CoreFlags.MAERSK_BHV) CheckServiceEntryMaerskBHV(); + if (selectedValue == (int)MessageCore.CoreFlags.SEAGO_BHV) CheckServiceEntrySeaGoBHV(); this.Core.SetFlag(true, (MessageCore.CoreFlags)selectedValue); DBManager.Instance.Save(this.Core); } @@ -380,5 +382,55 @@ namespace ENI2.DetailViewControls #endregion + #region special entry ship service check + + private void CheckServiceEntryMaerskBHV() + { + bool found = false; + foreach(SERV serv in this._servMessage.Elements) + { + if (serv.ServiceBeneficiary.Equals("Maersk A/S, Esplanaden 50, DK-1263 Copenhagen K, VAT-ID: DK53139655")) + found = true; + } + + if(!found) + { + SERV newServ = new SERV(); + newServ.ServiceBeneficiary = "Maersk A/S, Esplanaden 50, DK-1263 Copenhagen K, VAT-ID: DK53139655"; + newServ.ServiceInvoiceRecipient = "Maersk Deutschland A/S & Co.KG, Ericusspitze 2-4, 20457 Hamburg"; + newServ.ServiceName = "Maersk BHV"; + newServ.MessageHeader = this._servMessage; + newServ.Identifier = SERV.GetNewIdentifier(_servMessage.Elements); + this._servMessage.Elements.Add(newServ); + this.dataGridSERV.Items.Refresh(); + this.SublistElementChanged(Message.NotificationClass.SERV); + } + } + + private void CheckServiceEntrySeaGoBHV() + { + bool found = false; + foreach (SERV serv in this._servMessage.Elements) + { + if (serv.ServiceBeneficiary.Equals("Sealand Europe A/S, Dampfaergevej 10, 3.tv, DK- 2100 Copenhagen, VAT-ID: DK53139655")) + found = true; + } + + if (!found) + { + SERV newServ = new SERV(); + newServ.ServiceBeneficiary = "Sealand Europe A/S, Dampfaergevej 10, 3.tv, DK- 2100 Copenhagen, VAT-ID: DK53139655"; + newServ.ServiceInvoiceRecipient = "Sealand Europe Deutschland A/S & Co. KG, Ericusspitze 2-4, 20457 Hamburg"; + newServ.ServiceName = "SeaGo BHV"; + newServ.MessageHeader = this._servMessage; + newServ.Identifier = SERV.GetNewIdentifier(_servMessage.Elements); + this._servMessage.Elements.Add(newServ); + this.dataGridSERV.Items.Refresh(); + this.SublistElementChanged(Message.NotificationClass.SERV); + } + } + + #endregion + } } diff --git a/ENI-2/ENI2/ENI2/ENI2.csproj b/ENI-2/ENI2/ENI2/ENI2.csproj index 890a7a16..4019aa27 100644 --- a/ENI-2/ENI2/ENI2/ENI2.csproj +++ b/ENI-2/ENI2/ENI2/ENI2.csproj @@ -35,7 +35,7 @@ true publish.html 1 - 6.0.7.%2a + 6.0.8.%2a false true true diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx index 319c4720..0c3f305a 100644 Binary files a/Stundensheet.xlsx and b/Stundensheet.xlsx differ diff --git a/nsw/Source/bsmd.database/MDH.cs b/nsw/Source/bsmd.database/MDH.cs index af9e2df0..d78c21eb 100644 --- a/nsw/Source/bsmd.database/MDH.cs +++ b/nsw/Source/bsmd.database/MDH.cs @@ -630,6 +630,11 @@ namespace bsmd.database RuleEngine.ValidateProperties(poc30d, errors, violations); poc30d.Validate(errors, violations); } + + foreach (SanitaryMeasuresDetail smd in this.SanitaryMeasuresDetails) + { + RuleEngine.ValidateProperties(smd, errors, violations); + } } } diff --git a/nsw/Source/bsmd.database/SanitaryMeasuresDetail.cs b/nsw/Source/bsmd.database/SanitaryMeasuresDetail.cs index aec6b9cd..d77d6355 100644 --- a/nsw/Source/bsmd.database/SanitaryMeasuresDetail.cs +++ b/nsw/Source/bsmd.database/SanitaryMeasuresDetail.cs @@ -36,17 +36,18 @@ namespace bsmd.database [ShowReport] [MaxLength(99)] [ENI2Validation] - [Validation2(ValidationCode.STRING_MAXLEN, 99)] + [Validation2(ValidationCode.NOT_NULL_MAX_LEN, 99)] public string SanitaryMeasuresType { get; set; } [ShowReport] [MaxLength(99)] [ENI2Validation] - [Validation2(ValidationCode.STRING_MAXLEN, 99)] + [Validation2(ValidationCode.NOT_NULL_MAX_LEN, 99)] public string SanitaryMeasuresLocation { get; set; } [ShowReport] [ENI2Validation] + [Validation2(ValidationCode.NOT_NULL)] public DateTime? SanitaryMeasuresDate { get; set; } public string Identifier { get; set; } @@ -128,6 +129,14 @@ namespace bsmd.database #endregion + #region Validation + + public override ValidationBlock GetValidationBlock() + { + return ValidationBlock.BLOCK2; + } + + #endregion }