From edd48e8c0b79be1d5eeeb124da145ccd2c5eaa8b Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Sun, 6 Nov 2016 10:50:59 +0000 Subject: [PATCH] =?UTF-8?q?3.2.22=20Korrekturen:=201.=20"leere"=20Next/Las?= =?UTF-8?q?tport=20(statt=20ZZUKN)=20crashfrei=20tolerieren=202.=20Locode?= =?UTF-8?q?=20DB=20auch=20mit=20name=5Fwo=5Fdiacritics=20durchsuchen,=20da?= =?UTF-8?q?mit=20Fuglafjordur=20statt=20Fuglafj=C3=B8rdur=20gefunden=20wer?= =?UTF-8?q?den=20kann?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Stundensheet.xlsx | Bin 24412 -> 24459 bytes nsw/Source/bsmd.ExcelReadService/LocodeDB.cs | 4 +- nsw/Source/bsmd.ExcelReadService/Util.cs | 62 ++++++++++-------- .../Properties/AssemblyProductInfo.cs | 2 +- .../Properties/AssemblyProjectInfo.cs | 2 +- 5 files changed, 39 insertions(+), 31 deletions(-) diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx index bba41b5d100610a57c0e6a8f454c34dbea114a68..0daca6a22d137e915182e1d6b131ceb37e814054 100644 GIT binary patch delta 12925 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 W>X4zyw;y*clR1qj;Wl*tv-n>ZjtT<+ delta 12905 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 lastPorts = LocodeDB.AllLocodesForCityName(lastPort); - if (lastPorts.Count == 1) - noa_nod.LastPort = lastPorts[0]; - else - _log.WarnFormat("{0} results in {1} possible LOCODES", lastPort, lastPorts.Count); - } - - string nextPort = reader.ReadText("NOA_NOD.NextPort").Trim(); - - if (LocodeDB.PortNameFromLocode(nextPort) != null) - { - noa_nod.NextPort = nextPort; - } - else - { - List nextPorts = LocodeDB.AllLocodesForCityName(nextPort); - if (nextPorts.Count == 1) - noa_nod.NextPort = nextPorts[0]; + if (LocodeDB.PortNameFromLocode(lastPort) != null) + { + noa_nod.LastPort = lastPort; + } else { - if (nextPort.Equals("ZZUKN", StringComparison.OrdinalIgnoreCase)) - noa_nod.NextPort = nextPort; + List lastPorts = LocodeDB.AllLocodesForCityName(lastPort); + if (lastPorts.Count == 1) + noa_nod.LastPort = lastPorts[0]; else - _log.WarnFormat("{0} results in {1} possible LOCODES", nextPort, nextPorts.Count); + _log.WarnFormat("{0} results in {1} possible LOCODES", lastPort, lastPorts.Count); + } + } + + string nextPort = reader.ReadText("NOA_NOD.NextPort"); + if (!nextPort.IsNullOrEmpty()) nextPort = nextPort.Trim(); + + if (nextPort != null) + { + if (LocodeDB.PortNameFromLocode(nextPort) != null) + { + noa_nod.NextPort = nextPort; + } + else + { + List nextPorts = LocodeDB.AllLocodesForCityName(nextPort); + if (nextPorts.Count == 1) + noa_nod.NextPort = nextPorts[0]; + else + { + if (nextPort.Equals("ZZUKN", StringComparison.OrdinalIgnoreCase)) + noa_nod.NextPort = nextPort; + else + _log.WarnFormat("{0} results in {1} possible LOCODES", nextPort, nextPorts.Count); + } } } diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs index 360d7eb9..2984595d 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.21")] +[assembly: AssemblyInformationalVersion("3.2.22")] [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 845220b6..d22ccb13 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.21.*")] +[assembly: AssemblyVersion("3.2.22.*")]