diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/WasteDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/WasteDetailControl.xaml.cs index c8f4a6cf..d40d1e94 100644 --- a/ENI-2/ENI2/ENI2/DetailViewControls/WasteDetailControl.xaml.cs +++ b/ENI-2/ENI2/ENI2/DetailViewControls/WasteDetailControl.xaml.cs @@ -252,7 +252,7 @@ namespace ENI2.DetailViewControls int cnt = 0; object o = null; - while (reader.Read() && (cnt < 14)) + while (reader.Read() && (cnt < 15)) { if (((IExcelDataReader)reader).FieldCount < 10) { diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx index ca0719e4..ed00b0d3 100644 Binary files a/Stundensheet.xlsx and b/Stundensheet.xlsx differ diff --git a/nsw/Source/bsmd.ExcelReadService/LocodeDB.cs b/nsw/Source/bsmd.ExcelReadService/LocodeDB.cs index a39fece0..babfcf4b 100644 --- a/nsw/Source/bsmd.ExcelReadService/LocodeDB.cs +++ b/nsw/Source/bsmd.ExcelReadService/LocodeDB.cs @@ -12,6 +12,7 @@ using System.Collections.Generic; using System.Data; using System.Data.SQLite; using bsmd.database; +using log4net; namespace bsmd.ExcelReadService { @@ -21,8 +22,10 @@ namespace bsmd.ExcelReadService /// public static class LocodeDB { - private static SQLiteConnection _con; + private static readonly SQLiteConnection _con; private const string _locode_DB_NAME = "db.sqlite"; + private static readonly ILog _log = LogManager.GetLogger(typeof(LocodeDB)); + static LocodeDB() { _con = new SQLiteConnection(string.Format("data source={0}; Version=3;", _locode_DB_NAME)); @@ -148,17 +151,24 @@ namespace bsmd.ExcelReadService if (locode.Length != 5) return null; string result = null; - string query = string.Format("SELECT locodes.name_wo_diacritics FROM locodes JOIN countries ON locodes.country_id = countries.ID WHERE locodes.port='t' AND locodes.city_code = '{0}' AND countries.code = '{1}'", - locode.Substring(2), locode.Substring(0,2)); - SQLiteCommand cmd = new SQLiteCommand(query, _con); - IDataReader reader = cmd.ExecuteReader(); - while (reader.Read()) + try { - if(!reader.IsDBNull(0)) - result = reader.GetString(0); - break; + string query = string.Format("SELECT locodes.name_wo_diacritics FROM locodes JOIN countries ON locodes.country_id = countries.ID WHERE locodes.port='t' AND locodes.city_code = '{0}' AND countries.code = '{1}'", + locode.Substring(2), locode.Substring(0, 2)); + SQLiteCommand cmd = new SQLiteCommand(query, _con); + IDataReader reader = cmd.ExecuteReader(); + while (reader.Read()) + { + if (!reader.IsDBNull(0)) + result = reader.GetString(0); + break; + } + reader.Close(); + } + catch(Exception ex) + { + _log.WarnFormat("Error on locode lookup: {0}", ex.Message); } - reader.Close(); return result; } @@ -228,8 +238,8 @@ namespace bsmd.ExcelReadService public int CompareTo(object obj) { - if (obj is LocodeEntry) - return Locode.CompareTo(((LocodeEntry)obj).Locode); + if (obj is LocodeEntry locodeEntry) + return Locode.CompareTo((locodeEntry).Locode); else return 0; } diff --git a/nsw/Source/bsmd.ExcelReadService/Program.cs b/nsw/Source/bsmd.ExcelReadService/Program.cs index 6fab1939..101d33fa 100644 --- a/nsw/Source/bsmd.ExcelReadService/Program.cs +++ b/nsw/Source/bsmd.ExcelReadService/Program.cs @@ -7,12 +7,12 @@ using System.ServiceProcess; namespace bsmd.ExcelReadService { - static class Program + internal static class Program { /// /// The main entry point for the application. /// - static void Main() + private static void Main() { ServiceBase[] ServicesToRun; diff --git a/nsw/Source/bsmd.ExcelReadService/Util.cs b/nsw/Source/bsmd.ExcelReadService/Util.cs index 83f894c0..45fb80d9 100644 --- a/nsw/Source/bsmd.ExcelReadService/Util.cs +++ b/nsw/Source/bsmd.ExcelReadService/Util.cs @@ -219,7 +219,7 @@ namespace bsmd.ExcelReadService #region TIEFD - static void ScanTIEFD(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanTIEFD(List messages, MessageCore messageCore, ExcelReader reader) { Message tiefdMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.TIEFD); if(tiefdMessage.Elements.Count == 0) @@ -241,7 +241,7 @@ namespace bsmd.ExcelReadService #region NAME - static void ScanNAME(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanNAME(List messages, MessageCore messageCore, ExcelReader reader) { Message nameMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.NAME); if (nameMessage.Elements.Count == 0) @@ -260,7 +260,7 @@ namespace bsmd.ExcelReadService #region BPOL - static void ScanBPOL(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanBPOL(List messages, MessageCore messageCore, ExcelReader reader) { // Die Verarbeitung dieser Nachricht aktuell nur für Message bpolMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.BPOL); @@ -323,7 +323,7 @@ namespace bsmd.ExcelReadService #region POBA - static void ScanPOBA(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanPOBA(List messages, MessageCore messageCore, ExcelReader reader) { Message pobaMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.POBA); if(pobaMessage.Elements.Count == 0) @@ -350,7 +350,7 @@ namespace bsmd.ExcelReadService #region POBD - static void ScanPOBD(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanPOBD(List messages, MessageCore messageCore, ExcelReader reader) { Message pobdMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.POBD); if(pobdMessage.Elements.Count == 0) @@ -378,7 +378,7 @@ namespace bsmd.ExcelReadService #region HAZA - static void ScanHAZA(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanHAZA(List messages, MessageCore messageCore, ExcelReader reader) { Message hazaMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.HAZA); if(hazaMessage.Elements.Count == 0) @@ -715,7 +715,7 @@ namespace bsmd.ExcelReadService #region HAZD - static void ScanHAZD(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanHAZD(List messages, MessageCore messageCore, ExcelReader reader) { Message hazdMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.HAZD); if (hazdMessage.Elements.Count == 0) @@ -1055,7 +1055,7 @@ namespace bsmd.ExcelReadService #region INFO - static void ScanINFO(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanINFO(List messages, MessageCore messageCore, ExcelReader reader) { Message infoMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.INFO); if(infoMessage.Elements.Count == 0) @@ -1078,7 +1078,7 @@ namespace bsmd.ExcelReadService #region STAT - static void ScanSTAT(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanSTAT(List messages, MessageCore messageCore, ExcelReader reader) { Message statMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.STAT); if(statMessage.Elements.Count == 0) @@ -1135,7 +1135,7 @@ namespace bsmd.ExcelReadService #region NOA_NOD - static void ScanNOA_NOD(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanNOA_NOD(List messages, MessageCore messageCore, ExcelReader reader) { Message noa_nodMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.NOA_NOD); if (noa_nodMessage.Elements.Count == 0) @@ -1177,8 +1177,7 @@ namespace bsmd.ExcelReadService if (!callPurposeCode.IsNullOrEmpty()) { - CallPurpose callPurpose = noa_nod.GetSublistElementWithIdentifier(i.ToString()) as CallPurpose; - if (callPurpose == null) + if (!(noa_nod.GetSublistElementWithIdentifier(i.ToString()) is CallPurpose callPurpose)) { callPurpose = new CallPurpose(); callPurpose.NOA_NOD = noa_nod; @@ -1219,18 +1218,21 @@ namespace bsmd.ExcelReadService reader.Conf.ConfirmText("NOA_NOD.LastPort", lastPort, noa_nod.LastPort.IsNullOrEmpty() ? ExcelReader.ReadState.WARN : ExcelReader.ReadState.OK); string nextPort = reader.ReadText("NOA_NOD.NextPort")?.Trim().ToUpper(); - bool? isValidSSNPort = false; + bool isValidSSNPort = false; if (!nextPort.IsNullOrEmpty()) { - if (noa_nod.NextPort.Length > 5) - noa_nod.NextPort = noa_nod.NextPort.Substring(0, 5); //trunc - isValidSSNPort = !LocodeDB.SSNPortNameFromLocode(noa_nod.NextPort).IsNullOrEmpty(); + if (nextPort.Length > 5) + nextPort = noa_nod.NextPort.Substring(0, 5); //trunc + else + isValidSSNPort = !LocodeDB.SSNPortNameFromLocode(nextPort).IsNullOrEmpty(); } - if(!isValidSSNPort.HasValue) + if(string.IsNullOrEmpty(nextPort)) reader.Conf.ConfirmText("NOA_NOD.NextPort", nextPort, ExcelReader.ReadState.WARN); else - reader.Conf.ConfirmText("NOA_NOD.NextPort", nextPort, isValidSSNPort.Value ? ExcelReader.ReadState.OK : ExcelReader.ReadState.FAIL); + reader.Conf.ConfirmText("NOA_NOD.NextPort", nextPort, isValidSSNPort ? ExcelReader.ReadState.OK : ExcelReader.ReadState.FAIL); + + noa_nod.NextPort = nextPort; if(messageCore.IsTransit) { @@ -1259,7 +1261,7 @@ namespace bsmd.ExcelReadService #region AGNT - static void ScanAGNT(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanAGNT(List messages, MessageCore messageCore, ExcelReader reader) { Message agntMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.AGNT); if(agntMessage.Elements.Count == 0) @@ -1280,7 +1282,7 @@ namespace bsmd.ExcelReadService #region WAS - static void ScanWAS(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanWAS(List messages, MessageCore messageCore, ExcelReader reader) { Message wasMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.WAS); if (wasMessage.Elements.Count == 0) @@ -1336,8 +1338,7 @@ namespace bsmd.ExcelReadService string amountGen = string.Format("WAS.WasteAmountGeneratedTillNextPort_MTQ_{0}", i); string wasteDis = string.Format("WAS.WasteDisposedAtLastPort_MTQ_{0}", i); - Waste waste = was.GetSublistElementWithIdentifier(i.ToString()) as Waste; - if(waste == null) + if (!(was.GetSublistElementWithIdentifier(i.ToString()) is Waste waste)) { waste = new Waste(); waste.Identifier = i.ToString(); @@ -1473,7 +1474,7 @@ namespace bsmd.ExcelReadService #region MDH - static void ScanMDH(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanMDH(List messages, MessageCore messageCore, ExcelReader reader) { Message mdhMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.MDH); if(mdhMessage.Elements.Count == 0) @@ -1509,8 +1510,7 @@ namespace bsmd.ExcelReadService int i = 1; foreach (LastTenPortFacilitiesCalled ltpfc in sec.LastTenPortFacilitesCalled) { - PortOfCallLast30Days poc30d = mdh.GetSublistElementWithIdentifier((i + 1).ToString()) as PortOfCallLast30Days; - if (poc30d == null) + if (!(mdh.GetSublistElementWithIdentifier((i + 1).ToString()) is PortOfCallLast30Days poc30d)) { poc30d = new PortOfCallLast30Days(); poc30d.Identifier = (i + 1).ToString(); @@ -1537,8 +1537,7 @@ namespace bsmd.ExcelReadService string crewName = string.Format("MDH.PortOfCallLast30DaysCrewJoinedShipName_{0}", i + 1); string depDate = string.Format("MDH.PortOfCallLast30DaysDateOfDeparture_{0}", i + 1); - PortOfCallLast30Days poc30d = mdh.GetSublistElementWithIdentifier((i + 1).ToString()) as PortOfCallLast30Days; - if (poc30d == null) + if (!(mdh.GetSublistElementWithIdentifier((i + 1).ToString()) is PortOfCallLast30Days poc30d)) { poc30d = new PortOfCallLast30Days(); poc30d.Identifier = (i + 1).ToString(); @@ -1567,8 +1566,7 @@ namespace bsmd.ExcelReadService ExcelReader.ReadState readState = ExcelReader.ReadState.OK; for (int j = 0; j < crew.Length; j++) { - PortOfCallLast30DaysCrewJoinedShip poc30dCrew = poc30d.GetSublistElementWithIdentifier((j + 1).ToString()) as PortOfCallLast30DaysCrewJoinedShip; - if (poc30dCrew == null) + if (!(poc30d.GetSublistElementWithIdentifier((j + 1).ToString()) is PortOfCallLast30DaysCrewJoinedShip poc30dCrew)) { poc30dCrew = new PortOfCallLast30DaysCrewJoinedShip(); poc30dCrew.Identifier = (j + 1).ToString(); @@ -1714,7 +1712,7 @@ namespace bsmd.ExcelReadService #region SEC - static void ScanSEC(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanSEC(List messages, MessageCore messageCore, ExcelReader reader) { Message secMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.SEC); if (secMessage.Elements.Count == 0) @@ -1786,8 +1784,7 @@ namespace bsmd.ExcelReadService string portGISISCode = string.Format("SEC.PortFacilityGISISCode_{0}", i); string portSecMatters = string.Format("SEC.PortFacilitySecurityMattersToReport_{0}", i); - LastTenPortFacilitiesCalled l10fc = sec.GetPortFacilityWithIdentifier(i.ToString()) as LastTenPortFacilitiesCalled; - if (l10fc == null) + if (!(sec.GetPortFacilityWithIdentifier(i.ToString()) is LastTenPortFacilitiesCalled l10fc)) { l10fc = new LastTenPortFacilitiesCalled(); l10fc.Identifier = i.ToString(); @@ -1853,10 +1850,9 @@ namespace bsmd.ExcelReadService string s2sToDate = string.Format("SEC.ShipToShipActivityDateTo_{0}", i); string s2sSec = string.Format("SEC.ShipToShipActivitySecurityMattersToReport_{0}", i); string s2sActivityString = string.Format("SEC.ShipToShipActivityType_{0}", i); - - ShipToShipActivitiesDuringLastTenPortFacilitiesCalled s2sActivity = sec.GetShipToShipWithIdentifier(i.ToString()) as ShipToShipActivitiesDuringLastTenPortFacilitiesCalled; - if (s2sActivity == null) + + if (!(sec.GetShipToShipWithIdentifier(i.ToString()) is ShipToShipActivitiesDuringLastTenPortFacilitiesCalled s2sActivity)) { s2sActivity = new ShipToShipActivitiesDuringLastTenPortFacilitiesCalled(); s2sActivity.Identifier = i.ToString(); @@ -1894,17 +1890,16 @@ namespace bsmd.ExcelReadService #region BKRA - static void ScanBKRA(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanBKRA(List messages, MessageCore messageCore, ExcelReader reader) { Message bkraMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.BKRA); bkraMessage.DeleteElements(); for (int i = 1; i <= bkraMessage.NumberOfExcelRows; i++) { string lnQuantity = string.Format("BKRA.BunkerFuelQuantity_TNE_{0}", i); - string lnType = string.Format("BKRA.BunkerFuelType_{0}", i); + string lnType = string.Format("BKRA.BunkerFuelType_{0}", i); - BRKA bkra = bkraMessage.GetSublistElementWithIdentifier((i).ToString()) as BRKA; - if (bkra == null) + if (!(bkraMessage.GetSublistElementWithIdentifier((i).ToString()) is BRKA bkra)) { bkra = new BRKA(); bkra.Identifier = (i).ToString(); @@ -1936,7 +1931,7 @@ namespace bsmd.ExcelReadService #region BKRD - static void ScanBKRD(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanBKRD(List messages, MessageCore messageCore, ExcelReader reader) { Message bkrdMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.BKRD); bkrdMessage.DeleteElements(); @@ -1944,8 +1939,7 @@ namespace bsmd.ExcelReadService { string lnQuantity = string.Format("BKRD.BunkerFuelQuantity_TNE_{0}", i); string lnType = string.Format("BKRD.BunkerFuelType_{0}", i); - BRKD bkrd = bkrdMessage.GetSublistElementWithIdentifier((i).ToString()) as BRKD; - if (bkrd == null) + if (!(bkrdMessage.GetSublistElementWithIdentifier((i).ToString()) is BRKD bkrd)) { bkrd = new BRKD(); bkrd.Identifier = (i).ToString(); @@ -1977,7 +1971,7 @@ namespace bsmd.ExcelReadService #region TOWA - static void ScanTOWA(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanTOWA(List messages, MessageCore messageCore, ExcelReader reader) { Message towaMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.TOWA); towaMessage.DeleteElements(); @@ -1995,8 +1989,7 @@ namespace bsmd.ExcelReadService string towageName = reader.ReadText(tName); if (towageName.IsNullOrEmpty()) continue; - TOWA towa = towaMessage.GetSublistElementWithIdentifier((i).ToString()) as TOWA; - if (towa == null) + if (!(towaMessage.GetSublistElementWithIdentifier((i).ToString()) is TOWA towa)) { towa = new TOWA(); towa.Identifier = (i).ToString(); @@ -2023,7 +2016,7 @@ namespace bsmd.ExcelReadService #region TOWD - static void ScanTOWD(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanTOWD(List messages, MessageCore messageCore, ExcelReader reader) { Message towdMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.TOWD); towdMessage.DeleteElements(); @@ -2040,8 +2033,7 @@ namespace bsmd.ExcelReadService string towageName = reader.ReadText(tName); if (towageName.IsNullOrEmpty()) continue; - TOWD towd = towdMessage.GetSublistElementWithIdentifier((i).ToString()) as TOWD; - if (towd == null) + if (!(towdMessage.GetSublistElementWithIdentifier((i).ToString()) is TOWD towd)) { towd = new TOWD(); towd.Identifier = (i).ToString(); @@ -2066,7 +2058,7 @@ namespace bsmd.ExcelReadService #region PRE72H - static void ScanPRE72H(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanPRE72H(List messages, MessageCore messageCore, ExcelReader reader) { Message pre72hMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.PRE72H); if (pre72hMessage.Elements.Count == 0) @@ -2088,7 +2080,7 @@ namespace bsmd.ExcelReadService #region SERV - static void ScanSERV(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanSERV(List messages, MessageCore messageCore, ExcelReader reader) { Message servMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.SERV); if(servMessage.Elements.Count == 0) @@ -2112,7 +2104,7 @@ namespace bsmd.ExcelReadService #region STO - static void ScanSTO(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanSTO(List messages, MessageCore messageCore, ExcelReader reader) { Message stoMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.STO); stoMessage.DeleteElements(); @@ -2124,8 +2116,8 @@ namespace bsmd.ExcelReadService string stoQuantityUnit = string.Format("STO.QuantityUnit_{0}", i + 1); string stoLocationOnBoard = string.Format("STO.LocationOnBoard_{0}", i + 1); string stoOfficialUse = string.Format("STO.OfficialUse_{0}", i + 1); - STO sto = stoMessage.GetSublistElementWithIdentifier((i + 1).ToString()) as STO; - if(sto == null) + + if (!(stoMessage.GetSublistElementWithIdentifier((i + 1).ToString()) is STO sto)) { sto = new STO(); sto.Identifier = (i + 1).ToString(); @@ -2153,7 +2145,7 @@ namespace bsmd.ExcelReadService #region LADG - static void ScanLADG(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanLADG(List messages, MessageCore messageCore, ExcelReader reader) { Message ladgMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.LADG); ladgMessage.DeleteElements(); @@ -2169,8 +2161,7 @@ namespace bsmd.ExcelReadService string lnLACode = string.Format("LADG.CargoLACode_{0}", i + 1); string lnZusatz = string.Format("LADG.CargoTypeZusatz_{0}", i + 1); - LADG ladg = ladgMessage.GetSublistElementWithIdentifier((i + 1).ToString()) as LADG; - if (ladg == null) + if (!(ladgMessage.GetSublistElementWithIdentifier((i + 1).ToString()) is LADG ladg)) { ladg = new LADG(); ladg.Identifier = (i + 1).ToString(); @@ -2187,8 +2178,9 @@ namespace bsmd.ExcelReadService continue; } - ladg.CargoCodeNST = reader.ReadText(lnType); + ladg.CargoCodeNST = reader.ReadText(lnType); // Cargo Type Freitext in DK + if(reader.Mode == ExcelReader.CountryMode.DK) { reader.Conf.ConfirmText(lnType, ladg.CargoCodeNST, ladg.CargoCodeNST.IsNullOrEmpty() ? ExcelReader.ReadState.WARN : ExcelReader.ReadState.OK); @@ -2235,18 +2227,8 @@ namespace bsmd.ExcelReadService ladg.CargoNumberOfItems = (int?) reader.ReadNumber(lnCNOI); ladg.CargoGrossQuantity_TNE = reader.ReadNumber(lnCGQ); - - ladg.PortOfLoading = reader.ReadText(lnLoad); - if (ladg.PortOfLoading.IsNullOrEmpty()) - reader.Conf.ConfirmText(lnLoad, null, ExcelReader.ReadState.FAIL); - else - reader.Conf.ConfirmText(lnLoad, ladg.PortOfLoading, (ladg.PortOfLoading.Length == 5) ? ExcelReader.ReadState.OK : ExcelReader.ReadState.WARN); - - ladg.PortOfDischarge = reader.ReadText(lnDis); - if (ladg.PortOfDischarge.IsNullOrEmpty()) - reader.Conf.ConfirmText(lnDis, null, ExcelReader.ReadState.FAIL); - else - reader.Conf.ConfirmText(lnDis, ladg.PortOfDischarge, (ladg.PortOfDischarge.Length == 5) ? ExcelReader.ReadState.OK : ExcelReader.ReadState.WARN); + ladg.PortOfLoading = reader.ReadLoCode(lnLoad); + ladg.PortOfDischarge = reader.ReadLoCode(lnDis); // dont save empty element if (ladg.IsNew && !ladg.CargoHandlingType.HasValue) @@ -2258,7 +2240,7 @@ namespace bsmd.ExcelReadService #region CREW - static void ScanCREW(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanCREW(List messages, MessageCore messageCore, ExcelReader reader) { Message crewMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.CREW); crewMessage.DeleteElements(); @@ -2281,8 +2263,7 @@ namespace bsmd.ExcelReadService if (!lastName.IsNullOrEmpty() || !firstName.IsNullOrEmpty()) { - CREW crew = crewMessage.GetSublistElementWithIdentifier((i + 1).ToString()) as CREW; - if (crew == null) + if (!(crewMessage.GetSublistElementWithIdentifier((i + 1).ToString()) is CREW crew)) { crew = new CREW(); crew.Identifier = (i + 1).ToString(); @@ -2332,8 +2313,7 @@ namespace bsmd.ExcelReadService string lastName = reader.ReadText(crewLastName); if (!lastName.IsNullOrEmpty()) { - CREWD crew = crewMessage.GetSublistElementWithIdentifier((i + 1).ToString()) as CREWD; - if (crew == null) + if (!(crewMessage.GetSublistElementWithIdentifier((i + 1).ToString()) is CREWD crew)) { crew = new CREWD(); crew.Identifier = (i + 1).ToString(); @@ -2371,7 +2351,7 @@ namespace bsmd.ExcelReadService #region PAS - static void ScanPAS(List messages, MessageCore messageCore, ExcelReader reader) + private static void ScanPAS(List messages, MessageCore messageCore, ExcelReader reader) { Message pasMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.PAS); pasMessage.DeleteElements(); @@ -2396,9 +2376,8 @@ namespace bsmd.ExcelReadService if (!lastName.IsNullOrEmpty() || !firstName.IsNullOrEmpty()) { - PAS pas = pasMessage.GetSublistElementWithIdentifier((i + 1).ToString()) as PAS; - if (pas == null) - { + if (!(pasMessage.GetSublistElementWithIdentifier((i + 1).ToString()) is PAS pas)) + { pas = new PAS(); pas.Identifier = (i + 1).ToString(); pas.MessageHeader = pasMessage; @@ -2448,8 +2427,7 @@ namespace bsmd.ExcelReadService string lastName = reader.ReadText(pasLastName); if (!lastName.IsNullOrEmpty()) { - PASD pas = pasMessage.GetSublistElementWithIdentifier((i + 1).ToString()) as PASD; - if (pas == null) + if (!(pasMessage.GetSublistElementWithIdentifier((i + 1).ToString()) is PASD pas)) { pas = new PASD(); pas.Identifier = (i + 1).ToString(); diff --git a/nsw/Source/bsmd.database/DBManager.cs b/nsw/Source/bsmd.database/DBManager.cs index 36a6ac47..e4bd52c8 100644 --- a/nsw/Source/bsmd.database/DBManager.cs +++ b/nsw/Source/bsmd.database/DBManager.cs @@ -95,7 +95,7 @@ namespace bsmd.database public bool IsConnected { - get { return (this._con?.State == ConnectionState.Open); } + get { return this._con?.State == ConnectionState.Open; } } @@ -346,8 +346,7 @@ namespace bsmd.database if (statMessage?.Elements.Count > 0) { - STAT stat = statMessage.Elements[0] as STAT; - if (stat != null) + if (statMessage.Elements[0] is STAT stat) return stat.ShipName; } return null; diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs index 427dad81..941108b5 100644 --- a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs +++ b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs @@ -2,6 +2,6 @@ [assembly: AssemblyCompany("schick Informatik")] [assembly: AssemblyProduct("BSMD NSW interface")] -[assembly: AssemblyInformationalVersion("5.1.3")] -[assembly: AssemblyCopyright("Copyright © 2014-2018 schick Informatik")] +[assembly: AssemblyInformationalVersion("5.1.4")] +[assembly: AssemblyCopyright("Copyright © 2014-2019 schick Informatik")] [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 c3fff841..5eabc612 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("5.1.3.*")] +[assembly: AssemblyVersion("5.1.4.*")] diff --git a/nsw/Source/misc/db.sqlite b/nsw/Source/misc/db.sqlite index acb65eab..efdea21e 100644 Binary files a/nsw/Source/misc/db.sqlite and b/nsw/Source/misc/db.sqlite differ