Excel sheet import

This commit is contained in:
Daniel Schick 2022-02-21 09:43:44 +01:00
parent dd2c8723b0
commit f68f4e56d9
13 changed files with 325 additions and 54 deletions

View File

@ -26,10 +26,10 @@
<value>1000</value> <value>1000</value>
</setting> </setting>
<setting name="LockingServerAddress" serializeAs="String"> <setting name="LockingServerAddress" serializeAs="String">
<value>http://heupferd/bsmd.LockingService/LockingService.svc</value> <value>http://192.168.2.24/LockingService/LockingService.svc</value>
</setting> </setting>
<setting name="ConnectionString" serializeAs="String"> <setting name="ConnectionString" serializeAs="String">
<value>Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=E:\DATA\DB\NSW.MDF;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False</value> <value>Initial Catalog=nswtest;Data Source=192.168.2.24\SQLEXPRESS;Uid=dfuser;pwd=dfpasswd;Persist Security Info=False;Connection Reset=false</value>
</setting> </setting>
</ENI2.Properties.Settings> </ENI2.Properties.Settings>
</applicationSettings> </applicationSettings>

View File

@ -18,7 +18,7 @@
<NuGetPackageImportStamp> <NuGetPackageImportStamp>
</NuGetPackageImportStamp> </NuGetPackageImportStamp>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
<PublishUrl>eni2.publish\</PublishUrl> <PublishUrl>eni_test\</PublishUrl>
<Install>true</Install> <Install>true</Install>
<InstallFrom>Web</InstallFrom> <InstallFrom>Web</InstallFrom>
<UpdateEnabled>true</UpdateEnabled> <UpdateEnabled>true</UpdateEnabled>
@ -28,9 +28,9 @@
<UpdatePeriodically>false</UpdatePeriodically> <UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired> <UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions> <MapFileExtensions>true</MapFileExtensions>
<InstallUrl>http://192.168.2.24/eni2.publish/</InstallUrl> <InstallUrl>http://192.168.2.24/eni_test/</InstallUrl>
<SupportUrl>http://www.textbausteine.net/</SupportUrl> <SupportUrl>http://www.textbausteine.net/</SupportUrl>
<ProductName>ENI</ProductName> <ProductName>ENI Testversion</ProductName>
<PublisherName>Informatikbüro Daniel Schick</PublisherName> <PublisherName>Informatikbüro Daniel Schick</PublisherName>
<SuiteName>NSW</SuiteName> <SuiteName>NSW</SuiteName>
<MinimumRequiredVersion>5.4.0.0</MinimumRequiredVersion> <MinimumRequiredVersion>5.4.0.0</MinimumRequiredVersion>
@ -86,7 +86,7 @@
<ApplicationManifest>Properties\app.manifest</ApplicationManifest> <ApplicationManifest>Properties\app.manifest</ApplicationManifest>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<ManifestCertificateThumbprint>9B5725EAD90F2E06094631407417EB2554E88941</ManifestCertificateThumbprint> <ManifestCertificateThumbprint>94D98790E3B6C4CC9F4B57C8FD305E3225894DF8</ManifestCertificateThumbprint>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<SignManifests>true</SignManifests> <SignManifests>true</SignManifests>

View File

