5.1.4 kleinere KOrrekturen

This commit is contained in:
Daniel Schick 2019-02-05 17:21:58 +00:00
parent 4bb7f7e14c
commit d9e071b806
9 changed files with 88 additions and 101 deletions

View File

@ -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)
{

Binary file not shown.

View File

@ -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
/// </summary>
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;
}

View File

@ -7,12 +7,12 @@ using System.ServiceProcess;
namespace bsmd.ExcelReadService
{
static class Program
internal static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main()
private static void Main()
{
ServiceBase[] ServicesToRun;

View File

@ -219,7 +219,7 @@ namespace bsmd.ExcelReadService
#region TIEFD
static void ScanTIEFD(List<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanTIEFD(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanNAME(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanBPOL(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanPOBA(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanPOBD(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanHAZA(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanHAZD(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanINFO(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanSTAT(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanNOA_NOD(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanAGNT(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanWAS(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanMDH(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanSEC(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanBKRA(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanBKRD(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanTOWA(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanTOWD(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanPRE72H(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanSERV(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanSTO(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanLADG(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanCREW(List<Message> 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<Message> messages, MessageCore messageCore, ExcelReader reader)
private static void ScanPAS(List<Message> 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();

View File

@ -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;

View File

@ -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("")]

View File

@ -1,4 +1,4 @@
using System.Reflection;
[assembly: AssemblyVersion("5.1.3.*")]
[assembly: AssemblyVersion("5.1.4.*")]

Binary file not shown.