From ea31386310fbe12457bdfa8bb19f3c3294126f5d Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Fri, 8 Sep 2023 09:01:37 +0200 Subject: [PATCH] Fixed port area data in sqlite and corrected some comparers --- ENI2/ENI2.csproj | 4 ++-- .../EditLast10PortFacilitiesDialog.xaml.cs | 10 +++++----- bsmd.database/AGNT_Template.cs | 4 ++-- bsmd.database/BKRA.cs | 2 ++ bsmd.database/BRKD.cs | 2 ++ bsmd.database/CallPurpose.cs | 2 ++ bsmd.database/DatabaseEntity.cs | 5 +---- bsmd.database/IBCPosition.cs | 2 ++ bsmd.database/IGCPosition.cs | 2 ++ bsmd.database/IMDGPosition.cs | 2 ++ bsmd.database/IMSBCPosition.cs | 2 ++ bsmd.database/IMessageParagraph.cs | 4 ++-- bsmd.database/InfectedArea.cs | 2 ++ bsmd.database/LADG.cs | 2 ++ bsmd.database/LastTenPortFacilitiesCalled.cs | 11 +++++++++-- bsmd.database/MARPOL_Annex_I_Position.cs | 2 ++ bsmd.database/PortOfCallLast30Days.cs | 2 ++ .../PortOfCallLast30DaysCrewJoinedShip.cs | 2 ++ bsmd.database/PortOfItinerary.cs | 2 ++ .../Properties/AssemblyProductInfo.cs | 2 +- .../Properties/AssemblyProjectInfo.cs | 2 +- bsmd.database/SERV.cs | 2 ++ bsmd.database/STO.cs | 2 ++ bsmd.database/SanitaryMeasuresDetail.cs | 2 ++ ...vitiesDuringLastTenPortFacilitiesCalled.cs | 2 ++ bsmd.database/StowawaysJoiningLocation.cs | 2 ++ bsmd.database/SubsidiaryRisks.cs | 2 ++ bsmd.database/TOWA.cs | 2 ++ bsmd.database/TOWD.cs | 2 ++ bsmd.database/WasteDisposalServiceProvider.cs | 2 ++ misc/db.sqlite | Bin 14426112 -> 14426112 bytes 31 files changed, 67 insertions(+), 19 deletions(-) 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 be5351523e5561cd13abe98f46468e435a2ba1a7..d63f54ab119133d161ae0f2882a9d24d0d4341e1 100644 GIT binary patch delta 2443 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 A_5c6?