@ -316,6 +316,32 @@ namespace ENI2.Excel
return result; return result;
} }
internal byte? ReadHazards(string lookup)
{
string val = this.ReadText(lookup);
byte? result = null;
if(val != null)
{
if (val.Equals("p", StringComparison.OrdinalIgnoreCase)) return 0;
if (val.Equals("s", StringComparison.OrdinalIgnoreCase)) return 1;
if (val.Equals("s/p", StringComparison.OrdinalIgnoreCase)) return 2;
}
return result;
}
internal byte? ReadHazardClass(string lookup)
{
string val = this.ReadText(lookup);
byte? result = null;
if(val != null)
{
if (val.Equals("a", StringComparison.OrdinalIgnoreCase)) return 0;
if (val.Equals("b", StringComparison.OrdinalIgnoreCase)) return 1;
if (val.Equals("a and b", StringComparison.OrdinalIgnoreCase)) return 2; // TODO make this more flexible
}
return result;
}
internal DateTime? ReadBirthDate(string lookup) internal DateTime? ReadBirthDate(string lookup)
{ {
DateTime? result = this.ReadDate(lookup); DateTime? result = this.ReadDate(lookup);

View File

@ -87,7 +87,7 @@ namespace ENI2.Excel
if ((message.MessageNotificationClass == Message.NotificationClass.SERV) && notificationClasses.Contains(Message.NotificationClass.SERV)) if ((message.MessageNotificationClass == Message.NotificationClass.SERV) && notificationClasses.Contains(Message.NotificationClass.SERV))
{ if (ScanSERV(message, reader)) SaveMessage(message); continue; } { if (ScanSERV(message, reader)) SaveMessage(message); continue; }
if ((message.MessageNotificationClass == Message.NotificationClass.STAT) && notificationClasses.Contains(Message.NotificationClass.STAT)) if ((message.MessageNotificationClass == Message.NotificationClass.STAT) && notificationClasses.Contains(Message.NotificationClass.STAT))
{ if (ScanSTAT(message, messageCore, reader)) SaveMessage(message); continue; } { if (ScanSTAT(message, messageCore, messages, reader)) SaveMessage(message); continue; }
if ((message.MessageNotificationClass == Message.NotificationClass.STO) && notificationClasses.Contains(Message.NotificationClass.STO)) if ((message.MessageNotificationClass == Message.NotificationClass.STO) && notificationClasses.Contains(Message.NotificationClass.STO))
{ if (ScanSTO(message, reader)) SaveMessage(message); continue; } { if (ScanSTO(message, reader)) SaveMessage(message); continue; }
if ((message.MessageNotificationClass == Message.NotificationClass.TIEFA) && notificationClasses.Contains(Message.NotificationClass.TIEFA)) if ((message.MessageNotificationClass == Message.NotificationClass.TIEFA) && notificationClasses.Contains(Message.NotificationClass.TIEFA))
@ -100,6 +100,8 @@ namespace ENI2.Excel
{ if (ScanTOWD(message, reader)) SaveMessage(message); continue; } { if (ScanTOWD(message, reader)) SaveMessage(message); continue; }
if ((message.MessageNotificationClass == Message.NotificationClass.WAS) && notificationClasses.Contains(Message.NotificationClass.WAS)) if ((message.MessageNotificationClass == Message.NotificationClass.WAS) && notificationClasses.Contains(Message.NotificationClass.WAS))
{ if (ScanWAS(message, reader)) SaveMessage(message); continue; } { if (ScanWAS(message, reader)) SaveMessage(message); continue; }
if((message.MessageNotificationClass == Message.NotificationClass.WAS_RCPT) && notificationClasses.Contains(Message.NotificationClass.WAS_RCPT))
{ if (ScanWAS_RCPT(message, reader)) SaveMessage(message); continue; }
} }
@ -187,6 +189,8 @@ namespace ENI2.Excel
ScanMessage(tiefa, reader); ScanMessage(tiefa, reader);
if (!tiefa.DraughtUponArrival_DMT.HasValue && tiefaMessage.IsNew) if (!tiefa.DraughtUponArrival_DMT.HasValue && tiefaMessage.IsNew)
return false; return false;
if (tiefa.DraughtUponArrival_DMT.HasValue)
tiefa.DraughtUponArrival_DMT = tiefa.DraughtUponArrival_DMT.Value * 10; // m to dm
return true; return true;
} }
@ -206,6 +210,8 @@ namespace ENI2.Excel
ScanMessage(tiefd, reader); ScanMessage(tiefd, reader);
if (!tiefd.DraughtUponDeparture_DMT.HasValue && tiefdMessage.IsNew) if (!tiefd.DraughtUponDeparture_DMT.HasValue && tiefdMessage.IsNew)
return false; return false;
if (tiefd.DraughtUponDeparture_DMT.HasValue)
tiefd.DraughtUponDeparture_DMT = tiefd.DraughtUponDeparture_DMT.Value * 10; // m to dm
return true; return true;
} }
@ -382,7 +388,7 @@ namespace ENI2.Excel
string imdg_portOfLoading = string.Format("HAZA.IMDG.PortOfLoading_{0}", i); string imdg_portOfLoading = string.Format("HAZA.IMDG.PortOfLoading_{0}", i);
string imdg_portOfDischarge = string.Format("HAZA.IMDG.PortOfDischarge_{0}", i); string imdg_portOfDischarge = string.Format("HAZA.IMDG.PortOfDischarge_{0}", i);
string imdg_containerNumber = string.Format("HAZA.IMDG.ContainerNumber_{0}", i); string imdg_containerNumber = string.Format("HAZA.IMDG.ContainerNumber_{0}", i);
string imdg_remarks = string.Format("HAZA.IMDG.Remarks_{0}", i);
string unNumber = reader.ReadText(imdg_unno); string unNumber = reader.ReadText(imdg_unno);
if(unNumber.IsNullOrEmpty()) // if unnumber is not set ignore this row if(unNumber.IsNullOrEmpty()) // if unnumber is not set ignore this row
@ -417,6 +423,7 @@ namespace ENI2.Excel
imdgPosition.PortOfLoading = reader.ReadText(imdg_portOfLoading); imdgPosition.PortOfLoading = reader.ReadText(imdg_portOfLoading);
imdgPosition.PortOfDischarge = reader.ReadText(imdg_portOfDischarge); imdgPosition.PortOfDischarge = reader.ReadText(imdg_portOfDischarge);
imdgPosition.ContainerNumber = reader.ReadText(imdg_containerNumber); imdgPosition.ContainerNumber = reader.ReadText(imdg_containerNumber);
imdgPosition.Remarks = reader.ReadText(imdg_remarks);
} }
#endregion #endregion
@ -432,6 +439,9 @@ namespace ENI2.Excel
string ibc_stowagePosition = string.Format("HAZA.IBC.StowagePosition_{0}", i); string ibc_stowagePosition = string.Format("HAZA.IBC.StowagePosition_{0}", i);
string ibc_portOfLoading = string.Format("HAZA.IBC.PortOfLoading_{0}", i); string ibc_portOfLoading = string.Format("HAZA.IBC.PortOfLoading_{0}", i);
string ibc_portOfDischarge = string.Format("HAZA.IBC.PortOfDischarge_{0}", i); string ibc_portOfDischarge = string.Format("HAZA.IBC.PortOfDischarge_{0}", i);
string ibc_hazards = string.Format("HAZA.IBC.Hazards_{0}", i);
string ibc_specrefs = string.Format("HAZA.IBC.SpecRef15_19_{0}", i);
string ibc_remarks = string.Format("HAZA.IBC.Remarks_{0}", i);
string productName = reader.ReadText(ibc_productName); string productName = reader.ReadText(ibc_productName);
if (productName.IsNullOrEmpty()) continue; if (productName.IsNullOrEmpty()) continue;
@ -474,6 +484,9 @@ namespace ENI2.Excel
ibcPosition.StowagePosition = reader.ReadText(ibc_stowagePosition); ibcPosition.StowagePosition = reader.ReadText(ibc_stowagePosition);
ibcPosition.PortOfLoading = reader.ReadText(ibc_portOfLoading); ibcPosition.PortOfLoading = reader.ReadText(ibc_portOfLoading);
ibcPosition.PortOfDischarge = reader.ReadText(ibc_portOfDischarge); ibcPosition.PortOfDischarge = reader.ReadText(ibc_portOfDischarge);
ibcPosition.Hazards = reader.ReadHazards(ibc_hazards);
ibcPosition.SpecRef15_19 = reader.ReadBoolean(ibc_specrefs);
ibcPosition.Remarks = reader.ReadText(ibc_remarks);
} }
#endregion #endregion
@ -487,6 +500,9 @@ namespace ENI2.Excel
string igc_stowagePosition = string.Format("HAZA.IGC.StowagePosition_{0}", i); string igc_stowagePosition = string.Format("HAZA.IGC.StowagePosition_{0}", i);
string igc_portOfLoading = string.Format("HAZA.IGC.PortOfLoading_{0}", i); string igc_portOfLoading = string.Format("HAZA.IGC.PortOfLoading_{0}", i);
string igc_portOfDischarge = string.Format("HAZA.IGC.PortOfDischarge_{0}", i); string igc_portOfDischarge = string.Format("HAZA.IGC.PortOfDischarge_{0}", i);
string igc_unnumber = string.Format("HAZA.IGC.UNNumber_{0}", i);
string igc_imoclass = string.Format("HAZA.IGC.IMOClass_{0}", i);
string igc_remarks = string.Format("HAZA.IGC.Remarks_{0}", i);
string productName = reader.ReadText(igc_productName); string productName = reader.ReadText(igc_productName);
if (productName.IsNullOrEmpty()) continue; if (productName.IsNullOrEmpty()) continue;
@ -506,6 +522,9 @@ namespace ENI2.Excel
igcPosition.StowagePosition = reader.ReadText(igc_stowagePosition); igcPosition.StowagePosition = reader.ReadText(igc_stowagePosition);
igcPosition.PortOfLoading = reader.ReadText(igc_portOfLoading); igcPosition.PortOfLoading = reader.ReadText(igc_portOfLoading);
igcPosition.PortOfDischarge = reader.ReadText(igc_portOfDischarge); igcPosition.PortOfDischarge = reader.ReadText(igc_portOfDischarge);
igcPosition.UNNumber = reader.ReadText(igc_unnumber);
igcPosition.IMOClass = reader.ReadText(igc_imoclass);
igcPosition.Remarks = reader.ReadText(igc_remarks);
} }
#endregion #endregion
@ -520,6 +539,10 @@ namespace ENI2.Excel
string imsbc_stowagePosition = string.Format("HAZA.IMSBC.StowagePosition_{0}", i); string imsbc_stowagePosition = string.Format("HAZA.IMSBC.StowagePosition_{0}", i);
string imsbc_portOfLoading = string.Format("HAZA.IMSBC.PortOfLoading_{0}", i); string imsbc_portOfLoading = string.Format("HAZA.IMSBC.PortOfLoading_{0}", i);
string imsbc_portOfDischarge = string.Format("HAZA.IMSBC.PortOfDischarge_{0}", i); string imsbc_portOfDischarge = string.Format("HAZA.IMSBC.PortOfDischarge_{0}", i);
string imsbc_hazardclass = string.Format("HAZA.IMSBC.IMOHazardClass_{0}", i);
string imsbc_unnumber = string.Format("HAZA.IMSBC.UNNumber_{0}", i);
string imsbc_imoclass = string.Format("HAZA.IMSBC.IMOClass_{0}", i);
string imsbc_remarks = string.Format("HAZA.IMSBC.Remarks_{0}", i);
string bcsn = reader.ReadText(imsbc_bcsn); string bcsn = reader.ReadText(imsbc_bcsn);
if (bcsn.IsNullOrEmpty()) continue; if (bcsn.IsNullOrEmpty()) continue;
@ -540,6 +563,10 @@ namespace ENI2.Excel
imsbcPosition.StowagePosition = reader.ReadText(imsbc_stowagePosition); imsbcPosition.StowagePosition = reader.ReadText(imsbc_stowagePosition);
imsbcPosition.PortOfLoading = reader.ReadText(imsbc_portOfLoading); imsbcPosition.PortOfLoading = reader.ReadText(imsbc_portOfLoading);
imsbcPosition.PortOfDischarge = reader.ReadText(imsbc_portOfDischarge); imsbcPosition.PortOfDischarge = reader.ReadText(imsbc_portOfDischarge);
imsbcPosition.IMOHazardClass = reader.ReadHazardClass(imsbc_hazardclass);
imsbcPosition.UNNumber = reader.ReadText(imsbc_unnumber);
imsbcPosition.IMOClass = reader.ReadText(imsbc_imoclass);
imsbcPosition.Remarks = reader.ReadText(imsbc_remarks);
} }
#endregion #endregion
@ -554,6 +581,7 @@ namespace ENI2.Excel
string marpol_stowagePosition = string.Format("HAZA.MARPOL.StowagePosition_{0}", i); string marpol_stowagePosition = string.Format("HAZA.MARPOL.StowagePosition_{0}", i);
string marpol_portOfLoading = string.Format("HAZA.MARPOL.PortOfLoading_{0}", i); string marpol_portOfLoading = string.Format("HAZA.MARPOL.PortOfLoading_{0}", i);
string marpol_portOfDischarge = string.Format("HAZA.MARPOL.PortOfDischarge_{0}", i); string marpol_portOfDischarge = string.Format("HAZA.MARPOL.PortOfDischarge_{0}", i);
string marpol_remarks = string.Format("HAZA.MARPOL.Remarks_{0}", i);
string name = reader.ReadText(marpol_name); string name = reader.ReadText(marpol_name);
if (name.IsNullOrEmpty()) continue; if (name.IsNullOrEmpty()) continue;
@ -587,6 +615,7 @@ namespace ENI2.Excel
marpolPosition.StowagePosition = reader.ReadText(marpol_stowagePosition); marpolPosition.StowagePosition = reader.ReadText(marpol_stowagePosition);
marpolPosition.PortOfLoading = reader.ReadText(marpol_portOfLoading); marpolPosition.PortOfLoading = reader.ReadText(marpol_portOfLoading);
marpolPosition.PortOfDischarge = reader.ReadText(marpol_portOfDischarge); marpolPosition.PortOfDischarge = reader.ReadText(marpol_portOfDischarge);
marpolPosition.Remarks = reader.ReadText(marpol_remarks);
} }
#endregion #endregion
@ -648,6 +677,7 @@ namespace ENI2.Excel
string imdg_portOfLoading = string.Format("HAZD.IMDG.PortOfLoading_{0}", i); string imdg_portOfLoading = string.Format("HAZD.IMDG.PortOfLoading_{0}", i);
string imdg_portOfDischarge = string.Format("HAZD.IMDG.PortOfDischarge_{0}", i); string imdg_portOfDischarge = string.Format("HAZD.IMDG.PortOfDischarge_{0}", i);
string imdg_containerNumber = string.Format("HAZD.IMDG.ContainerNumber_{0}", i); string imdg_containerNumber = string.Format("HAZD.IMDG.ContainerNumber_{0}", i);
string imdg_remarks = string.Format("HAZD.IMDG.Remarks_{0}", i);
string unNumber = reader.ReadText(imdg_unno); string unNumber = reader.ReadText(imdg_unno);
if (unNumber.IsNullOrEmpty()) continue; // if unnumber is not set ignore this row if (unNumber.IsNullOrEmpty()) continue; // if unnumber is not set ignore this row
@ -679,6 +709,7 @@ namespace ENI2.Excel
imdgPosition.PortOfLoading = reader.ReadText(imdg_portOfLoading); imdgPosition.PortOfLoading = reader.ReadText(imdg_portOfLoading);
imdgPosition.PortOfDischarge = reader.ReadText(imdg_portOfDischarge); imdgPosition.PortOfDischarge = reader.ReadText(imdg_portOfDischarge);
imdgPosition.ContainerNumber = reader.ReadText(imdg_containerNumber); imdgPosition.ContainerNumber = reader.ReadText(imdg_containerNumber);
imdgPosition.Remarks = reader.ReadText(imdg_remarks);
} }
#endregion #endregion
@ -694,6 +725,9 @@ namespace ENI2.Excel
string ibc_stowagePosition = string.Format("HAZD.IBC.StowagePosition_{0}", i); string ibc_stowagePosition = string.Format("HAZD.IBC.StowagePosition_{0}", i);
string ibc_portOfLoading = string.Format("HAZD.IBC.PortOfLoading_{0}", i); string ibc_portOfLoading = string.Format("HAZD.IBC.PortOfLoading_{0}", i);
string ibc_portOfDischarge = string.Format("HAZD.IBC.PortOfDischarge_{0}", i); string ibc_portOfDischarge = string.Format("HAZD.IBC.PortOfDischarge_{0}", i);
string ibc_hazards = string.Format("HAZD.IBC.Hazards_{0}", i);
string ibc_specref = string.Format("HAZD.IBC.SpecRef15_19_{0}", i);
string ibc_remarks = string.Format("HAZD.IBC.Remarks_{0}", i);
string productName = reader.ReadText(ibc_productName); string productName = reader.ReadText(ibc_productName);
if (productName.IsNullOrEmpty()) continue; if (productName.IsNullOrEmpty()) continue;
@ -736,6 +770,9 @@ namespace ENI2.Excel
ibcPosition.StowagePosition = reader.ReadText(ibc_stowagePosition); ibcPosition.StowagePosition = reader.ReadText(ibc_stowagePosition);
ibcPosition.PortOfLoading = reader.ReadText(ibc_portOfLoading); ibcPosition.PortOfLoading = reader.ReadText(ibc_portOfLoading);
ibcPosition.PortOfDischarge = reader.ReadText(ibc_portOfDischarge); ibcPosition.PortOfDischarge = reader.ReadText(ibc_portOfDischarge);
ibcPosition.Hazards = reader.ReadHazards(ibc_hazards);
ibcPosition.SpecRef15_19 = reader.ReadBoolean(ibc_specref);
ibcPosition.Remarks = reader.ReadText(ibc_remarks);
} }
#endregion #endregion
@ -749,6 +786,9 @@ namespace ENI2.Excel
string igc_stowagePosition = string.Format("HAZD.IGC.StowagePosition_{0}", i); string igc_stowagePosition = string.Format("HAZD.IGC.StowagePosition_{0}", i);
string igc_portOfLoading = string.Format("HAZD.IGC.PortOfLoading_{0}", i); string igc_portOfLoading = string.Format("HAZD.IGC.PortOfLoading_{0}", i);
string igc_portOfDischarge = string.Format("HAZD.IGC.PortOfDischarge_{0}", i); string igc_portOfDischarge = string.Format("HAZD.IGC.PortOfDischarge_{0}", i);
string igc_unnumber = string.Format("HAZD.IGC.UNNumber_{0}", i);
string igc_imoclass = string.Format("HAZD.IGC.IMOClass_{0}", i);
string igc_remarks = string.Format("HAZD.IGC.Remarks_{0}", i);
string productName = reader.ReadText(igc_productName); string productName = reader.ReadText(igc_productName);
if (productName.IsNullOrEmpty()) continue; if (productName.IsNullOrEmpty()) continue;
@ -768,6 +808,9 @@ namespace ENI2.Excel
igcPosition.StowagePosition = reader.ReadText(igc_stowagePosition); igcPosition.StowagePosition = reader.ReadText(igc_stowagePosition);
igcPosition.PortOfLoading = reader.ReadText(igc_portOfLoading); igcPosition.PortOfLoading = reader.ReadText(igc_portOfLoading);
igcPosition.PortOfDischarge = reader.ReadText(igc_portOfDischarge); igcPosition.PortOfDischarge = reader.ReadText(igc_portOfDischarge);
igcPosition.UNNumber = reader.ReadText(igc_unnumber);
igcPosition.IMOClass = reader.ReadText(igc_imoclass);
igcPosition.Remarks = reader.ReadText(igc_remarks);
} }
#endregion #endregion
@ -782,6 +825,10 @@ namespace ENI2.Excel
string imsbc_stowagePosition = string.Format("HAZD.IMSBC.StowagePosition_{0}", i); string imsbc_stowagePosition = string.Format("HAZD.IMSBC.StowagePosition_{0}", i);
string imsbc_portOfLoading = string.Format("HAZD.IMSBC.PortOfLoading_{0}", i); string imsbc_portOfLoading = string.Format("HAZD.IMSBC.PortOfLoading_{0}", i);
string imsbc_portOfDischarge = string.Format("HAZD.IMSBC.PortOfDischarge_{0}", i); string imsbc_portOfDischarge = string.Format("HAZD.IMSBC.PortOfDischarge_{0}", i);
string imsbc_hazardclass = string.Format("HAZD.IMSBC.IMOHazardClass_{0}", i);
string imsbc_unnumber = string.Format("HAZD.IMSBC.UNNumber_{0}", i);
string imsbc_imoclass = string.Format("HAZD.IMSBC.IMOClass_{0}", i);
string imsbc_remarks = string.Format("HAZD.IMSBC.Remarks_{0}", i);
string bcsn = reader.ReadText(imsbc_bcsn); string bcsn = reader.ReadText(imsbc_bcsn);
if (bcsn.IsNullOrEmpty()) continue; if (bcsn.IsNullOrEmpty()) continue;
@ -802,6 +849,10 @@ namespace ENI2.Excel
imsbcPosition.StowagePosition = reader.ReadText(imsbc_stowagePosition); imsbcPosition.StowagePosition = reader.ReadText(imsbc_stowagePosition);
imsbcPosition.PortOfLoading = reader.ReadText(imsbc_portOfLoading); imsbcPosition.PortOfLoading = reader.ReadText(imsbc_portOfLoading);
imsbcPosition.PortOfDischarge = reader.ReadText(imsbc_portOfDischarge); imsbcPosition.PortOfDischarge = reader.ReadText(imsbc_portOfDischarge);
imsbcPosition.IMOHazardClass = reader.ReadHazardClass(imsbc_hazardclass);
imsbcPosition.UNNumber = reader.ReadText(imsbc_unnumber);
imsbcPosition.IMOClass = reader.ReadText(imsbc_imoclass);
imsbcPosition.Remarks = reader.ReadText(imsbc_remarks);
} }
#endregion #endregion
@ -816,6 +867,7 @@ namespace ENI2.Excel
string marpol_stowagePosition = string.Format("HAZD.MARPOL.StowagePosition_{0}", i); string marpol_stowagePosition = string.Format("HAZD.MARPOL.StowagePosition_{0}", i);
string marpol_portOfLoading = string.Format("HAZD.MARPOL.PortOfLoading_{0}", i); string marpol_portOfLoading = string.Format("HAZD.MARPOL.PortOfLoading_{0}", i);
string marpol_portOfDischarge = string.Format("HAZD.MARPOL.PortOfDischarge_{0}", i); string marpol_portOfDischarge = string.Format("HAZD.MARPOL.PortOfDischarge_{0}", i);
string marpol_remarks = string.Format("HAZD.MARPOL.Remarks_{0}", i);
string name = reader.ReadText(marpol_name); string name = reader.ReadText(marpol_name);
if (name.IsNullOrEmpty()) continue; if (name.IsNullOrEmpty()) continue;
@ -848,6 +900,7 @@ namespace ENI2.Excel
marpolPosition.StowagePosition = reader.ReadText(marpol_stowagePosition); marpolPosition.StowagePosition = reader.ReadText(marpol_stowagePosition);
marpolPosition.PortOfLoading = reader.ReadText(marpol_portOfLoading); marpolPosition.PortOfLoading = reader.ReadText(marpol_portOfLoading);
marpolPosition.PortOfDischarge = reader.ReadText(marpol_portOfDischarge); marpolPosition.PortOfDischarge = reader.ReadText(marpol_portOfDischarge);
marpolPosition.Remarks = reader.ReadText(marpol_remarks);
} }
#endregion #endregion
@ -886,7 +939,7 @@ namespace ENI2.Excel
#region STAT #region STAT
private static bool ScanSTAT(Message statMessage, MessageCore messageCore, ExcelReader reader) private static bool ScanSTAT(Message statMessage, MessageCore messageCore, List<Message> messages, ExcelReader reader)
{ {
if(statMessage.Elements.Count == 0) if(statMessage.Elements.Count == 0)
{ {
@ -897,8 +950,22 @@ namespace ENI2.Excel
STAT stat = statMessage.Elements[0] as STAT; STAT stat = statMessage.Elements[0] as STAT;
ScanMessage(stat, reader); ScanMessage(stat, reader);
foreach(Message preMessage in messages)
{
if(preMessage.MessageNotificationClass == Message.NotificationClass.PRE72H)
{
if(preMessage.Elements.Count > 0)
{
PRE72H pre72h = preMessage.Elements[0] as PRE72H;
pre72h.Tanker = stat.IsTanker;
SaveMessage(preMessage);
}
}
}
stat.PortOfRegistry = reader.ReadLoCode("STAT.PortOfRegistry"); stat.PortOfRegistry = reader.ReadLoCode("STAT.PortOfRegistry");
stat.Flag = reader.ReadNationality("STAT.Flag"); if (stat.PortOfRegistry.Length == 5)
stat.Flag = stat.PortOfRegistry.Substring(0, 2);
stat.MMSINumber = reader.ReadTextNoWhitespace("STAT.MMSINumber"); stat.MMSINumber = reader.ReadTextNoWhitespace("STAT.MMSINumber");
stat.CallSign = reader.ReadTextNoWhitespace("STAT.CallSign"); stat.CallSign = reader.ReadTextNoWhitespace("STAT.CallSign");
stat.ISMCompanyId = reader.ReadTextNoWhitespace("STAT.ISMCompanyId"); stat.ISMCompanyId = reader.ReadTextNoWhitespace("STAT.ISMCompanyId");
@ -1062,6 +1129,9 @@ namespace ENI2.Excel
was.WasteDisposalDelivery = reader.ReadDelivery("WAS.WasteDisposalDelivery"); was.WasteDisposalDelivery = reader.ReadDelivery("WAS.WasteDisposalDelivery");
was.LastWasteDisposalPort = reader.ReadLoCode("WAS.LastWasteDisposalPort"); was.LastWasteDisposalPort = reader.ReadLoCode("WAS.LastWasteDisposalPort");
was.NextWasteDisposalPort = reader.ReadLoCode("WAS.NextWasteDisposalPort");
was.ConfirmationOfCorrectness = true; // wir haben immer Recht (NSW7.0)
was.ConfirmationOfSufficiency = true;
string wastedispServProvName = reader.ReadText("WAS.WasteDisposalServiceProviderName"); string wastedispServProvName = reader.ReadText("WAS.WasteDisposalServiceProviderName");
if (wastedispServProvName != null) if (wastedispServProvName != null)
@ -1077,7 +1147,7 @@ namespace ENI2.Excel
was.WasteDisposalServiceProvider[0].WasteDisposalDelivery = was.WasteDisposalDelivery; was.WasteDisposalServiceProvider[0].WasteDisposalDelivery = was.WasteDisposalDelivery;
} }
// Waste 1 - 15 // Waste 1 - 25
for (int i = 1; i <= was.NumberOfExcelRows; i++) for (int i = 1; i <= was.NumberOfExcelRows; i++)
{ {
//string wastetype = string.Format("WAS.WasteType_{0}", i); //string wastetype = string.Format("WAS.WasteType_{0}", i);
@ -1088,7 +1158,6 @@ namespace ENI2.Excel
string wasteRetained = string.Format("WAS.WasteAmountRetained_MTQ_{0}", i); string wasteRetained = string.Format("WAS.WasteAmountRetained_MTQ_{0}", i);
string wastePort = string.Format("WAS.WasteDisposalPort_{0}", i); string wastePort = string.Format("WAS.WasteDisposalPort_{0}", i);
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);
if (!(was.GetSublistElementWithIdentifier(i.ToString()) is Waste waste)) if (!(was.GetSublistElementWithIdentifier(i.ToString()) is Waste waste))
{ {
@ -1140,7 +1209,7 @@ namespace ENI2.Excel
waste.WasteCapacity_MTQ = reader.ReadNumberDefaultZero(wasteCapacity); waste.WasteCapacity_MTQ = reader.ReadNumberDefaultZero(wasteCapacity);
waste.WasteAmountRetained_MTQ = reader.ReadNumberDefaultZero(wasteRetained); waste.WasteAmountRetained_MTQ = reader.ReadNumberDefaultZero(wasteRetained);
waste.WasteDisposalPort = reader.ReadLoCode(wastePort); waste.WasteDisposalPort = reader.ReadLoCode(wastePort); // aka RemainingWasteDisposalPort
if (waste.WasteDisposalPort.IsNullOrEmpty()) if (waste.WasteDisposalPort.IsNullOrEmpty())
{ {
@ -1148,7 +1217,6 @@ namespace ENI2.Excel
} }
waste.WasteAmountGeneratedTillNextPort_MTQ = reader.ReadNumberDefaultZero(amountGen); waste.WasteAmountGeneratedTillNextPort_MTQ = reader.ReadNumberDefaultZero(amountGen);
waste.WasteDisposedAtLastPort_MTQ = reader.ReadNumberDefaultZero(wasteDis);
if(i==15) // falls letzte Zeile leer, entfernen: Christin 22.3.17 if(i==15) // falls letzte Zeile leer, entfernen: Christin 22.3.17
{ {
@ -1169,6 +1237,77 @@ namespace ENI2.Excel
} }
#endregion #endregion
#region WAS_RCPT
private static bool ScanWAS_RCPT(Message was_rcptMessage, ExcelReader reader)
{
was_rcptMessage.DeleteElements();
for (int i = 1; i <= was_rcptMessage.NumberOfExcelRows; i++)
{
string wasrcpt_identNumber = string.Format("WAS_RCPT.WasteDeliveryReceipt_{0}.IdentificationNumber", i);
string wasrcpt_portreceptFacilityName = string.Format("WAS_RCPT.WasteDeliveryReceipt_{0}.PortReceptionFacilityName", i);
string wasrcpt_portreceptFacilityProviderName = string.Format("WAS_RCPT.WasteDeliveryReceipt_{0}.PortReceptionFacilityProviderName", i);
string wasrcpt_treatmentFacility = string.Format("WAS_RCPT.WasteDeliveryReceipt_{0}.TreatmentFacilityProviderName", i);
string wasrcpt_delFromDate = string.Format("WAS_RCPT.WasteDeliveryReceipt_{0}.WasteDeliveryDateFromDate", i);
string wasrcpt_delFromTime = string.Format("WAS_RCPT.WasteDeliveryReceipt_{0}.WasteDeliveryDateFromTime", i);
string wasrcpt_delToDate = string.Format("WAS_RCPT.WasteDeliveryReceipt_{0}.WasteDeliveryDateToDate", i);
string wasrcpt_delToTime = string.Format("WAS_RCPT.WasteDeliveryReceipt_{0}.WasteDeliveryDateToTime", i);
if (!(was_rcptMessage.GetSublistElementWithIdentifier((i).ToString()) is WAS_RCPT wasr))
{
wasr = new WAS_RCPT();
wasr.Identifier = (i).ToString();
wasr.MessageHeader = was_rcptMessage;
was_rcptMessage.Elements.Add(wasr);
}
else
{
wasr.DeleteElements();
}
wasr.IdentificationNumber = reader.ReadText(wasrcpt_identNumber);
wasr.PortReceptionFacilityName = reader.ReadText(wasrcpt_portreceptFacilityName);
wasr.PortReceptionFacilityProviderName = reader.ReadText(wasrcpt_portreceptFacilityProviderName);
string treatmentFacility = reader.ReadText(wasrcpt_treatmentFacility);
if(!treatmentFacility.IsNullOrEmpty())
{
TreatmentFacilityProvider tfp = new TreatmentFacilityProvider();
tfp.WAS_RCPT = wasr;
tfp.Identifier = "1";
wasr.TreatmentFacilityProvider.Add(tfp);
tfp.TreatmentFacilityProviderName = treatmentFacility;
}
wasr.WasteDeliveryDateFrom = reader.ReadDateTime(wasrcpt_delFromDate, wasrcpt_delFromTime);
wasr.WasteDeliveryDateTo = reader.ReadDateTime(wasrcpt_delToDate, wasrcpt_delToTime);
// read waste deliveries
for (int j = 1; j <= wasr.NumberOfExcelRows; j++)
{
string wtype = string.Format("WAS_RCPT.WasteDeliveryReceipt.WasteCode_{0}", j);
string wDescr = string.Format("WAS_RCPT.WasteDeliveryReceipt_{0}.WasteDescription_{1}", i, j);
string wAmount = string.Format("WAS_RCPT.WasteDeliveryReceipt_{0}.AmountWasteReceived_MTQ_{1}", i, j);
WasteReceived wr = new WasteReceived();
wr.WAS_RCPT = wasr;
wasr.WasteReceived.Add(wr);
wr.Identifier = j.ToString();
wr.WasteCode = reader.ReadText(wtype);
wr.WasteDescription = reader.ReadText(wDescr);
wr.AmountWasteReceived_MTQ = reader.ReadNumber(wAmount);
}
// only add message when an identification number was given
if (wasr.IdentificationNumber.IsNullOrEmpty())
was_rcptMessage.Elements.Remove(wasr);
}
return true;
}
#endregion
#region MDH #region MDH
private static bool ScanMDH(Message mdhMessage, List<Message> messages, MessageCore messageCore, ExcelReader reader) private static bool ScanMDH(Message mdhMessage, List<Message> messages, MessageCore messageCore, ExcelReader reader)
@ -1685,6 +1824,8 @@ namespace ENI2.Excel
string tLen = string.Format("TOWD.TowageOnDepartureLengthOverall_MTR_{0}", i); string tLen = string.Format("TOWD.TowageOnDepartureLengthOverall_MTR_{0}", i);
string tBeam = string.Format("TOWD.TowageOnDepartureBeam_MTR_{0}", i); string tBeam = string.Format("TOWD.TowageOnDepartureBeam_MTR_{0}", i);
string tOp = string.Format("TOWD.TowageOnDepartureOperatorCompanyName_{0}", i); string tOp = string.Format("TOWD.TowageOnDepartureOperatorCompanyName_{0}", i);
string tPoc = string.Format("TOWD.TowageOnArrivalPurposeOfCall_{0}", i);
string tgt = string.Format("TOWD.TowageOnArrivalGrossTonnage_{0}", i);
string towageName = reader.ReadText(tName); string towageName = reader.ReadText(tName);
if (towageName.IsNullOrEmpty()) continue; if (towageName.IsNullOrEmpty()) continue;
@ -1703,6 +1844,7 @@ namespace ENI2.Excel
towd.TowageOnDepartureLengthOverall_MTR = reader.ReadNumber(tLen); towd.TowageOnDepartureLengthOverall_MTR = reader.ReadNumber(tLen);
towd.TowageOnDepartureBeam_MTR = reader.ReadNumber(tBeam); towd.TowageOnDepartureBeam_MTR = reader.ReadNumber(tBeam);
towd.TowageOnDepartureOperatorCompanyName = reader.ReadText(tOp); towd.TowageOnDepartureOperatorCompanyName = reader.ReadText(tOp);
//towd.TowageOnD
} }
return true; return true;
} }
@ -1882,6 +2024,9 @@ namespace ENI2.Excel
{ {
crewMessage.DeleteElements(); crewMessage.DeleteElements();
bool? notificationSchengen = reader.ReadBoolean("CREW.NotificationSchengen");
bool? notificationPax = reader.ReadBoolean("CREW.NotificationPAX");
for (int i = 0; i < crewMessage.NumberOfExcelRows; i++) for (int i = 0; i < crewMessage.NumberOfExcelRows; i++)
{ {
string crewLastName = string.Format("CREW.CrewMemberLastName_{0}", i + 1); string crewLastName = string.Format("CREW.CrewMemberLastName_{0}", i + 1);
@ -1894,6 +2039,10 @@ namespace ENI2.Excel
string crewIdentDocType = string.Format("CREW.CrewMemberIdentityDocumentType_{0}", i + 1); string crewIdentDocType = string.Format("CREW.CrewMemberIdentityDocumentType_{0}", i + 1);
string crewIdentDocId = string.Format("CREW.CrewMemberIdentityDocumentId_{0}", i + 1); string crewIdentDocId = string.Format("CREW.CrewMemberIdentityDocumentId_{0}", i + 1);
string crewVisaNo = string.Format("CREW.CrewMemberVisaNumber_{0}", i + 1); string crewVisaNo = string.Format("CREW.CrewMemberVisaNumber_{0}", i + 1);
string crewIssuing = string.Format("CREW.CrewMemberIdentityDocumentIssuingState_{0}", i + 1);
string crewIdentDocExpiry = string.Format("CREW.CrewmemberIdentityDocumentExpiryDate_{0}", i + 1);
string crewCountryOfBirth = string.Format("CREW.CountryOfBirth_{0}", i + 1);
string crewEffects = string.Format("CREW.Effects_{0}", i + 1);
string lastName = reader.ReadText(crewLastName); string lastName = reader.ReadText(crewLastName);
string firstName = reader.ReadText(crewFirstName); string firstName = reader.ReadText(crewFirstName);
@ -1908,6 +2057,8 @@ namespace ENI2.Excel
crewMessage.Elements.Add(crew); crewMessage.Elements.Add(crew);
} }
crew.NotificationSchengen = notificationSchengen;
crew.NotificationPAX = notificationPax;
crew.CrewMemberLastName = lastName; crew.CrewMemberLastName = lastName;
crew.CrewMemberFirstName = firstName; crew.CrewMemberFirstName = firstName;
crew.CrewMemberGender = reader.ReadGender(crewGender); crew.CrewMemberGender = reader.ReadGender(crewGender);
@ -1918,6 +2069,10 @@ namespace ENI2.Excel
crew.CrewMemberIdentityDocumentType = reader.ReadIdentityDocumentType(crewIdentDocType); crew.CrewMemberIdentityDocumentType = reader.ReadIdentityDocumentType(crewIdentDocType);
crew.CrewMemberIdentityDocumentId = reader.ReadText(crewIdentDocId); crew.CrewMemberIdentityDocumentId = reader.ReadText(crewIdentDocId);
crew.CrewMemberVisaNumber = reader.ReadText(crewVisaNo); crew.CrewMemberVisaNumber = reader.ReadText(crewVisaNo);
crew.CrewMemberIdentityDocumentIssuingState = reader.ReadNationality(crewIssuing);
crew.CrewMemberIdentityDocumentExpiryDate = reader.ReadDate(crewIdentDocExpiry);
crew.CrewMemberCountryOfBirth = reader.ReadNationality(crewCountryOfBirth);
crew.Effects = reader.ReadText(crewEffects);
} }
} }
@ -1929,6 +2084,9 @@ namespace ENI2.Excel
crewdMessage.DeleteElements(); crewdMessage.DeleteElements();
// CREW DEPARTURE // CREW DEPARTURE
bool? notificationSchengen = reader.ReadBoolean("CREWD.NotificationSchengen");
bool? notificationPax = reader.ReadBoolean("CREWD.NotificationPAX");
for (int i = 0; i < crewdMessage.NumberOfExcelRows; i++) for (int i = 0; i < crewdMessage.NumberOfExcelRows; i++)
{ {
string crewLastName = string.Format("CREWD.CrewMemberLastName_{0}", i + 1); string crewLastName = string.Format("CREWD.CrewMemberLastName_{0}", i + 1);
@ -1941,6 +2099,9 @@ namespace ENI2.Excel
string crewIdentDocType = string.Format("CREWD.CrewMemberIdentityDocumentType_{0}", i + 1); string crewIdentDocType = string.Format("CREWD.CrewMemberIdentityDocumentType_{0}", i + 1);
string crewIdentDocId = string.Format("CREWD.CrewMemberIdentityDocumentId_{0}", i + 1); string crewIdentDocId = string.Format("CREWD.CrewMemberIdentityDocumentId_{0}", i + 1);
string crewVisaNo = string.Format("CREWD.CrewMemberVisaNumber_{0}", i + 1); string crewVisaNo = string.Format("CREWD.CrewMemberVisaNumber_{0}", i + 1);
string crewIssuing = string.Format("CREWD.CrewMemberIdentityDocumentIssuingState_{0}", i + 1);
string crewIdentDocExpiry = string.Format("CREWD.CrewmemberIdentityDocumentExpiryDate_{0}", i + 1);
string crewCountryOfBirth = string.Format("CREWD.CountryOfBirth_{0}", i + 1);
string lastName = reader.ReadText(crewLastName); string lastName = reader.ReadText(crewLastName);
if (!lastName.IsNullOrEmpty()) if (!lastName.IsNullOrEmpty())
@ -1955,6 +2116,8 @@ namespace ENI2.Excel
} }
crew.IsDeparture = true; crew.IsDeparture = true;
crew.NotificationSchengen = notificationSchengen;
crew.NotificationPAX = notificationPax;
crew.CrewMemberLastName = lastName; crew.CrewMemberLastName = lastName;
crew.CrewMemberFirstName = reader.ReadText(crewFirstName); crew.CrewMemberFirstName = reader.ReadText(crewFirstName);
crew.CrewMemberGender = reader.ReadGender(crewGender); crew.CrewMemberGender = reader.ReadGender(crewGender);
@ -1965,7 +2128,9 @@ namespace ENI2.Excel
crew.CrewMemberIdentityDocumentType = reader.ReadIdentityDocumentType(crewIdentDocType); crew.CrewMemberIdentityDocumentType = reader.ReadIdentityDocumentType(crewIdentDocType);
crew.CrewMemberIdentityDocumentId = reader.ReadText(crewIdentDocId); crew.CrewMemberIdentityDocumentId = reader.ReadText(crewIdentDocId);
crew.CrewMemberVisaNumber = reader.ReadText(crewVisaNo); crew.CrewMemberVisaNumber = reader.ReadText(crewVisaNo);
crew.CrewMemberIdentityDocumentIssuingState = reader.ReadNationality(crewIssuing);
crew.CrewMemberIdentityDocumentExpiryDate = reader.ReadDate(crewIdentDocExpiry);
crew.CrewMemberCountryOfBirth = reader.ReadNationality(crewCountryOfBirth);
} }
} }
return true; return true;
@ -1979,6 +2144,9 @@ namespace ENI2.Excel
{ {
pasMessage.DeleteElements(); pasMessage.DeleteElements();
bool? notificationSchengen = reader.ReadBoolean("PAS.NotificationSchengen");
bool? notificationPax = reader.ReadBoolean("PAS.NotificationPAX");
for (int i = 0; i < pasMessage.NumberOfExcelRows; i++) for (int i = 0; i < pasMessage.NumberOfExcelRows; i++)
{ {
string pasLastName = string.Format("PAS.PassengerLastName_{0}", i + 1); string pasLastName = string.Format("PAS.PassengerLastName_{0}", i + 1);
@ -1993,6 +2161,11 @@ namespace ENI2.Excel
string pasIdentDocType = string.Format("PAS.PassengerIdentityDocumentType_{0}", i + 1); string pasIdentDocType = string.Format("PAS.PassengerIdentityDocumentType_{0}", i + 1);
string pasIdentDocId = string.Format("PAS.PassengerIdentityDocumentId_{0}", i + 1); string pasIdentDocId = string.Format("PAS.PassengerIdentityDocumentId_{0}", i + 1);
string pasVisaNo = string.Format("PAS.PassengerVisaNumber_{0}", i + 1); string pasVisaNo = string.Format("PAS.PassengerVisaNumber_{0}", i + 1);
string pasIssuing = string.Format("PAS.PassengerIdentityDocumentIssuingState_{0}", i + 1);
string pasExpiryDate = string.Format("PAS.PassengerIdentityDocumentExpiryDate_{0}", i + 1);
string pasCountryOfBirth = string.Format("PAS.CountryOfBirth_{0}", i + 1);
string pasEmergencyCare = string.Format("PAS.EmergencyCare_{0}", i + 1);
string pasEmergencyContact = string.Format("PAS.EmergencyContactNumber_{0}", i + 1);
string lastName = reader.ReadText(pasLastName); string lastName = reader.ReadText(pasLastName);
string firstName = reader.ReadText(pasFirstName); string firstName = reader.ReadText(pasFirstName);
@ -2007,6 +2180,8 @@ namespace ENI2.Excel
pasMessage.Elements.Add(pas); pasMessage.Elements.Add(pas);
} }
pas.NotificationSchengen = notificationSchengen;
pas.NotificationPAX = notificationPax;
pas.PassengerLastName = lastName; pas.PassengerLastName = lastName;
pas.PassengerFirstName = firstName; pas.PassengerFirstName = firstName;
pas.PassengerGender = reader.ReadGender(pasGender); pas.PassengerGender = reader.ReadGender(pasGender);
@ -2020,6 +2195,11 @@ namespace ENI2.Excel
pas.PassengerIdentityDocumentType = reader.ReadIdentityDocumentType(pasIdentDocType); pas.PassengerIdentityDocumentType = reader.ReadIdentityDocumentType(pasIdentDocType);
pas.PassengerIdentityDocumentId = reader.ReadText(pasIdentDocId); pas.PassengerIdentityDocumentId = reader.ReadText(pasIdentDocId);
pas.PassengerVisaNumber = reader.ReadText(pasVisaNo); pas.PassengerVisaNumber = reader.ReadText(pasVisaNo);
pas.PassengerIdentityDocumentIssuingState = reader.ReadNationality(pasIssuing);
pas.PassengerIdentityDocumentExpiryDate = reader.ReadDate(pasExpiryDate);
pas.PassengerCountryOfBirth = reader.ReadNationality(pasCountryOfBirth);
pas.EmergencyCare = reader.ReadText(pasEmergencyCare);
pas.EmergencyContactNumber = reader.ReadText(pasEmergencyContact);
} }
} }
@ -2034,6 +2214,9 @@ namespace ENI2.Excel
{ {
pasMessage.DeleteElements(); pasMessage.DeleteElements();
bool? notificationSchengen = reader.ReadBoolean("PASD.NotificationSchengen");
bool? notificationPax = reader.ReadBoolean("PASD.NotificationPAX");
for (int i = 0; i < pasMessage.NumberOfExcelRows; i++) for (int i = 0; i < pasMessage.NumberOfExcelRows; i++)
{ {
string pasLastName = string.Format("PASD.PassengerLastName_{0}", i + 1); string pasLastName = string.Format("PASD.PassengerLastName_{0}", i + 1);
@ -2048,6 +2231,11 @@ namespace ENI2.Excel
string pasIdentDocType = string.Format("PASD.PassengerIdentityDocumentType_{0}", i + 1); string pasIdentDocType = string.Format("PASD.PassengerIdentityDocumentType_{0}", i + 1);
string pasIdentDocId = string.Format("PASD.PassengerIdentityDocumentId_{0}", i + 1); string pasIdentDocId = string.Format("PASD.PassengerIdentityDocumentId_{0}", i + 1);
string pasVisaNo = string.Format("PASD.PassengerVisaNumber_{0}", i + 1); string pasVisaNo = string.Format("PASD.PassengerVisaNumber_{0}", i + 1);
string pasIssuing = string.Format("PASD.PassengerIdentityDocumentIssuingState_{0}", i + 1);
string pasExpiryDate = string.Format("PASD.PassengerIdentityDocumentExpiryDate_{0}", i + 1);
string pasCountryOfBirth = string.Format("PASD.CountryOfBirth_{0}", i + 1);
string pasEmergencyCare = string.Format("PASD.EmergencyCare_{0}", i + 1);
string pasEmergencyContact = string.Format("PASD.EmergencyContactNumber_{0}", i + 1);
string lastName = reader.ReadText(pasLastName); string lastName = reader.ReadText(pasLastName);
if (!lastName.IsNullOrEmpty()) if (!lastName.IsNullOrEmpty())
@ -2062,7 +2250,8 @@ namespace ENI2.Excel
} }
pas.IsDeparture = true; pas.IsDeparture = true;
pas.NotificationSchengen = notificationSchengen;
pas.NotificationPAX = notificationPax;
pas.PassengerLastName = lastName; pas.PassengerLastName = lastName;
pas.PassengerFirstName = reader.ReadText(pasFirstName); pas.PassengerFirstName = reader.ReadText(pasFirstName);
pas.PassengerGender = reader.ReadGender(pasGender); pas.PassengerGender = reader.ReadGender(pasGender);
@ -2076,6 +2265,11 @@ namespace ENI2.Excel
pas.PassengerIdentityDocumentType = reader.ReadIdentityDocumentType(pasIdentDocType); pas.PassengerIdentityDocumentType = reader.ReadIdentityDocumentType(pasIdentDocType);
pas.PassengerIdentityDocumentId = reader.ReadText(pasIdentDocId); pas.PassengerIdentityDocumentId = reader.ReadText(pasIdentDocId);
pas.PassengerVisaNumber = reader.ReadText(pasVisaNo); pas.PassengerVisaNumber = reader.ReadText(pasVisaNo);
pas.PassengerIdentityDocumentIssuingState = reader.ReadNationality(pasIssuing);
pas.PassengerIdentityDocumentExpiryDate = reader.ReadDate(pasExpiryDate);
pas.PassengerCountryOfBirth = reader.ReadNationality(pasCountryOfBirth);
pas.EmergencyCare = reader.ReadText(pasEmergencyCare);
pas.EmergencyContactNumber = reader.ReadText(pasEmergencyContact);
} }
} }
return true; return true;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View File

