diff --git a/ENI2/ENI2.csproj b/ENI2/ENI2.csproj index 8de487d2..12af08e7 100644 --- a/ENI2/ENI2.csproj +++ b/ENI2/ENI2.csproj @@ -36,8 +36,8 @@ 5.4.0.0 true publish.html - 5 - 7.13.0.%2a + 0 + 7.14.0.%2a false true true diff --git a/ENI2/EditControls/EditLast10PortFacilitiesDialog.xaml.cs b/ENI2/EditControls/EditLast10PortFacilitiesDialog.xaml.cs index 8b93f53e..a81e7daa 100644 --- a/ENI2/EditControls/EditLast10PortFacilitiesDialog.xaml.cs +++ b/ENI2/EditControls/EditLast10PortFacilitiesDialog.xaml.cs @@ -34,7 +34,7 @@ namespace ENI2.EditControls this.comboBoxShipSecurityLevel.ItemsSource = GlobalStructures.ShipSecurityLevels; if (this.LastTenPortFacilitiesCalled.PortFacilityShipSecurityLevel.HasValue) - this.comboBoxShipSecurityLevel.SelectedIndex = (this.LastTenPortFacilitiesCalled.PortFacilityShipSecurityLevel.Value - 1); + this.comboBoxShipSecurityLevel.SelectedIndex = this.LastTenPortFacilitiesCalled.PortFacilityShipSecurityLevel.Value - 1; else this.comboBoxShipSecurityLevel.SelectedIndex = -1; @@ -48,18 +48,18 @@ namespace ENI2.EditControls public void CopyValuesToEntity() { this.LastTenPortFacilitiesCalled.PortFacilityPortLoCode = this.locodePort.LocodeValue; - this.LastTenPortFacilitiesCalled.PortFacilityPortName = this.textBoxPortName.Text; - this.LastTenPortFacilitiesCalled.PortFacilityPortCountry = this.textBoxPortCountry.Text; + this.LastTenPortFacilitiesCalled.PortFacilityPortName = this.textBoxPortName.Text.Trim(); + this.LastTenPortFacilitiesCalled.PortFacilityPortCountry = this.textBoxPortCountry.Text.Trim(); this.LastTenPortFacilitiesCalled.PortFacilityDateOfArrival = this.datePickerATA.SelectedDate; this.LastTenPortFacilitiesCalled.PortFacilityDateOfDeparture = this.datePickerATD.SelectedDate; - this.LastTenPortFacilitiesCalled.PortFacilityGISISCode = this.textBoxGisisCode.Text; + this.LastTenPortFacilitiesCalled.PortFacilityGISISCode = this.textBoxGisisCode.Text.Trim(); if (this.comboBoxShipSecurityLevel.SelectedIndex == -1) this.LastTenPortFacilitiesCalled.PortFacilityShipSecurityLevel = null; else this.LastTenPortFacilitiesCalled.PortFacilityShipSecurityLevel = (byte?) (this.comboBoxShipSecurityLevel.SelectedIndex + 1); this.LastTenPortFacilitiesCalled.PortFacilityGISISCodeLocode = this.locodeGISIS.LocodeValue; - this.LastTenPortFacilitiesCalled.PortFacilitySecurityMattersToReport = this.textBoxSecurityMatters.Text; + this.LastTenPortFacilitiesCalled.PortFacilitySecurityMattersToReport = this.textBoxSecurityMatters.Text.Trim(); } private void EditLast10PortFacilitiesDialog_OKClicked() diff --git a/bsmd.database/AGNT_Template.cs b/bsmd.database/AGNT_Template.cs index 49d66986..ca89501c 100644 --- a/bsmd.database/AGNT_Template.cs +++ b/bsmd.database/AGNT_Template.cs @@ -147,9 +147,9 @@ namespace bsmd.database public int CompareTo(object obj) { - if (obj is AGNT_Template) + if (obj is AGNT_Template template) { - return AgentTitle.CompareTo(((AGNT_Template)obj).AgentTitle); + return AgentTitle.CompareTo(template.AgentTitle); } return 0; } diff --git a/bsmd.database/BKRA.cs b/bsmd.database/BKRA.cs index 9dbc8857..b6ed9494 100644 --- a/bsmd.database/BKRA.cs +++ b/bsmd.database/BKRA.cs @@ -152,6 +152,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((BRKA)obj).Identifier == null)) return 1; + if (Int32.TryParse(((BRKA)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((BRKA)obj).Identifier); } diff --git a/bsmd.database/BRKD.cs b/bsmd.database/BRKD.cs index d5093e4a..80ea0278 100644 --- a/bsmd.database/BRKD.cs +++ b/bsmd.database/BRKD.cs @@ -151,6 +151,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((BRKD)obj).Identifier == null)) return 1; + if (Int32.TryParse(((BRKD)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((BRKD)obj).Identifier); } diff --git a/bsmd.database/CallPurpose.cs b/bsmd.database/CallPurpose.cs index a39cf382..ae2832b4 100644 --- a/bsmd.database/CallPurpose.cs +++ b/bsmd.database/CallPurpose.cs @@ -136,6 +136,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((CallPurpose)obj).Identifier == null)) return 1; + if (Int32.TryParse(((CallPurpose)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((CallPurpose)obj).Identifier); } diff --git a/bsmd.database/DatabaseEntity.cs b/bsmd.database/DatabaseEntity.cs index 749ca348..e038eecd 100644 --- a/bsmd.database/DatabaseEntity.cs +++ b/bsmd.database/DatabaseEntity.cs @@ -153,10 +153,7 @@ namespace bsmd.database /// /// public virtual void Validate(List errors, List violations) - { - errors = new List(); - violations = new List(); - } + { } /// /// Diese Methode sollte eigentlich nie einen Effekt haben und dient nur dazu, dass keine Situation diff --git a/bsmd.database/IBCPosition.cs b/bsmd.database/IBCPosition.cs index 7e948d2a..9880923d 100644 --- a/bsmd.database/IBCPosition.cs +++ b/bsmd.database/IBCPosition.cs @@ -317,6 +317,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((IBCPosition)obj).Identifier == null)) return 1; + if (Int32.TryParse(((IBCPosition)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((IBCPosition)obj).Identifier); } diff --git a/bsmd.database/IGCPosition.cs b/bsmd.database/IGCPosition.cs index 71c09170..23fa5a6e 100644 --- a/bsmd.database/IGCPosition.cs +++ b/bsmd.database/IGCPosition.cs @@ -217,6 +217,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((IGCPosition)obj).Identifier == null)) return 1; + if (Int32.TryParse(((IGCPosition)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((IGCPosition)obj).Identifier); } diff --git a/bsmd.database/IMDGPosition.cs b/bsmd.database/IMDGPosition.cs index 054b2919..e8d4eef5 100644 --- a/bsmd.database/IMDGPosition.cs +++ b/bsmd.database/IMDGPosition.cs @@ -630,6 +630,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((IMDGPosition)obj).Identifier == null)) return 1; + if (Int32.TryParse(((IMDGPosition)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((IMDGPosition)obj).Identifier); } diff --git a/bsmd.database/IMSBCPosition.cs b/bsmd.database/IMSBCPosition.cs index e341fff2..7af88032 100644 --- a/bsmd.database/IMSBCPosition.cs +++ b/bsmd.database/IMSBCPosition.cs @@ -265,6 +265,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((IMSBCPosition)obj).Identifier == null)) return 1; + if (Int32.TryParse(((IMSBCPosition)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((IMSBCPosition)obj).Identifier); } diff --git a/bsmd.database/IMessageParagraph.cs b/bsmd.database/IMessageParagraph.cs index 308e1142..ef3aca23 100644 --- a/bsmd.database/IMessageParagraph.cs +++ b/bsmd.database/IMessageParagraph.cs @@ -32,8 +32,8 @@ namespace bsmd.database /// public class MessageParagraph : IMessageParagraph { - private List childParagraphs = new List(); - private List> messageText = new List>(); + private readonly List childParagraphs = new List(); + private readonly List> messageText = new List>(); public List ChildParagraphs { diff --git a/bsmd.database/InfectedArea.cs b/bsmd.database/InfectedArea.cs index 5b2ebc7b..0ca9e3e4 100644 --- a/bsmd.database/InfectedArea.cs +++ b/bsmd.database/InfectedArea.cs @@ -125,6 +125,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((InfectedArea)obj).Identifier == null)) return 1; + if (Int32.TryParse(((InfectedArea)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((InfectedArea)obj).Identifier); } diff --git a/bsmd.database/LADG.cs b/bsmd.database/LADG.cs index 6753fb63..156058d6 100644 --- a/bsmd.database/LADG.cs +++ b/bsmd.database/LADG.cs @@ -256,6 +256,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((LADG)obj).Identifier == null)) return 1; + if (Int32.TryParse(((LADG)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((LADG)obj).Identifier); } diff --git a/bsmd.database/LastTenPortFacilitiesCalled.cs b/bsmd.database/LastTenPortFacilitiesCalled.cs index f990afff..9ca751d2 100644 --- a/bsmd.database/LastTenPortFacilitiesCalled.cs +++ b/bsmd.database/LastTenPortFacilitiesCalled.cs @@ -180,10 +180,10 @@ namespace bsmd.database #region Validate public override void Validate(List errors, List violations) - { + { if (this.PortFacilityPortLoCode.IsNullOrEmpty()) - { + { errors.Add(RuleEngine.CreateError(ValidationCode.NOT_NULL, "PortFacilityPortLocode", null, this.Title, this.Identifier, this.SEC.Tablename)); } @@ -193,6 +193,11 @@ namespace bsmd.database errors.Add(RuleEngine.CreateError(ValidationCode.LOCODE, null, this.PortFacilityPortLoCode, this.Title, this.Identifier, this.SEC.Tablename)); } + if(!this.PortFacilityGISISCode.IsNullOrEmpty() && !this.PortFacilityGISISCode.IsNumber()) + { + errors.Add(RuleEngine.CreateError(ValidationCode.INVALID_NUMBER_CHARS, "GISIS Code", this.PortFacilityGISISCode, this.Title, this.Identifier, this.SEC.Tablename)); + } + } #endregion @@ -204,6 +209,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((LastTenPortFacilitiesCalled)obj).Identifier == null)) return 1; + if (Int32.TryParse(((LastTenPortFacilitiesCalled)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((LastTenPortFacilitiesCalled)obj).Identifier); } diff --git a/bsmd.database/MARPOL_Annex_I_Position.cs b/bsmd.database/MARPOL_Annex_I_Position.cs index 9aa2adc5..352af5b6 100644 --- a/bsmd.database/MARPOL_Annex_I_Position.cs +++ b/bsmd.database/MARPOL_Annex_I_Position.cs @@ -230,6 +230,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((MARPOL_Annex_I_Position)obj).Identifier == null)) return 1; + if (Int32.TryParse(((MARPOL_Annex_I_Position)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((MARPOL_Annex_I_Position)obj).Identifier); } diff --git a/bsmd.database/PortOfCallLast30Days.cs b/bsmd.database/PortOfCallLast30Days.cs index 82cdefaa..02c49c17 100644 --- a/bsmd.database/PortOfCallLast30Days.cs +++ b/bsmd.database/PortOfCallLast30Days.cs @@ -303,6 +303,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((PortOfCallLast30Days)obj).Identifier == null)) return 1; + if (Int32.TryParse(((PortOfCallLast30Days)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((PortOfCallLast30Days)obj).Identifier); } diff --git a/bsmd.database/PortOfCallLast30DaysCrewJoinedShip.cs b/bsmd.database/PortOfCallLast30DaysCrewJoinedShip.cs index 151e48f5..09387e2c 100644 --- a/bsmd.database/PortOfCallLast30DaysCrewJoinedShip.cs +++ b/bsmd.database/PortOfCallLast30DaysCrewJoinedShip.cs @@ -123,6 +123,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((PortOfCallLast30DaysCrewJoinedShip)obj).Identifier == null)) return 1; + if (Int32.TryParse(((PortOfCallLast30DaysCrewJoinedShip)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((PortOfCallLast30DaysCrewJoinedShip)obj).Identifier); } diff --git a/bsmd.database/PortOfItinerary.cs b/bsmd.database/PortOfItinerary.cs index b48a6fa3..6c15214c 100644 --- a/bsmd.database/PortOfItinerary.cs +++ b/bsmd.database/PortOfItinerary.cs @@ -132,6 +132,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((PortOfItinerary)obj).Identifier == null)) return 1; + if (Int32.TryParse(((PortOfItinerary)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((PortOfItinerary)obj).Identifier); } diff --git a/bsmd.database/Properties/AssemblyProductInfo.cs b/bsmd.database/Properties/AssemblyProductInfo.cs index 72844833..09d61c04 100644 --- a/bsmd.database/Properties/AssemblyProductInfo.cs +++ b/bsmd.database/Properties/AssemblyProductInfo.cs @@ -2,6 +2,6 @@ [assembly: AssemblyCompany("schick Informatik")] [assembly: AssemblyProduct("BSMD NSW interface")] -[assembly: AssemblyInformationalVersion("7.13.0")] +[assembly: AssemblyInformationalVersion("7.14.0")] [assembly: AssemblyCopyright("Copyright © 2014-2023 schick Informatik")] [assembly: AssemblyTrademark("")] \ No newline at end of file diff --git a/bsmd.database/Properties/AssemblyProjectInfo.cs b/bsmd.database/Properties/AssemblyProjectInfo.cs index 95f10891..79272584 100644 --- a/bsmd.database/Properties/AssemblyProjectInfo.cs +++ b/bsmd.database/Properties/AssemblyProjectInfo.cs @@ -1,4 +1,4 @@ using System.Reflection; -[assembly: AssemblyVersion("7.13.0.*")] +[assembly: AssemblyVersion("7.14.0.*")] diff --git a/bsmd.database/SERV.cs b/bsmd.database/SERV.cs index 18fd9e19..6a9b92b1 100644 --- a/bsmd.database/SERV.cs +++ b/bsmd.database/SERV.cs @@ -134,6 +134,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((SERV)obj).Identifier == null)) return 1; + if (Int32.TryParse(((SERV)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((SERV)obj).Identifier); } diff --git a/bsmd.database/STO.cs b/bsmd.database/STO.cs index 2a058ca3..9dedc853 100644 --- a/bsmd.database/STO.cs +++ b/bsmd.database/STO.cs @@ -150,6 +150,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((STO)obj).Identifier == null)) return 1; + if (Int32.TryParse(((STO)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((STO)obj).Identifier); } diff --git a/bsmd.database/SanitaryMeasuresDetail.cs b/bsmd.database/SanitaryMeasuresDetail.cs index 6f47c496..66cd1c1a 100644 --- a/bsmd.database/SanitaryMeasuresDetail.cs +++ b/bsmd.database/SanitaryMeasuresDetail.cs @@ -144,6 +144,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((SanitaryMeasuresDetail)obj).Identifier == null)) return 1; + if (Int32.TryParse(((SanitaryMeasuresDetail)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((SanitaryMeasuresDetail)obj).Identifier); } diff --git a/bsmd.database/ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs b/bsmd.database/ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs index 9e3f1492..c1211206 100644 --- a/bsmd.database/ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs +++ b/bsmd.database/ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs @@ -237,6 +237,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((ShipToShipActivitiesDuringLastTenPortFacilitiesCalled)obj).Identifier == null)) return 1; + if (Int32.TryParse(((ShipToShipActivitiesDuringLastTenPortFacilitiesCalled)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((ShipToShipActivitiesDuringLastTenPortFacilitiesCalled)obj).Identifier); } diff --git a/bsmd.database/StowawaysJoiningLocation.cs b/bsmd.database/StowawaysJoiningLocation.cs index a04ae3c1..1cf03b92 100644 --- a/bsmd.database/StowawaysJoiningLocation.cs +++ b/bsmd.database/StowawaysJoiningLocation.cs @@ -118,6 +118,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((StowawaysJoiningLocation)obj).Identifier == null)) return 1; + if (Int32.TryParse(((StowawaysJoiningLocation)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((StowawaysJoiningLocation)obj).Identifier); } diff --git a/bsmd.database/SubsidiaryRisks.cs b/bsmd.database/SubsidiaryRisks.cs index 6076814b..48cc3283 100644 --- a/bsmd.database/SubsidiaryRisks.cs +++ b/bsmd.database/SubsidiaryRisks.cs @@ -111,6 +111,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((SubsidiaryRisks)obj).Identifier == null)) return 1; + if (Int32.TryParse(((SubsidiaryRisks)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((SubsidiaryRisks)obj).Identifier); } diff --git a/bsmd.database/TOWA.cs b/bsmd.database/TOWA.cs index f590117d..0824fb9c 100644 --- a/bsmd.database/TOWA.cs +++ b/bsmd.database/TOWA.cs @@ -274,6 +274,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((TOWA)obj).Identifier == null)) return 1; + if (Int32.TryParse(((TOWA)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((TOWA)obj).Identifier); #endregion diff --git a/bsmd.database/TOWD.cs b/bsmd.database/TOWD.cs index 94d8682d..32caafe7 100644 --- a/bsmd.database/TOWD.cs +++ b/bsmd.database/TOWD.cs @@ -257,6 +257,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((TOWD)obj).Identifier == null)) return 1; + if (Int32.TryParse(((TOWD)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((TOWD)obj).Identifier); } diff --git a/bsmd.database/WasteDisposalServiceProvider.cs b/bsmd.database/WasteDisposalServiceProvider.cs index b23c4a41..93e35a7f 100644 --- a/bsmd.database/WasteDisposalServiceProvider.cs +++ b/bsmd.database/WasteDisposalServiceProvider.cs @@ -113,6 +113,8 @@ namespace bsmd.database if (this.Identifier == null) return 1; if ((obj is null) || (((WasteDisposalServiceProvider)obj).Identifier == null)) return 1; + if (Int32.TryParse(((WasteDisposalServiceProvider)obj).Identifier, out int i1) && Int32.TryParse(this.Identifier, out int i2)) + return i2.CompareTo(i1); return this.Identifier.CompareTo(((WasteDisposalServiceProvider)obj).Identifier); } diff --git a/misc/db.sqlite b/misc/db.sqlite index be535152..d63f54ab 100644 Binary files a/misc/db.sqlite and b/misc/db.sqlite differ