diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx index 6a65e9e0..9b7c5ed2 100644 Binary files a/Stundensheet.xlsx and b/Stundensheet.xlsx differ diff --git a/nsw/Source/bsmd.ExcelReadService/ExcelReader.cs b/nsw/Source/bsmd.ExcelReadService/ExcelReader.cs index 59a0103e..0a28dc3b 100644 --- a/nsw/Source/bsmd.ExcelReadService/ExcelReader.cs +++ b/nsw/Source/bsmd.ExcelReadService/ExcelReader.cs @@ -99,6 +99,7 @@ namespace bsmd.ExcelReadService break; } } + Marshal.ReleaseComObject(range); } internal string ReadText(string lookup) @@ -264,12 +265,14 @@ namespace bsmd.ExcelReadService { if(this._portcall != null) { - _log.Debug("close Worksheet"); + this._portcall.Close(0); + _log.Debug("Close Worksheet"); Marshal.ReleaseComObject(this._portcall); } if (this._excelWorkbooks != null) { + this._excelWorkbooks.Close(); _log.Debug("Close Workbooks"); Marshal.ReleaseComObject(this._excelWorkbooks); // this._excelWorkbooks.Close(); @@ -278,6 +281,7 @@ namespace bsmd.ExcelReadService { _log.Debug("Quit Excel"); this._excelApp.Quit(); + Marshal.ReleaseComObject(this._excelApp); } } @@ -432,11 +436,12 @@ namespace bsmd.ExcelReadService if (val is string) { double tmpDouble; - if (double.TryParse(val, NumberStyles.None, CultureInfo.InvariantCulture, out tmpDouble)) + if (double.TryParse(val, NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite, + CultureInfo.InvariantCulture, out tmpDouble)) result = tmpDouble; if (result == null) { - if (double.TryParse(val, out tmpDouble)) + if (double.TryParse(val, out tmpDouble)) // current language style (==GER, mit , statt .) result = tmpDouble; } } diff --git a/nsw/Source/bsmd.ExcelReadService/Util.cs b/nsw/Source/bsmd.ExcelReadService/Util.cs index 5cc785b0..27fa57a8 100644 --- a/nsw/Source/bsmd.ExcelReadService/Util.cs +++ b/nsw/Source/bsmd.ExcelReadService/Util.cs @@ -399,7 +399,12 @@ namespace bsmd.ExcelReadService if (nextPorts.Count == 1) noa_nod.NextPort = nextPorts[0]; else - _log.WarnFormat("{0} results in {1} possible LOCODES", nextPort, nextPorts.Count); + { + if (nextPort.Equals("ZZUKN", StringComparison.OrdinalIgnoreCase)) + noa_nod.NextPort = nextPort; + else + _log.WarnFormat("{0} results in {1} possible LOCODES", nextPort, nextPorts.Count); + } } noa_nod.ETDFromPortOfCall = reader.ReadDateTime("NOA_NOD.ETDDateFromPortOfCall", "NOA_NOD.ETDTimeFromPortOfCall"); @@ -453,8 +458,13 @@ namespace bsmd.ExcelReadService string wastedispServProvName = reader.ReadText("WAS.WasteDisposalServiceProviderName"); if (wastedispServProvName != null) { - if(was.WasteDisposalServiceProvider.Count == 0) - was.WasteDisposalServiceProvider.Add(new WasteDisposalServiceProvider()); + if (was.WasteDisposalServiceProvider.Count == 0) + { + WasteDisposalServiceProvider wdsp = new WasteDisposalServiceProvider(); + wdsp.Identifier = "1"; + wdsp.WAS = was; + was.WasteDisposalServiceProvider.Add(wdsp); + } was.WasteDisposalServiceProvider[0].WasteDisposalServiceProviderName = wastedispServProvName; was.WasteDisposalServiceProvider[0].WasteDisposalDelivery = was.WasteDisposalDelivery; } diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs index 34ec8dea..67bd2c48 100644 --- a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs +++ b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs @@ -2,6 +2,6 @@ [assembly: AssemblyCompany("Informatikbüro Daniel Schick")] [assembly: AssemblyProduct("BSMD NSW interface")] -[assembly: AssemblyInformationalVersion("3.2.7")] +[assembly: AssemblyInformationalVersion("3.2.8")] [assembly: AssemblyCopyright("Copyright © 2014-2016 Informatikbüro Daniel Schick. All rights reserved.")] [assembly: AssemblyTrademark("")] \ No newline at end of file diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs index 0024d2a0..a40fd231 100644 --- a/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs +++ b/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs @@ -1,4 +1,4 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.7.*")] +[assembly: AssemblyVersion("3.2.8.*")]