From e3888e1105b24c913261bfda78572199d8925b6d Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Wed, 31 Oct 2018 11:31:13 +0000 Subject: [PATCH] Stundenabrechnung Oktober 2018 --- Stundensheet.xlsx | Bin 39264 -> 39302 bytes nsw/Source/bsmd.ExcelReadService/App.config | 169 ++++++++++++------ nsw/Source/bsmd.ExcelReadService/Util.cs | 12 +- .../bsmd.ExcelReadService.csproj | 2 +- nsw/Source/bsmd.database/DBManager.cs | 34 ++-- 5 files changed, 142 insertions(+), 75 deletions(-) diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx index 24716fb82610296b447c28e2dde4f0add563c184..54ab7d051a79065e89776e7fc0e6df13de9d11b1 100644 GIT binary patch delta 28416 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 UFtq=~#^z!%UJp;wFvse?QK?;!g{|-<|Bu9X#(j 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 diff --git a/nsw/Source/bsmd.ExcelReadService/App.config b/nsw/Source/bsmd.ExcelReadService/App.config index 2177f47e..d31d17f2 100644 --- a/nsw/Source/bsmd.ExcelReadService/App.config +++ b/nsw/Source/bsmd.ExcelReadService/App.config @@ -1,59 +1,128 @@  - - -
- - - - - - - - - replace me! - - - 300 - - - Reference Excel Sheet - - - True - - + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Data Source=(localdb)\Projects;Initial Catalog=nsw;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False + + + 300 + + + Reference Excel Sheet + + + True + + + + + report@bsmd.de + hsok@gmx.de + bald@puls200.de + d.schick@gmx.de + hollmann@bsmd.de + + + + + False + + + + + E:\svnlager\BSMD\nsw\Deutschland\BSMD-Formblatt.xlsx + + + + + + + E:\svnlager\BSMD\nsw\Dänemark\NSW-DK-Excel-Arrival.xlsx + E:\svnlager\BSMD\nsw\Dänemark\NSW-DK-Excel-Departure.xlsx + + + + + + + excel@textbausteine.net + + + 3kjasWss.;. + + + pop3.strato.de + + + 995 + + + mail.strato.de + + + excel@textbausteine.net + + + 3kjasWss.;. + + + excel@textbausteine.net + + + nsw@textbausteine.net + + + E:\temp\excel + + + - report@bsmd.de - hsok@gmx.de - bald@puls200.de - d.schick@gmx.de - hollmann@bsmd.de + + + + - - False - - - - - E:\svnlager\BSMD\nsw\Deutschland\BSMD-Formblatt.xlsx - - - - - - - E:\svnlager\BSMD\nsw\Dänemark\NSW-DK-Excel-Arrival.xlsx - E:\svnlager\BSMD\nsw\Dänemark\NSW-DK-Excel-Departure.xlsx - - - - - + + \ No newline at end of file diff --git a/nsw/Source/bsmd.ExcelReadService/Util.cs b/nsw/Source/bsmd.ExcelReadService/Util.cs index e7f7435e..5d77a3bf 100644 --- a/nsw/Source/bsmd.ExcelReadService/Util.cs +++ b/nsw/Source/bsmd.ExcelReadService/Util.cs @@ -18,7 +18,7 @@ namespace bsmd.ExcelReadService { public static class Util { - private static ILog _log = LogManager.GetLogger(typeof(Util)); + private static readonly ILog _log = LogManager.GetLogger(typeof(Util)); internal static bool ProcessSheet(ExcelReader reader, out string readMessage, out MessageCore messageCore) { @@ -1290,7 +1290,7 @@ namespace bsmd.ExcelReadService was.DeleteElements(); Util.ScanMessage(was, reader); was.WasteDisposalDelivery = reader.ReadDelivery("WAS.WasteDisposalDelivery"); - if ((was.LastWasteDisposalPort != null) && (was.LastWasteDisposalPort.Length > 5)) + if (was.LastWasteDisposalPort?.Length > 5) { string lastWasteDisposalPort = reader.ReadText("WAS.LastWasteDisposalPort"); List deliveryLocodes = LocodeDB.AllLocodesForCityName(lastWasteDisposalPort); @@ -1435,7 +1435,7 @@ namespace bsmd.ExcelReadService was.Waste.Remove(waste); // 24.3.: - Für Waste-Type 15: Wenn in dieser Zeile andere Werte enthalten, als die nachfolgenden, ist die ganze Zeile rot zu markieren. - bool highlightRow15 = !(waste.WasteType == null); + bool highlightRow15 = waste.WasteType != null; highlightRow15 &= (waste.WasteDisposalAmount_MTQ > 0); highlightRow15 &= (waste.WasteCapacity_MTQ > 0); highlightRow15 &= (waste.WasteAmountRetained_MTQ > 0); @@ -1829,7 +1829,7 @@ namespace bsmd.ExcelReadService if (l10fc.PortFacilityGISISCode.IsNullOrEmpty() || l10fc.PortFacilityGISISCode == "0") l10fc.PortFacilityGISISCode = "0000"; - if((l10fc.PortFacilityGISISCode != null) && (l10fc.PortFacilityGISISCode.Length < 4)) + if(l10fc.PortFacilityGISISCode?.Length < 4) { while (l10fc.PortFacilityGISISCode.Length < 4) l10fc.PortFacilityGISISCode = "0" + l10fc.PortFacilityGISISCode; } @@ -2204,7 +2204,7 @@ namespace bsmd.ExcelReadService } if (reader.Mode == ExcelReader.CountryMode.DE) { - if ((ladg.CargoCodeNST != null) && (ladg.CargoCodeNST.Length == 1)) + if (ladg.CargoCodeNST?.Length == 1) ladg.CargoCodeNST = "0" + ladg.CargoCodeNST; if ((ladg.CargoCodeNST != null) && (ladg.CargoCodeNST.Length != 2)) @@ -2707,7 +2707,7 @@ namespace bsmd.ExcelReadService // okay, könnte DK Locode etc sein.. if(poc == null) { - if((aGermanPortName != null) && (aGermanPortName.Length == 5)) // possible locode? + if(aGermanPortName?.Length == 5) // possible locode? { if (LocodeDB.PortNameFromLocode(aGermanPortName) != null) poc = aGermanPortName; diff --git a/nsw/Source/bsmd.ExcelReadService/bsmd.ExcelReadService.csproj b/nsw/Source/bsmd.ExcelReadService/bsmd.ExcelReadService.csproj index e71a2e77..c2b638db 100644 --- a/nsw/Source/bsmd.ExcelReadService/bsmd.ExcelReadService.csproj +++ b/nsw/Source/bsmd.ExcelReadService/bsmd.ExcelReadService.csproj @@ -39,7 +39,7 @@ ..\packages\log4net.2.0.8\lib\net45-full\log4net.dll True - + True diff --git a/nsw/Source/bsmd.database/DBManager.cs b/nsw/Source/bsmd.database/DBManager.cs index d0341e7e..d69b7421 100644 --- a/nsw/Source/bsmd.database/DBManager.cs +++ b/nsw/Source/bsmd.database/DBManager.cs @@ -23,12 +23,12 @@ namespace bsmd.database private SqlConnection _con; private static DBManager _instance; - private static ILog _log = LogManager.GetLogger(typeof(DBManager)); + private static readonly ILog _log = LogManager.GetLogger(typeof(DBManager)); private static Dictionary allReportingParties; private static Dictionary allPortAreas; - private object _lock = new object(); + private readonly object _lock = new object(); private bool _closeConnectionAfterUse = false; - private List truncatedFieldCollection = new List(); + private readonly List truncatedFieldCollection = new List(); #endregion @@ -50,9 +50,7 @@ namespace bsmd.database { get { - if (_instance == null) - _instance = new DBManager(); - return _instance; + return _instance ?? (_instance = new DBManager()); } } @@ -91,13 +89,13 @@ namespace bsmd.database public void Disconnect() { - if ((this._con != null) && (this._con.State == ConnectionState.Open)) + if (this._con?.State == ConnectionState.Open) this._con.Close(); } public bool IsConnected { - get { return (this._con != null) && (this._con.State == ConnectionState.Open); } + get { return (this._con?.State == ConnectionState.Open); } } @@ -346,7 +344,7 @@ namespace bsmd.database Message statMessage = this.GetMessage(core, Message.NotificationClass.STAT); - if ((statMessage != null) && (statMessage.Elements.Count > 0)) + if (statMessage?.Elements.Count > 0) { STAT stat = statMessage.Elements[0] as STAT; if (stat != null) @@ -406,7 +404,7 @@ namespace bsmd.database { Message aMessage = new Message(); SqlCommand cmd = new SqlCommand(); - Message.LoadFilter filter = Message.LoadFilter.BY_ID; + const Message.LoadFilter filter = Message.LoadFilter.BY_ID; aMessage.PrepareLoadCommand(cmd, filter, id); SqlDataReader reader = this.PerformCommand(cmd); @@ -429,7 +427,7 @@ namespace bsmd.database { MessageCore aCore = new MessageCore(); SqlCommand cmd = new SqlCommand(); - Message.LoadFilter filter = Message.LoadFilter.BY_ID; + const Message.LoadFilter filter = Message.LoadFilter.BY_ID; aCore.PrepareLoadCommand(cmd, filter, id); SqlDataReader reader = this.PerformCommand(cmd); @@ -460,7 +458,7 @@ namespace bsmd.database { MessageCore aCore = new MessageCore(); SqlCommand cmd = new SqlCommand(); - Message.LoadFilter filter = Message.LoadFilter.BY_VISITID; + const Message.LoadFilter filter = Message.LoadFilter.BY_VISITID; aCore.PrepareLoadCommand(cmd, filter, visitId); SqlDataReader reader = this.PerformCommand(cmd); @@ -489,7 +487,7 @@ namespace bsmd.database { MessageCore aCore = new MessageCore(); SqlCommand cmd = new SqlCommand(); - Message.LoadFilter filter = Message.LoadFilter.BY_TRANSITID; + const Message.LoadFilter filter = Message.LoadFilter.BY_TRANSITID; aCore.PrepareLoadCommand(cmd, filter, transitId); SqlDataReader reader = this.PerformCommand(cmd); @@ -520,7 +518,7 @@ namespace bsmd.database { MessageCore aCore = new MessageCore(); SqlCommand cmd = new SqlCommand(); - Message.LoadFilter filter = Message.LoadFilter.IMO_ETA_POC; + const Message.LoadFilter filter = Message.LoadFilter.IMO_ETA_POC; aCore.PrepareLoadCommand(cmd, filter, imo, eta, poc); SqlDataReader reader = this.PerformCommand(cmd); List cores = aCore.LoadList(reader); @@ -544,9 +542,9 @@ namespace bsmd.database foreach (Message message in coreMessages) { - if (message is ISublistContainer) + if (message is ISublistContainer sublistContainer) { - ((ISublistContainer)message).DeleteElements(); + (sublistContainer).DeleteElements(); } this.Delete(message); } @@ -694,8 +692,8 @@ namespace bsmd.database { if(message.MessageNotificationClass == Message.NotificationClass.HAZD) { - if(derivedMessage is HAZ) - ((HAZ)derivedMessage).IsDeparture = true; + if(derivedMessage is HAZ hAZ) + (hAZ).IsDeparture = true; } message.Elements.Add(derivedMessage); derivedMessage.MessageHeader = message;