@ -122,5 +122,18 @@ Insert into ViolationText(ViolationCode, ViolationText) values (202, 'If a passe
Insert into ViolationText(ViolationCode, ViolationText) values (203, 'If a passenger notification is for PAX, then PAX Details have to be provided, if a passenger notification is not for PAX, PAX Details must not be provided.') Insert into ViolationText(ViolationCode, ViolationText) values (203, 'If a passenger notification is for PAX, then PAX Details have to be provided, if a passenger notification is not for PAX, PAX Details must not be provided.')
Insert into ViolationText(ViolationCode, ViolationText) values (221, 'The identification number has to be unique per ship call.') Insert into ViolationText(ViolationCode, ViolationText) values (221, 'The identification number has to be unique per ship call.')
Insert into ViolationText(ViolationCode, ViolationText) values (786, 'The provided LOCODE is not accepted by SafeSeaNet.') Insert into ViolationText(ViolationCode, ViolationText) values (786, 'The provided LOCODE is not accepted by SafeSeaNet.')
GO
PRINT N'Altering Table [dbo].[CREW]...';
GO
ALTER TABLE [dbo].[CREW] ADD [CrewMemberCountryOfBirth] NCHAR (2) NULL;
ALTER TABLE [dbo].[CREW] ADD [Effects] NVARCHAR (256) NULL;
GO
PRINT N'Altering Table [dbo].[PAS]...';
GO
ALTER TABLE [dbo].[PAS]
ADD [PassengerCountryOfBirth] NCHAR (2) NULL;
GO GO

View File

@ -45,6 +45,11 @@ namespace bsmd.database
[ENI2Validation] [ENI2Validation]
public string CrewMemberPlaceOfBirth { get; set; } public string CrewMemberPlaceOfBirth { get; set; }
[Validation(ValidationCode.FLAG_CODE)]
[MaxLength(2)]
[ENI2Validation]
public string CrewMemberCountryOfBirth { get; set; }
[Validation(ValidationCode.NOT_NULL)] [Validation(ValidationCode.NOT_NULL)]
[ENI2Validation] [ENI2Validation]
public DateTime? CrewMemberDateOfBirth { get; set; } public DateTime? CrewMemberDateOfBirth { get; set; }
@ -119,6 +124,10 @@ namespace bsmd.database
[ENI2Validation] [ENI2Validation]
public DateTime? CrewMemberIdentityDocumentExpiryDate { get; set; } public DateTime? CrewMemberIdentityDocumentExpiryDate { get; set; }
[ENI2Validation]
[MaxLength(256)]
public string Effects { get; set; }
[ENI2Validation] [ENI2Validation]
public bool? NotificationSchengen { get; set; } public bool? NotificationSchengen { get; set; }
@ -176,6 +185,8 @@ namespace bsmd.database
scmd.Parameters.AddWithNullableValue("@P15", this.CrewMemberIdentityDocumentExpiryDate); scmd.Parameters.AddWithNullableValue("@P15", this.CrewMemberIdentityDocumentExpiryDate);
scmd.Parameters.AddWithNullableValue("@P16", this.NotificationSchengen); scmd.Parameters.AddWithNullableValue("@P16", this.NotificationSchengen);
scmd.Parameters.AddWithNullableValue("@P17", this.NotificationPAX); scmd.Parameters.AddWithNullableValue("@P17", this.NotificationPAX);
scmd.Parameters.AddWithNullableValue("@P18", this.CrewMemberCountryOfBirth);
scmd.Parameters.AddWithNullableValue("@P19", this.Effects);
if (this.IsNew) if (this.IsNew)
{ {
@ -184,8 +195,9 @@ namespace bsmd.database
scmd.CommandText = string.Format("INSERT INTO {0} (Id, MessageHeaderId, CrewMemberLastName, CrewMemberFirstName, " + scmd.CommandText = string.Format("INSERT INTO {0} (Id, MessageHeaderId, CrewMemberLastName, CrewMemberFirstName, " +
"CrewMemberPlaceOfBirth, CrewMemberDateOfBirth, CrewMemberGender, CrewMemberNationality,CrewMemberIdentityDocumentType, " + "CrewMemberPlaceOfBirth, CrewMemberDateOfBirth, CrewMemberGender, CrewMemberNationality,CrewMemberIdentityDocumentType, " +
"CrewMemberIdentityDocumentId, CrewMemberVisaNumber, CrewMemberDuty, Identifier, IsDeparture, " + "CrewMemberIdentityDocumentId, CrewMemberVisaNumber, CrewMemberDuty, Identifier, IsDeparture, " +
"CrewMemberIdentityDocumentIssuingState, CrewMemberIdentityDocumentExpiryDate, NotificationSchengen, NotificationPAX) " + "CrewMemberIdentityDocumentIssuingState, CrewMemberIdentityDocumentExpiryDate, NotificationSchengen, NotificationPAX, " +
"VALUES (@ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, @P17 )", this.Tablename); "CrewMemberCountryOfBirth, Effects) " +
"VALUES (@ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, @P17, @P18, @P19 )", this.Tablename);
} }
else else
{ {
@ -194,7 +206,8 @@ namespace bsmd.database
"CrewMemberPlaceOfBirth = @P4, CrewMemberDateOfBirth = @P5, CrewMemberGender = @P6, CrewMemberNationality = @P7, "+ "CrewMemberPlaceOfBirth = @P4, CrewMemberDateOfBirth = @P5, CrewMemberGender = @P6, CrewMemberNationality = @P7, "+
"CrewMemberIdentityDocumentType = @P8, CrewMemberIdentityDocumentId = @P9, CrewMemberVisaNumber = @P10, " + "CrewMemberIdentityDocumentType = @P8, CrewMemberIdentityDocumentId = @P9, CrewMemberVisaNumber = @P10, " +
"CrewMemberDuty = @P11, Identifier = @P12, IsDeparture = @P13, CrewMemberIdentityDocumentIssuingState = @P14, " + "CrewMemberDuty = @P11, Identifier = @P12, IsDeparture = @P13, CrewMemberIdentityDocumentIssuingState = @P14, " +
"CrewMemberIdentityDocumentExpiryDate = @P15, NotificationSchengen = @P16, NotificationPAX = @P17 WHERE Id = @ID", this.Tablename); "CrewMemberIdentityDocumentExpiryDate = @P15, NotificationSchengen = @P16, NotificationPAX = @P17, " +
"CrewMemberCountryOfBirth = @P18, Effects = @P19 WHERE Id = @ID", this.Tablename);
} }
} }
@ -203,7 +216,7 @@ namespace bsmd.database
string query = string.Format("SELECT Id, CrewMemberLastName, CrewMemberFirstName, CrewMemberPlaceOfBirth, " + string query = string.Format("SELECT Id, CrewMemberLastName, CrewMemberFirstName, CrewMemberPlaceOfBirth, " +
"CrewMemberDateOfBirth, CrewMemberGender, CrewMemberNationality, CrewMemberIdentityDocumentType, CrewMemberIdentityDocumentId, " + "CrewMemberDateOfBirth, CrewMemberGender, CrewMemberNationality, CrewMemberIdentityDocumentType, CrewMemberIdentityDocumentId, " +
"CrewMemberVisaNumber, CrewMemberDuty, Identifier, IsDeparture, CrewMemberIdentityDocumentIssuingState, " + "CrewMemberVisaNumber, CrewMemberDuty, Identifier, IsDeparture, CrewMemberIdentityDocumentIssuingState, " +
"CrewMemberIdentityDocumentExpiryDate, NotificationSchengen, NotificationPAX FROM {0}", this.Tablename); "CrewMemberIdentityDocumentExpiryDate, NotificationSchengen, NotificationPAX, CrewMemberCountryOfBirth, Effects FROM {0}", this.Tablename);
switch (filter) switch (filter)
{ {
@ -247,6 +260,8 @@ namespace bsmd.database
if (!reader.IsDBNull(14)) crew.CrewMemberIdentityDocumentExpiryDate = reader.GetDateTime(14); if (!reader.IsDBNull(14)) crew.CrewMemberIdentityDocumentExpiryDate = reader.GetDateTime(14);
if (!reader.IsDBNull(15)) crew.NotificationSchengen = reader.GetBoolean(15); if (!reader.IsDBNull(15)) crew.NotificationSchengen = reader.GetBoolean(15);
if (!reader.IsDBNull(16)) crew.NotificationPAX = reader.GetBoolean(16); if (!reader.IsDBNull(16)) crew.NotificationPAX = reader.GetBoolean(16);
if (!reader.IsDBNull(17)) crew.CrewMemberCountryOfBirth = reader.GetString(17);
if (!reader.IsDBNull(18)) crew.Effects = reader.GetString(18);
result.Add(crew); result.Add(crew);
} }
@ -270,7 +285,7 @@ namespace bsmd.database
string query = string.Format("SELECT Id, CrewMemberLastName, CrewMemberFirstName, CrewMemberPlaceOfBirth, " + string query = string.Format("SELECT Id, CrewMemberLastName, CrewMemberFirstName, CrewMemberPlaceOfBirth, " +
"CrewMemberDateOfBirth, CrewMemberGender, CrewMemberNationality, CrewMemberIdentityDocumentType, CrewMemberIdentityDocumentId, " + "CrewMemberDateOfBirth, CrewMemberGender, CrewMemberNationality, CrewMemberIdentityDocumentType, CrewMemberIdentityDocumentId, " +
"CrewMemberVisaNumber, CrewMemberDuty, Identifier, IsDeparture, CrewMemberIdentityDocumentIssuingState, " + "CrewMemberVisaNumber, CrewMemberDuty, Identifier, IsDeparture, CrewMemberIdentityDocumentIssuingState, " +
"CrewMemberIdentityDocumentExpiryDate, NotificationSchengen, NotificationPAX FROM {0}", this.Tablename); "CrewMemberIdentityDocumentExpiryDate, NotificationSchengen, NotificationPAX, CrewMemberCountryOfBirth, Effects FROM {0}", this.Tablename);
switch (filter) switch (filter)
{ {
@ -314,6 +329,8 @@ namespace bsmd.database
if (!reader.IsDBNull(14)) crew.CrewMemberIdentityDocumentExpiryDate = reader.GetDateTime(14); if (!reader.IsDBNull(14)) crew.CrewMemberIdentityDocumentExpiryDate = reader.GetDateTime(14);
if (!reader.IsDBNull(15)) crew.NotificationSchengen = reader.GetBoolean(15); if (!reader.IsDBNull(15)) crew.NotificationSchengen = reader.GetBoolean(15);
if (!reader.IsDBNull(16)) crew.NotificationPAX = reader.GetBoolean(16); if (!reader.IsDBNull(16)) crew.NotificationPAX = reader.GetBoolean(16);
if (!reader.IsDBNull(17)) crew.CrewMemberCountryOfBirth = reader.GetString(17);
if (!reader.IsDBNull(18)) crew.Effects = reader.GetString(18);
result.Add(crew); result.Add(crew);
} }

