From fda2da13d8720d53a88bdba770c0fa52c27d5fee Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Thu, 13 Apr 2023 09:22:09 +0200 Subject: [PATCH] Optimierung Abruf Listenelemente: Alle ORDER BYs entfernt und Sortierung im Code --- ENI2/App.config | 2 +- bsmd.database/BKRA.cs | 16 +++++++++++++--- bsmd.database/BRKD.cs | 14 +++++++++++++- bsmd.database/CREW.cs | 17 +++++++++++++---- bsmd.database/CallPurpose.cs | 16 ++++++++++++++-- bsmd.database/IBCPosition.cs | 14 ++++++++++++-- bsmd.database/IGCPosition.cs | 14 ++++++++++++-- bsmd.database/IMDGPosition.cs | 14 ++++++++++++-- bsmd.database/IMSBCPosition.cs | 13 +++++++++++-- bsmd.database/ISublistContainer.cs | 5 +++-- bsmd.database/InfectedArea.cs | 16 +++++++++++++--- bsmd.database/LADG.cs | 14 ++++++++++++-- bsmd.database/LastTenPortFacilitiesCalled.cs | 13 ++++++++++++- bsmd.database/MARPOL_Annex_I_Position.cs | 14 ++++++++++++-- bsmd.database/PAS.cs | 17 +++++++++++++---- bsmd.database/PortOfCallLast30Days.cs | 14 ++++++++++++-- .../PortOfCallLast30DaysCrewJoinedShip.cs | 15 ++++++++++++--- bsmd.database/PortOfItinerary.cs | 14 ++++++++++++-- bsmd.database/SERV.cs | 11 +++++++++++ bsmd.database/STO.cs | 14 ++++++++++++-- bsmd.database/SanitaryMeasuresDetail.cs | 16 +++++++++++++--- ...tivitiesDuringLastTenPortFacilitiesCalled.cs | 13 ++++++++++++- bsmd.database/StowawaysJoiningLocation.cs | 12 ++++++++++-- bsmd.database/SubsidiaryRisks.cs | 14 ++++++++++++-- bsmd.database/TOWA.cs | 14 ++++++++++++-- bsmd.database/TOWD.cs | 14 ++++++++++++-- bsmd.database/TreatmentFacilityProvider.cs | 14 ++++++++++++-- bsmd.database/WAS_RCPT.cs | 12 ++++++++++++ bsmd.database/Waste.cs | 13 ++++++++++++- bsmd.database/WasteDisposalServiceProvider.cs | 14 ++++++++++++-- bsmd.database/WasteReceived.cs | 13 ++++++++++++- 31 files changed, 356 insertions(+), 60 deletions(-) diff --git a/ENI2/App.config b/ENI2/App.config index 0778764a..1227465b 100644 --- a/ENI2/App.config +++ b/ENI2/App.config @@ -23,7 +23,7 @@ 60 - 1000 + 5000 http://192.168.2.24/LockingService/LockingService.svc diff --git a/bsmd.database/BKRA.cs b/bsmd.database/BKRA.cs index 60a00365..393e84ca 100644 --- a/bsmd.database/BKRA.cs +++ b/bsmd.database/BKRA.cs @@ -91,9 +91,7 @@ namespace bsmd.database default: break; - } - - query += " ORDER BY CAST(Identifier AS INT)"; + } cmd.CommandText = query; } @@ -113,6 +111,8 @@ namespace bsmd.database result.Add(bkra); } reader.Close(); + result.Sort(); + return result; } @@ -141,5 +141,15 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((BRKA)obj).Identifier); + } + + #endregion } } \ No newline at end of file diff --git a/bsmd.database/BRKD.cs b/bsmd.database/BRKD.cs index a81d9941..4dd1a67c 100644 --- a/bsmd.database/BRKD.cs +++ b/bsmd.database/BRKD.cs @@ -92,7 +92,7 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; + cmd.CommandText = query; } @@ -111,6 +111,7 @@ namespace bsmd.database result.Add(bkrd); } reader.Close(); + result.Sort(); return result; } @@ -139,5 +140,16 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((BRKD)obj).Identifier); + } + + #endregion + } } diff --git a/bsmd.database/CREW.cs b/bsmd.database/CREW.cs index fd25a834..77db177a 100644 --- a/bsmd.database/CREW.cs +++ b/bsmd.database/CREW.cs @@ -231,8 +231,6 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; - cmd.CommandText = query; } @@ -267,6 +265,7 @@ namespace bsmd.database result.Add(crew); } reader.Close(); + result.Sort(); return result; } @@ -378,6 +377,17 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((CREW)obj).Identifier); + } + + #endregion + } #region CREWD @@ -406,8 +416,6 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; - cmd.CommandText = query; } @@ -442,6 +450,7 @@ namespace bsmd.database result.Add(crew); } reader.Close(); + result.Sort(); return result; } diff --git a/bsmd.database/CallPurpose.cs b/bsmd.database/CallPurpose.cs index 2a1b1468..5a886d38 100644 --- a/bsmd.database/CallPurpose.cs +++ b/bsmd.database/CallPurpose.cs @@ -95,7 +95,7 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; + cmd.CommandText = query; } @@ -114,6 +114,7 @@ namespace bsmd.database result.Add(cp); } reader.Close(); + result.Sort(); return result; } @@ -128,5 +129,16 @@ namespace bsmd.database #endregion - } + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((CallPurpose)obj).Identifier); + } + + #endregion + + } } diff --git a/bsmd.database/IBCPosition.cs b/bsmd.database/IBCPosition.cs index 73108e01..232a8e61 100644 --- a/bsmd.database/IBCPosition.cs +++ b/bsmd.database/IBCPosition.cs @@ -229,8 +229,6 @@ namespace bsmd.database break; } - query += " ORDER BY Identifier"; - cmd.CommandText = query; } @@ -258,6 +256,7 @@ namespace bsmd.database result.Add(ibc); } reader.Close(); + result.Sort(); return result; } @@ -311,5 +310,16 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((IBCPosition)obj).Identifier); + } + + #endregion + } } diff --git a/bsmd.database/IGCPosition.cs b/bsmd.database/IGCPosition.cs index ac739e49..c3d51b4e 100644 --- a/bsmd.database/IGCPosition.cs +++ b/bsmd.database/IGCPosition.cs @@ -148,8 +148,6 @@ namespace bsmd.database break; } - query += " ORDER BY Identifier"; - cmd.CommandText = query; } @@ -174,6 +172,7 @@ namespace bsmd.database result.Add(igc); } reader.Close(); + result.Sort(); return result; } @@ -211,5 +210,16 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((IGCPosition)obj).Identifier); + } + + #endregion + } } diff --git a/bsmd.database/IMDGPosition.cs b/bsmd.database/IMDGPosition.cs index 76764811..195724cc 100644 --- a/bsmd.database/IMDGPosition.cs +++ b/bsmd.database/IMDGPosition.cs @@ -375,8 +375,6 @@ namespace bsmd.database break; } - query += " ORDER BY Identifier"; - cmd.CommandText = query; } @@ -427,6 +425,7 @@ namespace bsmd.database result.Add(imdg); } reader.Close(); + result.Sort(); return result; } @@ -624,5 +623,16 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((IMDGPosition)obj).Identifier); + } + + #endregion + } } diff --git a/bsmd.database/IMSBCPosition.cs b/bsmd.database/IMSBCPosition.cs index 608174c7..56832d28 100644 --- a/bsmd.database/IMSBCPosition.cs +++ b/bsmd.database/IMSBCPosition.cs @@ -179,8 +179,6 @@ namespace bsmd.database break; } - query += " ORDER BY Identifier"; - cmd.CommandText = query; } @@ -207,6 +205,7 @@ namespace bsmd.database result.Add(imsbc); } reader.Close(); + result.Sort(); return result; } @@ -259,5 +258,15 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((IMSBCPosition)obj).Identifier); + } + + #endregion } } diff --git a/bsmd.database/ISublistContainer.cs b/bsmd.database/ISublistContainer.cs index 7dd0ff4c..b4da42a3 100644 --- a/bsmd.database/ISublistContainer.cs +++ b/bsmd.database/ISublistContainer.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Data; namespace bsmd.database @@ -34,7 +35,7 @@ namespace bsmd.database /// /// Dieses Interface kennzeichnet die Merkmale eines Sublisten-Elements /// - public interface ISublistElement + public interface ISublistElement : IComparable { /// /// Mit diesem Schlüssel kann bei einem Report die richtige Beschriftung aus der SQLite Tabelle geholt werden diff --git a/bsmd.database/InfectedArea.cs b/bsmd.database/InfectedArea.cs index 6e14c0dc..daeb77a2 100644 --- a/bsmd.database/InfectedArea.cs +++ b/bsmd.database/InfectedArea.cs @@ -67,6 +67,7 @@ namespace bsmd.database } reader.Close(); + result.Sort(); return result; } @@ -86,9 +87,7 @@ namespace bsmd.database default: break; - } - - query += " ORDER BY CAST(Identifier AS INT)"; + } cmd.CommandText = query; } @@ -119,5 +118,16 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((InfectedArea)obj).Identifier); + } + + #endregion + } } diff --git a/bsmd.database/LADG.cs b/bsmd.database/LADG.cs index f5267c9a..5500097d 100644 --- a/bsmd.database/LADG.cs +++ b/bsmd.database/LADG.cs @@ -182,8 +182,6 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; - cmd.CommandText = query; } @@ -208,6 +206,7 @@ namespace bsmd.database result.Add(ladg); } reader.Close(); + result.Sort(); return result; } @@ -239,5 +238,16 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((LADG)obj).Identifier); + } + + #endregion + } } \ No newline at end of file diff --git a/bsmd.database/LastTenPortFacilitiesCalled.cs b/bsmd.database/LastTenPortFacilitiesCalled.cs index bee4171d..0e3d51ab 100644 --- a/bsmd.database/LastTenPortFacilitiesCalled.cs +++ b/bsmd.database/LastTenPortFacilitiesCalled.cs @@ -197,6 +197,17 @@ namespace bsmd.database #endregion - } + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((LastTenPortFacilitiesCalled)obj).Identifier); + } + + #endregion + + } } diff --git a/bsmd.database/MARPOL_Annex_I_Position.cs b/bsmd.database/MARPOL_Annex_I_Position.cs index 63263c12..f6c25e07 100644 --- a/bsmd.database/MARPOL_Annex_I_Position.cs +++ b/bsmd.database/MARPOL_Annex_I_Position.cs @@ -153,8 +153,6 @@ namespace bsmd.database break; } - query += " ORDER BY Identifier"; - cmd.CommandText = query; } @@ -180,6 +178,7 @@ namespace bsmd.database result.Add(map); } reader.Close(); + result.Sort(); return result; } @@ -224,5 +223,16 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((MARPOL_Annex_I_Position)obj).Identifier); + } + + #endregion + } } diff --git a/bsmd.database/PAS.cs b/bsmd.database/PAS.cs index 7dcd7a6b..cc88251f 100644 --- a/bsmd.database/PAS.cs +++ b/bsmd.database/PAS.cs @@ -271,8 +271,6 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; - cmd.CommandText = query; } @@ -309,6 +307,7 @@ namespace bsmd.database result.Add(pas); } reader.Close(); + result.Sort(); return result; } @@ -433,6 +432,17 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((PAS)obj).Identifier); + } + + #endregion + } #region class PASD @@ -460,8 +470,6 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; - cmd.CommandText = query; } @@ -498,6 +506,7 @@ namespace bsmd.database result.Add(pas); } reader.Close(); + result.Sort(); return result; } diff --git a/bsmd.database/PortOfCallLast30Days.cs b/bsmd.database/PortOfCallLast30Days.cs index c1ed96d8..68c36b40 100644 --- a/bsmd.database/PortOfCallLast30Days.cs +++ b/bsmd.database/PortOfCallLast30Days.cs @@ -177,8 +177,6 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; - cmd.CommandText = query; } @@ -198,6 +196,7 @@ namespace bsmd.database } reader.Close(); + result.Sort(); return result; } @@ -297,5 +296,16 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((PortOfCallLast30Days)obj).Identifier); + } + + #endregion + } } diff --git a/bsmd.database/PortOfCallLast30DaysCrewJoinedShip.cs b/bsmd.database/PortOfCallLast30DaysCrewJoinedShip.cs index 28ed7077..f14b5483 100644 --- a/bsmd.database/PortOfCallLast30DaysCrewJoinedShip.cs +++ b/bsmd.database/PortOfCallLast30DaysCrewJoinedShip.cs @@ -88,8 +88,6 @@ namespace bsmd.database break; } - query += " ORDER BY TRY_CAST(Identifier AS INT)"; - cmd.CommandText = query; } @@ -107,8 +105,8 @@ namespace bsmd.database } reader.Close(); + result.Sort(); return result; - } #endregion @@ -117,5 +115,16 @@ namespace bsmd.database { return ValidationBlock.BLOCK2; } + + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((PortOfCallLast30DaysCrewJoinedShip)obj).Identifier); + } + + #endregion } } diff --git a/bsmd.database/PortOfItinerary.cs b/bsmd.database/PortOfItinerary.cs index 84f094f5..5731f9ed 100644 --- a/bsmd.database/PortOfItinerary.cs +++ b/bsmd.database/PortOfItinerary.cs @@ -100,8 +100,6 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; - cmd.CommandText = query; } @@ -121,11 +119,23 @@ namespace bsmd.database result.Add(poi); } reader.Close(); + result.Sort(); return result; } #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((PortOfItinerary)obj).Identifier); + } + + #endregion + } } diff --git a/bsmd.database/SERV.cs b/bsmd.database/SERV.cs index bb648b49..8c7067bd 100644 --- a/bsmd.database/SERV.cs +++ b/bsmd.database/SERV.cs @@ -121,10 +121,21 @@ namespace bsmd.database result.Add(serv); } reader.Close(); + result.Sort(); return result; } #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((SERV)obj).Identifier); + } + + #endregion } } diff --git a/bsmd.database/STO.cs b/bsmd.database/STO.cs index 8546be71..13223a12 100644 --- a/bsmd.database/STO.cs +++ b/bsmd.database/STO.cs @@ -90,6 +90,7 @@ namespace bsmd.database result.Add(sto); } reader.Close(); + result.Sort(); return result; } @@ -110,8 +111,6 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; - cmd.CommandText = query; } @@ -144,5 +143,16 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((STO)obj).Identifier); + } + + #endregion + } } diff --git a/bsmd.database/SanitaryMeasuresDetail.cs b/bsmd.database/SanitaryMeasuresDetail.cs index d77d6355..56c15938 100644 --- a/bsmd.database/SanitaryMeasuresDetail.cs +++ b/bsmd.database/SanitaryMeasuresDetail.cs @@ -101,9 +101,7 @@ namespace bsmd.database default: break; - } - - query += " ORDER BY CAST(Identifier AS INT)"; + } cmd.CommandText = query; } @@ -124,6 +122,7 @@ namespace bsmd.database } reader.Close(); + result.Sort(); return result; } @@ -138,6 +137,17 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((SanitaryMeasuresDetail)obj).Identifier); + } + + #endregion + } #region class SanitaryMeasuresDetailConverter diff --git a/bsmd.database/ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs b/bsmd.database/ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs index bfc5faea..7d73dd61 100644 --- a/bsmd.database/ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs +++ b/bsmd.database/ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs @@ -230,6 +230,17 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((ShipToShipActivitiesDuringLastTenPortFacilitiesCalled)obj).Identifier); + } + + #endregion + } - + } \ No newline at end of file diff --git a/bsmd.database/StowawaysJoiningLocation.cs b/bsmd.database/StowawaysJoiningLocation.cs index 9b5bdb30..52bd1b3b 100644 --- a/bsmd.database/StowawaysJoiningLocation.cs +++ b/bsmd.database/StowawaysJoiningLocation.cs @@ -88,8 +88,6 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; - cmd.CommandText = query; } @@ -107,11 +105,21 @@ namespace bsmd.database } reader.Close(); + result.Sort(); return result; } #endregion + #region IComparable implementation + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((StowawaysJoiningLocation)obj).Identifier); + } + + #endregion } } diff --git a/bsmd.database/SubsidiaryRisks.cs b/bsmd.database/SubsidiaryRisks.cs index 8f0463e5..722acc86 100644 --- a/bsmd.database/SubsidiaryRisks.cs +++ b/bsmd.database/SubsidiaryRisks.cs @@ -81,8 +81,6 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; - cmd.CommandText = query; } @@ -100,10 +98,22 @@ namespace bsmd.database } reader.Close(); + result.Sort(); return result; } #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((SubsidiaryRisks)obj).Identifier); + } + + #endregion + } } diff --git a/bsmd.database/TOWA.cs b/bsmd.database/TOWA.cs index 26a1fba4..fcff685d 100644 --- a/bsmd.database/TOWA.cs +++ b/bsmd.database/TOWA.cs @@ -193,8 +193,6 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; - cmd.CommandText = query; } @@ -228,6 +226,7 @@ namespace bsmd.database result.Add(towa); } reader.Close(); + result.Sort(); return result; } @@ -268,6 +267,17 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((TOWA)obj).Identifier); + } + + #endregion + } } diff --git a/bsmd.database/TOWD.cs b/bsmd.database/TOWD.cs index 39f132a2..2093d662 100644 --- a/bsmd.database/TOWD.cs +++ b/bsmd.database/TOWD.cs @@ -178,8 +178,6 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; - cmd.CommandText = query; } @@ -211,6 +209,7 @@ namespace bsmd.database result.Add(towd); } reader.Close(); + result.Sort(); return result; } @@ -251,6 +250,17 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((TOWD)obj).Identifier); + } + + #endregion + } } diff --git a/bsmd.database/TreatmentFacilityProvider.cs b/bsmd.database/TreatmentFacilityProvider.cs index c434fa7d..eabb5674 100644 --- a/bsmd.database/TreatmentFacilityProvider.cs +++ b/bsmd.database/TreatmentFacilityProvider.cs @@ -77,8 +77,6 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; - cmd.CommandText = query; } @@ -96,10 +94,22 @@ namespace bsmd.database result.Add(tfp); } reader.Close(); + result.Sort(); return result; } #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((TreatmentFacilityProvider)obj).Identifier); + } + + #endregion + } } diff --git a/bsmd.database/WAS_RCPT.cs b/bsmd.database/WAS_RCPT.cs index 12829d87..fd4ace1f 100644 --- a/bsmd.database/WAS_RCPT.cs +++ b/bsmd.database/WAS_RCPT.cs @@ -300,6 +300,7 @@ namespace bsmd.database result.Add(was_rcpt); } reader.Close(); + result.Sort(); return result; } @@ -416,5 +417,16 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((WAS_RCPT)obj).Identifier); + } + + #endregion + } } \ No newline at end of file diff --git a/bsmd.database/Waste.cs b/bsmd.database/Waste.cs index fb4b7ed5..7b75b923 100644 --- a/bsmd.database/Waste.cs +++ b/bsmd.database/Waste.cs @@ -219,7 +219,6 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; cmd.CommandText = query; } @@ -245,6 +244,7 @@ namespace bsmd.database result.Add(waste); } reader.Close(); + result.Sort(); return result; } @@ -281,5 +281,16 @@ namespace bsmd.database #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((Waste)obj).Identifier); + } + + #endregion + } } diff --git a/bsmd.database/WasteDisposalServiceProvider.cs b/bsmd.database/WasteDisposalServiceProvider.cs index 4ee9de11..7ad42e7e 100644 --- a/bsmd.database/WasteDisposalServiceProvider.cs +++ b/bsmd.database/WasteDisposalServiceProvider.cs @@ -88,8 +88,6 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; - cmd.CommandText = query; } @@ -108,10 +106,22 @@ namespace bsmd.database result.Add(wdsp); } reader.Close(); + result.Sort(); return result; } #endregion + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((WasteDisposalServiceProvider)obj).Identifier); + } + + #endregion + } } diff --git a/bsmd.database/WasteReceived.cs b/bsmd.database/WasteReceived.cs index 20d1311d..282cdb4d 100644 --- a/bsmd.database/WasteReceived.cs +++ b/bsmd.database/WasteReceived.cs @@ -81,6 +81,7 @@ namespace bsmd.database result.Add(wasteReceived); } reader.Close(); + result.Sort(); return result; } @@ -99,7 +100,6 @@ namespace bsmd.database break; } - query += " ORDER BY CAST(Identifier AS INT)"; cmd.CommandText = query; } @@ -141,5 +141,16 @@ namespace bsmd.database } #endregion + + #region IComparable implementation + + public int CompareTo(object obj) + { + if (object.ReferenceEquals(obj, null)) + return 1; + return this.Identifier.CompareTo(((WasteReceived)obj).Identifier); + } + + #endregion } }