5.1.4 kleinere KOrrekturen
This commit is contained in:
parent
4bb7f7e14c
commit
d9e071b806
@ -252,7 +252,7 @@ namespace ENI2.DetailViewControls
|
|||||||
int cnt = 0;
|
int cnt = 0;
|
||||||
object o = null;
|
object o = null;
|
||||||
|
|
||||||
while (reader.Read() && (cnt < 14))
|
while (reader.Read() && (cnt < 15))
|
||||||
{
|
{
|
||||||
if (((IExcelDataReader)reader).FieldCount < 10)
|
if (((IExcelDataReader)reader).FieldCount < 10)
|
||||||
{
|
{
|
||||||
|
|||||||
Binary file not shown.
@ -12,6 +12,7 @@ using System.Collections.Generic;
|
|||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Data.SQLite;
|
using System.Data.SQLite;
|
||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
|
using log4net;
|
||||||
|
|
||||||
namespace bsmd.ExcelReadService
|
namespace bsmd.ExcelReadService
|
||||||
{
|
{
|
||||||
@ -21,8 +22,10 @@ namespace bsmd.ExcelReadService
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static class LocodeDB
|
public static class LocodeDB
|
||||||
{
|
{
|
||||||
private static SQLiteConnection _con;
|
private static readonly SQLiteConnection _con;
|
||||||
private const string _locode_DB_NAME = "db.sqlite";
|
private const string _locode_DB_NAME = "db.sqlite";
|
||||||
|
private static readonly ILog _log = LogManager.GetLogger(typeof(LocodeDB));
|
||||||
|
|
||||||
static LocodeDB()
|
static LocodeDB()
|
||||||
{
|
{
|
||||||
_con = new SQLiteConnection(string.Format("data source={0}; Version=3;", _locode_DB_NAME));
|
_con = new SQLiteConnection(string.Format("data source={0}; Version=3;", _locode_DB_NAME));
|
||||||
@ -148,6 +151,8 @@ namespace bsmd.ExcelReadService
|
|||||||
if (locode.Length != 5) return null;
|
if (locode.Length != 5) return null;
|
||||||
|
|
||||||
string result = null;
|
string result = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
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}'",
|
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));
|
locode.Substring(2), locode.Substring(0, 2));
|
||||||
SQLiteCommand cmd = new SQLiteCommand(query, _con);
|
SQLiteCommand cmd = new SQLiteCommand(query, _con);
|
||||||
@ -159,6 +164,11 @@ namespace bsmd.ExcelReadService
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
}
|
||||||
|
catch(Exception ex)
|
||||||
|
{
|
||||||
|
_log.WarnFormat("Error on locode lookup: {0}", ex.Message);
|
||||||
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -228,8 +238,8 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
public int CompareTo(object obj)
|
public int CompareTo(object obj)
|
||||||
{
|
{
|
||||||
if (obj is LocodeEntry)
|
if (obj is LocodeEntry locodeEntry)
|
||||||
return Locode.CompareTo(((LocodeEntry)obj).Locode);
|
return Locode.CompareTo((locodeEntry).Locode);
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,12 +7,12 @@ using System.ServiceProcess;
|
|||||||
|
|
||||||
namespace bsmd.ExcelReadService
|
namespace bsmd.ExcelReadService
|
||||||
{
|
{
|
||||||
static class Program
|
internal static class Program
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The main entry point for the application.
|
/// The main entry point for the application.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
static void Main()
|
private static void Main()
|
||||||
{
|
{
|
||||||
ServiceBase[] ServicesToRun;
|
ServiceBase[] ServicesToRun;
|
||||||
|
|
||||||
|
|||||||
@ -219,7 +219,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region TIEFD
|
#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);
|
Message tiefdMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.TIEFD);
|
||||||
if(tiefdMessage.Elements.Count == 0)
|
if(tiefdMessage.Elements.Count == 0)
|
||||||
@ -241,7 +241,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region NAME
|
#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);
|
Message nameMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.NAME);
|
||||||
if (nameMessage.Elements.Count == 0)
|
if (nameMessage.Elements.Count == 0)
|
||||||
@ -260,7 +260,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region BPOL
|
#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
|
// Die Verarbeitung dieser Nachricht aktuell nur für
|
||||||
Message bpolMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.BPOL);
|
Message bpolMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.BPOL);
|
||||||
@ -323,7 +323,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region POBA
|
#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);
|
Message pobaMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.POBA);
|
||||||
if(pobaMessage.Elements.Count == 0)
|
if(pobaMessage.Elements.Count == 0)
|
||||||
@ -350,7 +350,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region POBD
|
#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);
|
Message pobdMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.POBD);
|
||||||
if(pobdMessage.Elements.Count == 0)
|
if(pobdMessage.Elements.Count == 0)
|
||||||
@ -378,7 +378,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region HAZA
|
#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);
|
Message hazaMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.HAZA);
|
||||||
if(hazaMessage.Elements.Count == 0)
|
if(hazaMessage.Elements.Count == 0)
|
||||||
@ -715,7 +715,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region HAZD
|
#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);
|
Message hazdMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.HAZD);
|
||||||
if (hazdMessage.Elements.Count == 0)
|
if (hazdMessage.Elements.Count == 0)
|
||||||
@ -1055,7 +1055,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region INFO
|
#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);
|
Message infoMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.INFO);
|
||||||
if(infoMessage.Elements.Count == 0)
|
if(infoMessage.Elements.Count == 0)
|
||||||
@ -1078,7 +1078,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region STAT
|
#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);
|
Message statMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.STAT);
|
||||||
if(statMessage.Elements.Count == 0)
|
if(statMessage.Elements.Count == 0)
|
||||||
@ -1135,7 +1135,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region NOA_NOD
|
#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);
|
Message noa_nodMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.NOA_NOD);
|
||||||
if (noa_nodMessage.Elements.Count == 0)
|
if (noa_nodMessage.Elements.Count == 0)
|
||||||
@ -1177,8 +1177,7 @@ namespace bsmd.ExcelReadService
|
|||||||
if (!callPurposeCode.IsNullOrEmpty())
|
if (!callPurposeCode.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
|
|
||||||
CallPurpose callPurpose = noa_nod.GetSublistElementWithIdentifier(i.ToString()) as CallPurpose;
|
if (!(noa_nod.GetSublistElementWithIdentifier(i.ToString()) is CallPurpose callPurpose))
|
||||||
if (callPurpose == null)
|
|
||||||
{
|
{
|
||||||
callPurpose = new CallPurpose();
|
callPurpose = new CallPurpose();
|
||||||
callPurpose.NOA_NOD = noa_nod;
|
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);
|
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();
|
string nextPort = reader.ReadText("NOA_NOD.NextPort")?.Trim().ToUpper();
|
||||||
bool? isValidSSNPort = false;
|
bool isValidSSNPort = false;
|
||||||
if (!nextPort.IsNullOrEmpty())
|
if (!nextPort.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
if (noa_nod.NextPort.Length > 5)
|
if (nextPort.Length > 5)
|
||||||
noa_nod.NextPort = noa_nod.NextPort.Substring(0, 5); //trunc
|
nextPort = noa_nod.NextPort.Substring(0, 5); //trunc
|
||||||
isValidSSNPort = !LocodeDB.SSNPortNameFromLocode(noa_nod.NextPort).IsNullOrEmpty();
|
else
|
||||||
|
isValidSSNPort = !LocodeDB.SSNPortNameFromLocode(nextPort).IsNullOrEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!isValidSSNPort.HasValue)
|
if(string.IsNullOrEmpty(nextPort))
|
||||||
reader.Conf.ConfirmText("NOA_NOD.NextPort", nextPort, ExcelReader.ReadState.WARN);
|
reader.Conf.ConfirmText("NOA_NOD.NextPort", nextPort, ExcelReader.ReadState.WARN);
|
||||||
else
|
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)
|
if(messageCore.IsTransit)
|
||||||
{
|
{
|
||||||
@ -1259,7 +1261,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region AGNT
|
#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);
|
Message agntMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.AGNT);
|
||||||
if(agntMessage.Elements.Count == 0)
|
if(agntMessage.Elements.Count == 0)
|
||||||
@ -1280,7 +1282,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region WAS
|
#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);
|
Message wasMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.WAS);
|
||||||
if (wasMessage.Elements.Count == 0)
|
if (wasMessage.Elements.Count == 0)
|
||||||
@ -1336,8 +1338,7 @@ namespace bsmd.ExcelReadService
|
|||||||
string amountGen = string.Format("WAS.WasteAmountGeneratedTillNextPort_MTQ_{0}", i);
|
string amountGen = string.Format("WAS.WasteAmountGeneratedTillNextPort_MTQ_{0}", i);
|
||||||
string wasteDis = string.Format("WAS.WasteDisposedAtLastPort_MTQ_{0}", i);
|
string wasteDis = string.Format("WAS.WasteDisposedAtLastPort_MTQ_{0}", i);
|
||||||
|
|
||||||
Waste waste = was.GetSublistElementWithIdentifier(i.ToString()) as Waste;
|
if (!(was.GetSublistElementWithIdentifier(i.ToString()) is Waste waste))
|
||||||
if(waste == null)
|
|
||||||
{
|
{
|
||||||
waste = new Waste();
|
waste = new Waste();
|
||||||
waste.Identifier = i.ToString();
|
waste.Identifier = i.ToString();
|
||||||
@ -1473,7 +1474,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region MDH
|
#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);
|
Message mdhMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.MDH);
|
||||||
if(mdhMessage.Elements.Count == 0)
|
if(mdhMessage.Elements.Count == 0)
|
||||||
@ -1509,8 +1510,7 @@ namespace bsmd.ExcelReadService
|
|||||||
int i = 1;
|
int i = 1;
|
||||||
foreach (LastTenPortFacilitiesCalled ltpfc in sec.LastTenPortFacilitesCalled)
|
foreach (LastTenPortFacilitiesCalled ltpfc in sec.LastTenPortFacilitesCalled)
|
||||||
{
|
{
|
||||||
PortOfCallLast30Days poc30d = mdh.GetSublistElementWithIdentifier((i + 1).ToString()) as PortOfCallLast30Days;
|
if (!(mdh.GetSublistElementWithIdentifier((i + 1).ToString()) is PortOfCallLast30Days poc30d))
|
||||||
if (poc30d == null)
|
|
||||||
{
|
{
|
||||||
poc30d = new PortOfCallLast30Days();
|
poc30d = new PortOfCallLast30Days();
|
||||||
poc30d.Identifier = (i + 1).ToString();
|
poc30d.Identifier = (i + 1).ToString();
|
||||||
@ -1537,8 +1537,7 @@ namespace bsmd.ExcelReadService
|
|||||||
string crewName = string.Format("MDH.PortOfCallLast30DaysCrewJoinedShipName_{0}", i + 1);
|
string crewName = string.Format("MDH.PortOfCallLast30DaysCrewJoinedShipName_{0}", i + 1);
|
||||||
string depDate = string.Format("MDH.PortOfCallLast30DaysDateOfDeparture_{0}", i + 1);
|
string depDate = string.Format("MDH.PortOfCallLast30DaysDateOfDeparture_{0}", i + 1);
|
||||||
|
|
||||||
PortOfCallLast30Days poc30d = mdh.GetSublistElementWithIdentifier((i + 1).ToString()) as PortOfCallLast30Days;
|
if (!(mdh.GetSublistElementWithIdentifier((i + 1).ToString()) is PortOfCallLast30Days poc30d))
|
||||||
if (poc30d == null)
|
|
||||||
{
|
{
|
||||||
poc30d = new PortOfCallLast30Days();
|
poc30d = new PortOfCallLast30Days();
|
||||||
poc30d.Identifier = (i + 1).ToString();
|
poc30d.Identifier = (i + 1).ToString();
|
||||||
@ -1567,8 +1566,7 @@ namespace bsmd.ExcelReadService
|
|||||||
ExcelReader.ReadState readState = ExcelReader.ReadState.OK;
|
ExcelReader.ReadState readState = ExcelReader.ReadState.OK;
|
||||||
for (int j = 0; j < crew.Length; j++)
|
for (int j = 0; j < crew.Length; j++)
|
||||||
{
|
{
|
||||||
PortOfCallLast30DaysCrewJoinedShip poc30dCrew = poc30d.GetSublistElementWithIdentifier((j + 1).ToString()) as PortOfCallLast30DaysCrewJoinedShip;
|
if (!(poc30d.GetSublistElementWithIdentifier((j + 1).ToString()) is PortOfCallLast30DaysCrewJoinedShip poc30dCrew))
|
||||||
if (poc30dCrew == null)
|
|
||||||
{
|
{
|
||||||
poc30dCrew = new PortOfCallLast30DaysCrewJoinedShip();
|
poc30dCrew = new PortOfCallLast30DaysCrewJoinedShip();
|
||||||
poc30dCrew.Identifier = (j + 1).ToString();
|
poc30dCrew.Identifier = (j + 1).ToString();
|
||||||
@ -1714,7 +1712,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region SEC
|
#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);
|
Message secMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.SEC);
|
||||||
if (secMessage.Elements.Count == 0)
|
if (secMessage.Elements.Count == 0)
|
||||||
@ -1786,8 +1784,7 @@ namespace bsmd.ExcelReadService
|
|||||||
string portGISISCode = string.Format("SEC.PortFacilityGISISCode_{0}", i);
|
string portGISISCode = string.Format("SEC.PortFacilityGISISCode_{0}", i);
|
||||||
string portSecMatters = string.Format("SEC.PortFacilitySecurityMattersToReport_{0}", i);
|
string portSecMatters = string.Format("SEC.PortFacilitySecurityMattersToReport_{0}", i);
|
||||||
|
|
||||||
LastTenPortFacilitiesCalled l10fc = sec.GetPortFacilityWithIdentifier(i.ToString()) as LastTenPortFacilitiesCalled;
|
if (!(sec.GetPortFacilityWithIdentifier(i.ToString()) is LastTenPortFacilitiesCalled l10fc))
|
||||||
if (l10fc == null)
|
|
||||||
{
|
{
|
||||||
l10fc = new LastTenPortFacilitiesCalled();
|
l10fc = new LastTenPortFacilitiesCalled();
|
||||||
l10fc.Identifier = i.ToString();
|
l10fc.Identifier = i.ToString();
|
||||||
@ -1855,8 +1852,7 @@ namespace bsmd.ExcelReadService
|
|||||||
string s2sActivityString = string.Format("SEC.ShipToShipActivityType_{0}", i);
|
string s2sActivityString = string.Format("SEC.ShipToShipActivityType_{0}", i);
|
||||||
|
|
||||||
|
|
||||||
ShipToShipActivitiesDuringLastTenPortFacilitiesCalled s2sActivity = sec.GetShipToShipWithIdentifier(i.ToString()) as ShipToShipActivitiesDuringLastTenPortFacilitiesCalled;
|
if (!(sec.GetShipToShipWithIdentifier(i.ToString()) is ShipToShipActivitiesDuringLastTenPortFacilitiesCalled s2sActivity))
|
||||||
if (s2sActivity == null)
|
|
||||||
{
|
{
|
||||||
s2sActivity = new ShipToShipActivitiesDuringLastTenPortFacilitiesCalled();
|
s2sActivity = new ShipToShipActivitiesDuringLastTenPortFacilitiesCalled();
|
||||||
s2sActivity.Identifier = i.ToString();
|
s2sActivity.Identifier = i.ToString();
|
||||||
@ -1894,7 +1890,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region BKRA
|
#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);
|
Message bkraMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.BKRA);
|
||||||
bkraMessage.DeleteElements();
|
bkraMessage.DeleteElements();
|
||||||
@ -1903,8 +1899,7 @@ namespace bsmd.ExcelReadService
|
|||||||
string lnQuantity = string.Format("BKRA.BunkerFuelQuantity_TNE_{0}", 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 (!(bkraMessage.GetSublistElementWithIdentifier((i).ToString()) is BRKA bkra))
|
||||||
if (bkra == null)
|
|
||||||
{
|
{
|
||||||
bkra = new BRKA();
|
bkra = new BRKA();
|
||||||
bkra.Identifier = (i).ToString();
|
bkra.Identifier = (i).ToString();
|
||||||
@ -1936,7 +1931,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region BKRD
|
#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);
|
Message bkrdMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.BKRD);
|
||||||
bkrdMessage.DeleteElements();
|
bkrdMessage.DeleteElements();
|
||||||
@ -1944,8 +1939,7 @@ namespace bsmd.ExcelReadService
|
|||||||
{
|
{
|
||||||
string lnQuantity = string.Format("BKRD.BunkerFuelQuantity_TNE_{0}", i);
|
string lnQuantity = string.Format("BKRD.BunkerFuelQuantity_TNE_{0}", i);
|
||||||
string lnType = string.Format("BKRD.BunkerFuelType_{0}", i);
|
string lnType = string.Format("BKRD.BunkerFuelType_{0}", i);
|
||||||
BRKD bkrd = bkrdMessage.GetSublistElementWithIdentifier((i).ToString()) as BRKD;
|
if (!(bkrdMessage.GetSublistElementWithIdentifier((i).ToString()) is BRKD bkrd))
|
||||||
if (bkrd == null)
|
|
||||||
{
|
{
|
||||||
bkrd = new BRKD();
|
bkrd = new BRKD();
|
||||||
bkrd.Identifier = (i).ToString();
|
bkrd.Identifier = (i).ToString();
|
||||||
@ -1977,7 +1971,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region TOWA
|
#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);
|
Message towaMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.TOWA);
|
||||||
towaMessage.DeleteElements();
|
towaMessage.DeleteElements();
|
||||||
@ -1995,8 +1989,7 @@ namespace bsmd.ExcelReadService
|
|||||||
string towageName = reader.ReadText(tName);
|
string towageName = reader.ReadText(tName);
|
||||||
if (towageName.IsNullOrEmpty()) continue;
|
if (towageName.IsNullOrEmpty()) continue;
|
||||||
|
|
||||||
TOWA towa = towaMessage.GetSublistElementWithIdentifier((i).ToString()) as TOWA;
|
if (!(towaMessage.GetSublistElementWithIdentifier((i).ToString()) is TOWA towa))
|
||||||
if (towa == null)
|
|
||||||
{
|
{
|
||||||
towa = new TOWA();
|
towa = new TOWA();
|
||||||
towa.Identifier = (i).ToString();
|
towa.Identifier = (i).ToString();
|
||||||
@ -2023,7 +2016,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region TOWD
|
#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);
|
Message towdMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.TOWD);
|
||||||
towdMessage.DeleteElements();
|
towdMessage.DeleteElements();
|
||||||
@ -2040,8 +2033,7 @@ namespace bsmd.ExcelReadService
|
|||||||
string towageName = reader.ReadText(tName);
|
string towageName = reader.ReadText(tName);
|
||||||
if (towageName.IsNullOrEmpty()) continue;
|
if (towageName.IsNullOrEmpty()) continue;
|
||||||
|
|
||||||
TOWD towd = towdMessage.GetSublistElementWithIdentifier((i).ToString()) as TOWD;
|
if (!(towdMessage.GetSublistElementWithIdentifier((i).ToString()) is TOWD towd))
|
||||||
if (towd == null)
|
|
||||||
{
|
{
|
||||||
towd = new TOWD();
|
towd = new TOWD();
|
||||||
towd.Identifier = (i).ToString();
|
towd.Identifier = (i).ToString();
|
||||||
@ -2066,7 +2058,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region PRE72H
|
#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);
|
Message pre72hMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.PRE72H);
|
||||||
if (pre72hMessage.Elements.Count == 0)
|
if (pre72hMessage.Elements.Count == 0)
|
||||||
@ -2088,7 +2080,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region SERV
|
#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);
|
Message servMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.SERV);
|
||||||
if(servMessage.Elements.Count == 0)
|
if(servMessage.Elements.Count == 0)
|
||||||
@ -2112,7 +2104,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region STO
|
#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);
|
Message stoMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.STO);
|
||||||
stoMessage.DeleteElements();
|
stoMessage.DeleteElements();
|
||||||
@ -2124,8 +2116,8 @@ namespace bsmd.ExcelReadService
|
|||||||
string stoQuantityUnit = string.Format("STO.QuantityUnit_{0}", i + 1);
|
string stoQuantityUnit = string.Format("STO.QuantityUnit_{0}", i + 1);
|
||||||
string stoLocationOnBoard = string.Format("STO.LocationOnBoard_{0}", i + 1);
|
string stoLocationOnBoard = string.Format("STO.LocationOnBoard_{0}", i + 1);
|
||||||
string stoOfficialUse = string.Format("STO.OfficialUse_{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 = new STO();
|
||||||
sto.Identifier = (i + 1).ToString();
|
sto.Identifier = (i + 1).ToString();
|
||||||
@ -2153,7 +2145,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region LADG
|
#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);
|
Message ladgMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.LADG);
|
||||||
ladgMessage.DeleteElements();
|
ladgMessage.DeleteElements();
|
||||||
@ -2169,8 +2161,7 @@ namespace bsmd.ExcelReadService
|
|||||||
string lnLACode = string.Format("LADG.CargoLACode_{0}", i + 1);
|
string lnLACode = string.Format("LADG.CargoLACode_{0}", i + 1);
|
||||||
string lnZusatz = string.Format("LADG.CargoTypeZusatz_{0}", i + 1);
|
string lnZusatz = string.Format("LADG.CargoTypeZusatz_{0}", i + 1);
|
||||||
|
|
||||||
LADG ladg = ladgMessage.GetSublistElementWithIdentifier((i + 1).ToString()) as LADG;
|
if (!(ladgMessage.GetSublistElementWithIdentifier((i + 1).ToString()) is LADG ladg))
|
||||||
if (ladg == null)
|
|
||||||
{
|
{
|
||||||
ladg = new LADG();
|
ladg = new LADG();
|
||||||
ladg.Identifier = (i + 1).ToString();
|
ladg.Identifier = (i + 1).ToString();
|
||||||
@ -2189,6 +2180,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
ladg.CargoCodeNST = reader.ReadText(lnType);
|
ladg.CargoCodeNST = reader.ReadText(lnType);
|
||||||
// Cargo Type Freitext in DK
|
// Cargo Type Freitext in DK
|
||||||
|
|
||||||
if(reader.Mode == ExcelReader.CountryMode.DK)
|
if(reader.Mode == ExcelReader.CountryMode.DK)
|
||||||
{
|
{
|
||||||
reader.Conf.ConfirmText(lnType, ladg.CargoCodeNST, ladg.CargoCodeNST.IsNullOrEmpty() ? ExcelReader.ReadState.WARN : ExcelReader.ReadState.OK);
|
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.CargoNumberOfItems = (int?) reader.ReadNumber(lnCNOI);
|
||||||
ladg.CargoGrossQuantity_TNE = reader.ReadNumber(lnCGQ);
|
ladg.CargoGrossQuantity_TNE = reader.ReadNumber(lnCGQ);
|
||||||
|
ladg.PortOfLoading = reader.ReadLoCode(lnLoad);
|
||||||
ladg.PortOfLoading = reader.ReadText(lnLoad);
|
ladg.PortOfDischarge = reader.ReadLoCode(lnDis);
|
||||||
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);
|
|
||||||
|
|
||||||
// dont save empty element
|
// dont save empty element
|
||||||
if (ladg.IsNew && !ladg.CargoHandlingType.HasValue)
|
if (ladg.IsNew && !ladg.CargoHandlingType.HasValue)
|
||||||
@ -2258,7 +2240,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region CREW
|
#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);
|
Message crewMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.CREW);
|
||||||
crewMessage.DeleteElements();
|
crewMessage.DeleteElements();
|
||||||
@ -2281,8 +2263,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
if (!lastName.IsNullOrEmpty() || !firstName.IsNullOrEmpty())
|
if (!lastName.IsNullOrEmpty() || !firstName.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
CREW crew = crewMessage.GetSublistElementWithIdentifier((i + 1).ToString()) as CREW;
|
if (!(crewMessage.GetSublistElementWithIdentifier((i + 1).ToString()) is CREW crew))
|
||||||
if (crew == null)
|
|
||||||
{
|
{
|
||||||
crew = new CREW();
|
crew = new CREW();
|
||||||
crew.Identifier = (i + 1).ToString();
|
crew.Identifier = (i + 1).ToString();
|
||||||
@ -2332,8 +2313,7 @@ namespace bsmd.ExcelReadService
|
|||||||
string lastName = reader.ReadText(crewLastName);
|
string lastName = reader.ReadText(crewLastName);
|
||||||
if (!lastName.IsNullOrEmpty())
|
if (!lastName.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
CREWD crew = crewMessage.GetSublistElementWithIdentifier((i + 1).ToString()) as CREWD;
|
if (!(crewMessage.GetSublistElementWithIdentifier((i + 1).ToString()) is CREWD crew))
|
||||||
if (crew == null)
|
|
||||||
{
|
{
|
||||||
crew = new CREWD();
|
crew = new CREWD();
|
||||||
crew.Identifier = (i + 1).ToString();
|
crew.Identifier = (i + 1).ToString();
|
||||||
@ -2371,7 +2351,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
#region PAS
|
#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);
|
Message pasMessage = Util.GetMessageWithType(messages, messageCore, Message.NotificationClass.PAS);
|
||||||
pasMessage.DeleteElements();
|
pasMessage.DeleteElements();
|
||||||
@ -2396,8 +2376,7 @@ namespace bsmd.ExcelReadService
|
|||||||
|
|
||||||
if (!lastName.IsNullOrEmpty() || !firstName.IsNullOrEmpty())
|
if (!lastName.IsNullOrEmpty() || !firstName.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
PAS pas = pasMessage.GetSublistElementWithIdentifier((i + 1).ToString()) as PAS;
|
if (!(pasMessage.GetSublistElementWithIdentifier((i + 1).ToString()) is PAS pas))
|
||||||
if (pas == null)
|
|
||||||
{
|
{
|
||||||
pas = new PAS();
|
pas = new PAS();
|
||||||
pas.Identifier = (i + 1).ToString();
|
pas.Identifier = (i + 1).ToString();
|
||||||
@ -2448,8 +2427,7 @@ namespace bsmd.ExcelReadService
|
|||||||
string lastName = reader.ReadText(pasLastName);
|
string lastName = reader.ReadText(pasLastName);
|
||||||
if (!lastName.IsNullOrEmpty())
|
if (!lastName.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
PASD pas = pasMessage.GetSublistElementWithIdentifier((i + 1).ToString()) as PASD;
|
if (!(pasMessage.GetSublistElementWithIdentifier((i + 1).ToString()) is PASD pas))
|
||||||
if (pas == null)
|
|
||||||
{
|
{
|
||||||
pas = new PASD();
|
pas = new PASD();
|
||||||
pas.Identifier = (i + 1).ToString();
|
pas.Identifier = (i + 1).ToString();
|
||||||
|
|||||||
@ -95,7 +95,7 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public bool IsConnected
|
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)
|
if (statMessage?.Elements.Count > 0)
|
||||||
{
|
{
|
||||||
STAT stat = statMessage.Elements[0] as STAT;
|
if (statMessage.Elements[0] is STAT stat)
|
||||||
if (stat != null)
|
|
||||||
return stat.ShipName;
|
return stat.ShipName;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
[assembly: AssemblyCompany("schick Informatik")]
|
[assembly: AssemblyCompany("schick Informatik")]
|
||||||
[assembly: AssemblyProduct("BSMD NSW interface")]
|
[assembly: AssemblyProduct("BSMD NSW interface")]
|
||||||
[assembly: AssemblyInformationalVersion("5.1.3")]
|
[assembly: AssemblyInformationalVersion("5.1.4")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2014-2018 schick Informatik")]
|
[assembly: AssemblyCopyright("Copyright © 2014-2019 schick Informatik")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
@ -1,4 +1,4 @@
|
|||||||
using System.Reflection;
|
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