View File

@ -682,11 +682,12 @@ namespace bsmd.database
case NotificationClass.LADG: return 36; case NotificationClass.LADG: return 36;
case NotificationClass.CREW: return 40; case NotificationClass.CREW: return 40;
case NotificationClass.CREWD: return 40; case NotificationClass.CREWD: return 40;
case NotificationClass.PAS: return 30; case NotificationClass.PAS: return 40;
case NotificationClass.PASD: return 30; case NotificationClass.PASD: return 40;
case NotificationClass.TOWA: return 5; case NotificationClass.TOWA: return 5;
case NotificationClass.TOWD: return 5; case NotificationClass.TOWD: return 5;
case NotificationClass.STO: return 10; case NotificationClass.STO: return 10;
case NotificationClass.WAS_RCPT: return 5;
default: default:
return 0; return 0;

View File

@ -203,7 +203,7 @@ namespace bsmd.database
[JsonIgnore] [JsonIgnore]
public int NumberOfExcelRows public int NumberOfExcelRows
{ {
get { return 3; } get { return 5; }
} }
public void SaveElements() public void SaveElements()

View File

@ -134,6 +134,11 @@ namespace bsmd.database
[ENI2Validation] [ENI2Validation]
public bool? NotificationPAX { get; set; } public bool? NotificationPAX { get; set; }
[Validation(ValidationCode.FLAG_CODE)]
[MaxLength(2)]
[ENI2Validation]
public string PassengerCountryOfBirth { get; set; }
[ENI2Validation] [ENI2Validation]
[ReportDisplayName("Emergency care")] [ReportDisplayName("Emergency care")]
[MaxLength(255)] [MaxLength(255)]
@ -213,6 +218,7 @@ namespace bsmd.database
scmd.Parameters.AddWithNullableValue("@P19", this.NotificationPAX); scmd.Parameters.AddWithNullableValue("@P19", this.NotificationPAX);
scmd.Parameters.AddWithNullableValue("@P20", this.EmergencyCare); scmd.Parameters.AddWithNullableValue("@P20", this.EmergencyCare);
scmd.Parameters.AddWithNullableValue("@P21", this.EmergencyContactNumber); scmd.Parameters.AddWithNullableValue("@P21", this.EmergencyContactNumber);
scmd.Parameters.AddWithNullableValue("@P22", this.PassengerCountryOfBirth);
if (this.IsNew) if (this.IsNew)
{ {
@ -222,8 +228,8 @@ namespace bsmd.database
"PassengerPlaceOfBirth, PassengerDateOfBirth, PassengerGender, PassengerNationality, PassengerIdentityDocumentType, " + "PassengerPlaceOfBirth, PassengerDateOfBirth, PassengerGender, PassengerNationality, PassengerIdentityDocumentType, " +
"PassengerIdentityDocumentId, PassengerVisaNumber, PassengerPortOfEmbarkation, PassengerPortOfDisembarkation," + "PassengerIdentityDocumentId, PassengerVisaNumber, PassengerPortOfEmbarkation, PassengerPortOfDisembarkation," +
"PassengerInTransit, Identifier, IsDeparture, PassengerIdentityDocumentIssuingState, PassengerIdentityDocumentExpiryDate, " + "PassengerInTransit, Identifier, IsDeparture, PassengerIdentityDocumentIssuingState, PassengerIdentityDocumentExpiryDate, " +
"NotificationSchengen, NotificationPAX, EmergencyCare, EmergencyContactNumber) " + "NotificationSchengen, NotificationPAX, EmergencyCare, EmergencyContactNumber, PassengerCountryOfBirth) " +
"VALUES (@ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, @P17, @P18, @P19, @P20, @P21 )", "VALUES (@ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, @P17, @P18, @P19, @P20, @P21, @P22 )",
this.Tablename); this.Tablename);
} }
else else
@ -235,7 +241,7 @@ namespace bsmd.database
"PassengerVisaNumber = @P10, PassengerPortOfEmbarkation = @P11, PassengerPortOfDisembarkation = @P12, " + "PassengerVisaNumber = @P10, PassengerPortOfEmbarkation = @P11, PassengerPortOfDisembarkation = @P12, " +
"PassengerInTransit = @P13, IsDeparture = @P15, Identifier = @P14, PassengerIdentityDocumentIssuingState = @P16, " + "PassengerInTransit = @P13, IsDeparture = @P15, Identifier = @P14, PassengerIdentityDocumentIssuingState = @P16, " +
"PassengerIdentityDocumentExpiryDate = @P17, NotificationSchengen = @P18, NotificationPAX = @P19, " + "PassengerIdentityDocumentExpiryDate = @P17, NotificationSchengen = @P18, NotificationPAX = @P19, " +
"EmergencyCare = @P20, EmergencyContactNumber = @P21 WHERE Id = @ID", this.Tablename); "EmergencyCare = @P20, EmergencyContactNumber = @P21, PassengerCountryOfBirth = @P22 WHERE Id = @ID", this.Tablename);
} }
} }
@ -245,7 +251,7 @@ namespace bsmd.database
"PassengerDateOfBirth, PassengerGender, PassengerNationality, PassengerIdentityDocumentType, PassengerIdentityDocumentId, " + "PassengerDateOfBirth, PassengerGender, PassengerNationality, PassengerIdentityDocumentType, PassengerIdentityDocumentId, " +
"PassengerVisaNumber, PassengerPortOfEmbarkation, PassengerPortOfDisembarkation, PassengerInTransit, Identifier, " + "PassengerVisaNumber, PassengerPortOfEmbarkation, PassengerPortOfDisembarkation, PassengerInTransit, Identifier, " +
"IsDeparture, PassengerIdentityDocumentIssuingState, PassengerIdentityDocumentExpiryDate, NotificationSchengen, " + "IsDeparture, PassengerIdentityDocumentIssuingState, PassengerIdentityDocumentExpiryDate, NotificationSchengen, " +
"NotificationPAX, EmergencyCare, EmergencyContactNumber FROM {0}", "NotificationPAX, EmergencyCare, EmergencyContactNumber, PassengerCountryOfBirth FROM {0}",
this.Tablename); this.Tablename);
switch (filter) switch (filter)
@ -294,6 +300,7 @@ namespace bsmd.database
if (!reader.IsDBNull(18)) pas.NotificationPAX = reader.GetBoolean(18); if (!reader.IsDBNull(18)) pas.NotificationPAX = reader.GetBoolean(18);
if (!reader.IsDBNull(19)) pas.EmergencyCare = reader.GetString(19); if (!reader.IsDBNull(19)) pas.EmergencyCare = reader.GetString(19);
if (!reader.IsDBNull(20)) pas.EmergencyContactNumber = reader.GetString(20); if (!reader.IsDBNull(20)) pas.EmergencyContactNumber = reader.GetString(20);
if (!reader.IsDBNull(21)) pas.PassengerCountryOfBirth = reader.GetString(21);
result.Add(pas); result.Add(pas);
} }
reader.Close(); reader.Close();
@ -335,7 +342,7 @@ namespace bsmd.database
"PassengerDateOfBirth, PassengerGender, PassengerNationality, PassengerIdentityDocumentType, PassengerIdentityDocumentId, " + "PassengerDateOfBirth, PassengerGender, PassengerNationality, PassengerIdentityDocumentType, PassengerIdentityDocumentId, " +
"PassengerVisaNumber, PassengerPortOfEmbarkation, PassengerPortOfDisembarkation, PassengerInTransit, Identifier, IsDeparture, " + "PassengerVisaNumber, PassengerPortOfEmbarkation, PassengerPortOfDisembarkation, PassengerInTransit, Identifier, IsDeparture, " +
"PassengerIdentityDocumentIssuingState, PassengerIdentityDocumentExpiryDate, NotificationSchengen, NotificationPAX, " + "PassengerIdentityDocumentIssuingState, PassengerIdentityDocumentExpiryDate, NotificationSchengen, NotificationPAX, " +
"EmergencyCare, EmergencyContactNumber FROM {0}", "EmergencyCare, EmergencyContactNumber, PassengerCountryOfBirth FROM {0}",
this.Tablename); this.Tablename);
switch (filter) switch (filter)
@ -384,6 +391,7 @@ namespace bsmd.database
if (!reader.IsDBNull(18)) pas.NotificationPAX = reader.GetBoolean(18); if (!reader.IsDBNull(18)) pas.NotificationPAX = reader.GetBoolean(18);
if (!reader.IsDBNull(19)) pas.EmergencyCare = reader.GetString(19); if (!reader.IsDBNull(19)) pas.EmergencyCare = reader.GetString(19);
if (!reader.IsDBNull(20)) pas.EmergencyContactNumber = reader.GetString(20); if (!reader.IsDBNull(20)) pas.EmergencyContactNumber = reader.GetString(20);
if (!reader.IsDBNull(21)) pas.PassengerCountryOfBirth = reader.GetString(21);
result.Add(pas); result.Add(pas);
} }
reader.Close(); reader.Close();

View File

@ -198,6 +198,18 @@ namespace bsmd.database
[DataMember] [DataMember]
public string CertificateOfRegistryNumber { get; set; } public string CertificateOfRegistryNumber { get; set; }
public bool? IsTanker
{
get
{
if (ShipType.IsNullOrEmpty()) return null;
if (ShipType.StartsWith("53")) return true;
if (ShipType.StartsWith("54")) return true;
if (ShipType.StartsWith("55")) return true;
return false;
}
}
[JsonIgnore] [JsonIgnore]
public static Dictionary<string, string> VesselTypeDict { get; set; } public static Dictionary<string, string> VesselTypeDict { get; set; }

View File

@ -332,7 +332,7 @@ namespace bsmd.database
[JsonIgnore] [JsonIgnore]
public int NumberOfExcelRows public int NumberOfExcelRows
{ {
get { return 15; } get { return 25; }
} }
public void SaveElements() public void SaveElements()

View File

@ -129,7 +129,7 @@ namespace bsmd.database
[JsonIgnore] [JsonIgnore]
public int NumberOfExcelRows public int NumberOfExcelRows
{ {
get { return 15; } get { return 25; }
} }
public void SaveElements() public void SaveElements()