5.1.4 kleinere KOrrekturen
This commit is contained in:
parent
4bb7f7e14c
commit
d9e071b806
@ -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.
@ -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;
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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("")]
|
||||
@ -1,4 +1,4 @@
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyVersion("5.1.3.*")]
|
||||
[assembly: AssemblyVersion("5.1.4.*")]
|
||||
|
||||
|
||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user