diff --git a/ENI-2/ENI2/ENI2/App.config b/ENI-2/ENI2/ENI2/App.config
index 2233c98e..097725ac 100644
--- a/ENI-2/ENI2/ENI2/App.config
+++ b/ENI-2/ENI2/ENI2/App.config
@@ -26,12 +26,12 @@
1000
-
- http://heupferd/bsmd.LockingService/LockingService.svc
+ http://192.168.2.4/LockingService/LockingService.svc
+
-
- Data Source=(localdb)\Projects;Initial Catalog=nsw;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False
+ Data Source=192.168.2.12;Initial Catalog=nsw;Uid=dfuser;Pwd=dfpasswd;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False
+
diff --git a/ENI-2/ENI2/ENI2/ENI2.csproj b/ENI-2/ENI2/ENI2/ENI2.csproj
index d35afd83..d4a80c9b 100644
--- a/ENI-2/ENI2/ENI2/ENI2.csproj
+++ b/ENI-2/ENI2/ENI2/ENI2.csproj
@@ -36,7 +36,7 @@
true
publish.html
1
- 3.9.8.%2a
+ 3.9.9.%2a
false
true
true
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditCallPurposeDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditCallPurposeDialog.xaml
index 1371baf5..42cea705 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditCallPurposeDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditCallPurposeDialog.xaml
@@ -20,7 +20,7 @@
-
+
diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx
index 4311a608..00e0a699 100644
Binary files a/Stundensheet.xlsx and b/Stundensheet.xlsx differ
diff --git a/nsw/5.0/2018_01_12_NSW-5_Abweichungen.docx b/nsw/5.0/2018_01_12_NSW-5_Abweichungen.docx
new file mode 100644
index 00000000..b2033c97
Binary files /dev/null and b/nsw/5.0/2018_01_12_NSW-5_Abweichungen.docx differ
diff --git a/nsw/5.0/Entwicklungsversion_NSW_Schnittstelle_Meldeklassen_und_Attribute_API_5.0_(V12).xlsx b/nsw/5.0/Entwicklungsversion_NSW_Schnittstelle_Meldeklassen_und_Attribute_API_5.0_(V12).xlsx
new file mode 100644
index 00000000..fe1da1be
Binary files /dev/null and b/nsw/5.0/Entwicklungsversion_NSW_Schnittstelle_Meldeklassen_und_Attribute_API_5.0_(V12).xlsx differ
diff --git a/nsw/5.0/Entwicklungsversion_NSW_Schnittstelle_Validierungsregeln_API_5.0_(V12).xlsx b/nsw/5.0/Entwicklungsversion_NSW_Schnittstelle_Validierungsregeln_API_5.0_(V12).xlsx
new file mode 100644
index 00000000..b85f235f
Binary files /dev/null and b/nsw/5.0/Entwicklungsversion_NSW_Schnittstelle_Validierungsregeln_API_5.0_(V12).xlsx differ
diff --git a/nsw/Source/SQL/Update_To_3.8.10.2.sql b/nsw/Source/SQL/Update_To_3.8.10.2.sql
new file mode 100644
index 00000000..4d420ec9
--- /dev/null
+++ b/nsw/Source/SQL/Update_To_3.8.10.2.sql
@@ -0,0 +1,2 @@
+select * from ErrorText
+insert into ErrorText (ErrorCode, ErrorText) VALUES (17 , '{0} is empty or too long!')
\ No newline at end of file
diff --git a/nsw/Source/SQL/Update_To_4.0.sql b/nsw/Source/SQL/Update_To_4.0.sql
new file mode 100644
index 00000000..5904023c
--- /dev/null
+++ b/nsw/Source/SQL/Update_To_4.0.sql
@@ -0,0 +1,13 @@
+-- neue Spalte
+
+ALTER TABLE [dbo].[LastTenPortFacilitiesCalled]
+ ADD [PortFacilityGISISCodeLoCode] NCHAR (5) NULL;
+
+GO
+
+-- vergrößern auf 250
+
+ALTER TABLE [dbo].[STAT] ALTER COLUMN [InmarsatCallNumber] NVARCHAR (250) NULL;
+
+
+GO
diff --git a/nsw/Source/bsmd.ExcelReadService/Util.cs b/nsw/Source/bsmd.ExcelReadService/Util.cs
index 4dbbeba7..3ce477ac 100644
--- a/nsw/Source/bsmd.ExcelReadService/Util.cs
+++ b/nsw/Source/bsmd.ExcelReadService/Util.cs
@@ -463,7 +463,15 @@ namespace bsmd.ExcelReadService
imdgPosition.PackingGroup = reader.ReadPackingGroup(imdg_packingGroup);
imdgPosition.MarinePollutant = reader.ReadBoolean(imdg_marinePollutant);
imdgPosition.Flashpoint_CEL = reader.ReadText(imdg_flashpoint);
- reader.Conf.ConfirmText(imdg_flashpoint, imdgPosition.Flashpoint_CEL, imdgPosition.Flashpoint_CEL.IsNullOrEmpty() ? ExcelReader.ReadState.NONE : ExcelReader.ReadState.OK);
+ ExcelReader.ReadState aReadState = ExcelReader.ReadState.NONE;
+ if (!imdgPosition.Flashpoint_CEL.IsNullOrEmpty())
+ {
+ if (imdgPosition.Flashpoint_CEL == "-")
+ aReadState = ExcelReader.ReadState.FAIL;
+ else
+ aReadState = ExcelReader.ReadState.OK;
+ }
+ reader.Conf.ConfirmText(imdg_flashpoint, imdgPosition.Flashpoint_CEL, aReadState);
imdgPosition.NumberOfPackages = (int?)reader.ReadNumber(imdg_numberOfPackages);
imdgPosition.PackageType = reader.ReadText(imdg_packageType);
reader.Conf.ConfirmText(imdg_packageType, imdgPosition.PackageType, imdgPosition.PackageType.IsNullOrEmpty() ? ExcelReader.ReadState.FAIL : ExcelReader.ReadState.OK);
@@ -527,7 +535,15 @@ namespace bsmd.ExcelReadService
reader.Conf.ConfirmText(ibc_pollutionCategory, pollutionCategory, ibcPosition.PollutionCategory.HasValue ? ExcelReader.ReadState.OK : ExcelReader.ReadState.FAIL);
ibcPosition.Flashpoint_CEL = reader.ReadText(ibc_flash);
- reader.Conf.ConfirmText(ibc_flash, ibcPosition.Flashpoint_CEL, ExcelReader.ReadState.NONE);
+ ExcelReader.ReadState aReadState = ExcelReader.ReadState.NONE;
+ if (!ibcPosition.Flashpoint_CEL.IsNullOrEmpty())
+ {
+ if (ibcPosition.Flashpoint_CEL == "-")
+ aReadState = ExcelReader.ReadState.FAIL;
+ else
+ aReadState = ExcelReader.ReadState.OK;
+ }
+ reader.Conf.ConfirmText(ibc_flash, ibcPosition.Flashpoint_CEL, aReadState);
ibcPosition.Quantity_KGM = (int ?) reader.ReadNumber(ibc_quantity);
ibcPosition.StowagePosition = reader.ReadText(ibc_stowagePosition);
reader.Conf.ConfirmText(ibc_stowagePosition, ibcPosition.StowagePosition, ibcPosition.StowagePosition.IsNullOrEmpty() ? ExcelReader.ReadState.FAIL : ExcelReader.ReadState.OK);
@@ -649,7 +665,15 @@ namespace bsmd.ExcelReadService
marpolPosition.Name = name;
reader.Conf.ConfirmText(marpol_name, name, ExcelReader.ReadState.OK);
marpolPosition.Flashpoint_CEL = reader.ReadText(marpol_flash);
- reader.Conf.ConfirmText(marpol_flash, marpolPosition.Flashpoint_CEL, marpolPosition.Flashpoint_CEL.IsNullOrEmpty() ? ExcelReader.ReadState.FAIL : ExcelReader.ReadState.OK);
+ ExcelReader.ReadState aReadState = ExcelReader.ReadState.NONE;
+ if (!marpolPosition.Flashpoint_CEL.IsNullOrEmpty())
+ {
+ if (marpolPosition.Flashpoint_CEL == "-")
+ aReadState = ExcelReader.ReadState.FAIL;
+ else
+ aReadState = ExcelReader.ReadState.OK;
+ }
+ reader.Conf.ConfirmText(marpol_flash, marpolPosition.Flashpoint_CEL, aReadState);
if (marpolPosition.Flashpoint_CEL.IsNullOrEmpty()) { marpolPosition.FlashpointInformation = 0; } // NF // Ableitung Flashpoint-Info: Christin, 22.3.2017
else
@@ -767,7 +791,15 @@ namespace bsmd.ExcelReadService
imdgPosition.PackingGroup = reader.ReadPackingGroup(imdg_packingGroup);
imdgPosition.MarinePollutant = reader.ReadBoolean(imdg_marinePollutant);
imdgPosition.Flashpoint_CEL = reader.ReadText(imdg_flashpoint);
- reader.Conf.ConfirmText(imdg_flashpoint, imdgPosition.Flashpoint_CEL, imdgPosition.Flashpoint_CEL.IsNullOrEmpty() ? ExcelReader.ReadState.NONE : ExcelReader.ReadState.OK);
+ ExcelReader.ReadState aReadState = ExcelReader.ReadState.NONE;
+ if (!imdgPosition.Flashpoint_CEL.IsNullOrEmpty())
+ {
+ if (imdgPosition.Flashpoint_CEL == "-")
+ aReadState = ExcelReader.ReadState.FAIL;
+ else
+ aReadState = ExcelReader.ReadState.OK;
+ }
+ reader.Conf.ConfirmText(imdg_flashpoint, imdgPosition.Flashpoint_CEL, aReadState);
imdgPosition.NumberOfPackages = (int?)reader.ReadNumber(imdg_numberOfPackages);
imdgPosition.PackageType = reader.ReadText(imdg_packageType);
reader.Conf.ConfirmText(imdg_packageType, imdgPosition.PackageType, imdgPosition.PackageType.IsNullOrEmpty() ? ExcelReader.ReadState.FAIL : ExcelReader.ReadState.OK);
@@ -831,7 +863,15 @@ namespace bsmd.ExcelReadService
reader.Conf.ConfirmText(ibc_pollutionCategory, pollutionCategory, ibcPosition.PollutionCategory.HasValue ? ExcelReader.ReadState.OK : ExcelReader.ReadState.FAIL);
ibcPosition.Flashpoint_CEL = reader.ReadText(ibc_flash);
- reader.Conf.ConfirmText(ibc_flash, ibcPosition.Flashpoint_CEL, ExcelReader.ReadState.NONE);
+ ExcelReader.ReadState aReadState = ExcelReader.ReadState.NONE;
+ if (!ibcPosition.Flashpoint_CEL.IsNullOrEmpty())
+ {
+ if (ibcPosition.Flashpoint_CEL == "-")
+ aReadState = ExcelReader.ReadState.FAIL;
+ else
+ aReadState = ExcelReader.ReadState.OK;
+ }
+ reader.Conf.ConfirmText(ibc_flash, ibcPosition.Flashpoint_CEL, aReadState);
ibcPosition.Quantity_KGM = (int?)reader.ReadNumber(ibc_quantity);
ibcPosition.StowagePosition = reader.ReadText(ibc_stowagePosition);
reader.Conf.ConfirmText(ibc_stowagePosition, ibcPosition.StowagePosition, ibcPosition.StowagePosition.IsNullOrEmpty() ? ExcelReader.ReadState.FAIL : ExcelReader.ReadState.OK);
@@ -953,7 +993,15 @@ namespace bsmd.ExcelReadService
marpolPosition.Name = name;
reader.Conf.ConfirmText(marpol_name, name, ExcelReader.ReadState.OK);
marpolPosition.Flashpoint_CEL = reader.ReadText(marpol_flash);
- reader.Conf.ConfirmText(marpol_flash, marpolPosition.Flashpoint_CEL, marpolPosition.Flashpoint_CEL.IsNullOrEmpty() ? ExcelReader.ReadState.FAIL : ExcelReader.ReadState.OK);
+ ExcelReader.ReadState aReadState = ExcelReader.ReadState.NONE;
+ if (!marpolPosition.Flashpoint_CEL.IsNullOrEmpty())
+ {
+ if (marpolPosition.Flashpoint_CEL == "-")
+ aReadState = ExcelReader.ReadState.FAIL;
+ else
+ aReadState = ExcelReader.ReadState.OK;
+ }
+ reader.Conf.ConfirmText(marpol_flash, marpolPosition.Flashpoint_CEL, aReadState);
if (marpolPosition.Flashpoint_CEL.IsNullOrEmpty()) { marpolPosition.FlashpointInformation = 0; } // NF // Ableitung Flashpoint-Info: Christin, 22.3.2017
else
@@ -1117,7 +1165,10 @@ namespace bsmd.ExcelReadService
callPurpose.CallPurposeCode = ((int?)reader.ReadNumber(callPurposeCodeKey)) ?? 0;
callPurpose.CallPurposeDescription = callPurposeDescription;
- reader.Conf.ConfirmText(callPurposeDescriptionKey, callPurposeDescription, callPurposeDescription.IsNullOrEmpty() ? ExcelReader.ReadState.WARN : ExcelReader.ReadState.OK);
+ ExcelReader.ReadState aReadState = ExcelReader.ReadState.OK;
+ if (callPurposeDescription.IsNullOrEmpty()) aReadState = ExcelReader.ReadState.WARN;
+ else if (callPurposeDescription.Length > 90) aReadState = ExcelReader.ReadState.FAIL;
+ reader.Conf.ConfirmText(callPurposeDescriptionKey, callPurposeDescription, aReadState);
if (i == 1)
reader.Conf.ConfirmText("NOA_NOD.CallPuposeDescription_1_DK", callPurposeDescription, callPurposeDescription.IsNullOrEmpty() ? ExcelReader.ReadState.WARN : ExcelReader.ReadState.OK);
}
diff --git a/nsw/Source/bsmd.database/LastTenPortFacilitiesCalled.cs b/nsw/Source/bsmd.database/LastTenPortFacilitiesCalled.cs
index 88b11367..4ff08700 100644
--- a/nsw/Source/bsmd.database/LastTenPortFacilitiesCalled.cs
+++ b/nsw/Source/bsmd.database/LastTenPortFacilitiesCalled.cs
@@ -66,6 +66,13 @@ namespace bsmd.database
[MaxLength(4)]
[ENI2Validation]
public string PortFacilityGISISCode { get; set; }
+
+ // NSW5
+ //[ShowReport]
+ //[Validation(ValidationCode.LOCODE)]
+ //[ENI2Validation]
+ [MaxLength(5)]
+ public string PortFacilityGISICodeLocode { get; set; }
public string Identifier { get; set; }
@@ -89,7 +96,8 @@ namespace bsmd.database
scmd.Parameters.AddWithNullableValue("@P7", this.PortFacilityShipSecurityLevel);
scmd.Parameters.AddWithNullableValue("@P8", this.PortFacilitySecurityMattersToReport);
scmd.Parameters.AddWithNullableValue("@P9", this.PortFacilityGISISCode);
- scmd.Parameters.AddWithNullableValue("@P10", this.Identifier);
+ scmd.Parameters.AddWithNullableValue("@P10", this.PortFacilityGISICodeLocode);
+ scmd.Parameters.AddWithNullableValue("@P11", this.Identifier);
if (this.IsNew)
{
@@ -97,8 +105,8 @@ namespace bsmd.database
scmd.Parameters.AddWithValue("@ID", this.Id);
scmd.CommandText = string.Format("INSERT INTO {0} (Id, SEC_Id, PortFacilityPortName, PortFacilityPortCountry, " +
"PortFacilityPortLoCode, PortFacilityDateOfArrival, PortFacilityDateOfDeparture, PortFacilityShipSecurityLevel, " +
- "PortFacilitySecurityMattersToReport, PortFacilityGISISCode, Identifier) VALUES ( @ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10)",
- this.Tablename);
+ "PortFacilitySecurityMattersToReport, PortFacilityGISISCode, PortFacilityGISICodeLoCode, Identifier) VALUES " +
+ "( @ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11)", this.Tablename);
}
else
{
@@ -106,7 +114,7 @@ namespace bsmd.database
scmd.CommandText = string.Format("UPDATE {0} SET PortFacilityPortName = @P2, PortFacilityPortCountry = @P3, " +
"PortFacilityPortLoCode = @P4, PortFacilityDateOfArrival = @P5, PortFacilityDateOfDeparture = @P6," +
"PortFacilityShipSecurityLevel = @P7, PortFacilitySecurityMattersToReport = @P8, PortFacilityGISISCode = @P9, " +
- "Identifier = @P10 WHERE Id = @ID", this.Tablename);
+ "PortFacilityGISICodeLoCode = @P10, Identifier = @P11 WHERE Id = @ID", this.Tablename);
}
}
@@ -114,7 +122,7 @@ namespace bsmd.database
{
string query = string.Format("SELECT Id, PortFacilityPortName, PortFacilityPortCountry, PortFacilityPortLoCode, " +
"PortFacilityDateOfArrival, PortFacilityDateOfDeparture, PortFacilityShipSecurityLevel, PortFacilitySecurityMattersToReport, " +
- "PortFacilityGISISCode, Identifier FROM {0} ", this.Tablename);
+ "PortFacilityGISISCode, PortFacilityGISICodeLoCode, Identifier FROM {0} ", this.Tablename);
switch (filter)
{
@@ -150,7 +158,8 @@ namespace bsmd.database
if (!reader.IsDBNull(6)) ltpfc.PortFacilityShipSecurityLevel = reader.GetByte(6);
if (!reader.IsDBNull(7)) ltpfc.PortFacilitySecurityMattersToReport = reader.GetString(7);
if (!reader.IsDBNull(8)) ltpfc.PortFacilityGISISCode = reader.GetString(8);
- if (!reader.IsDBNull(9)) ltpfc.Identifier = reader.GetString(9);
+ if (!reader.IsDBNull(9)) ltpfc.PortFacilityGISICodeLocode = reader.GetString(9);
+ if (!reader.IsDBNull(10)) ltpfc.Identifier = reader.GetString(10);
result.Add(ltpfc);
}
reader.Close();
diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs
index 482cd4c6..83a68040 100644
--- a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs
+++ b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs
@@ -2,6 +2,6 @@
[assembly: AssemblyCompany("schick Informatik")]
[assembly: AssemblyProduct("BSMD NSW interface")]
-[assembly: AssemblyInformationalVersion("3.9.9")]
+[assembly: AssemblyInformationalVersion("3.9.10")]
[assembly: AssemblyCopyright("Copyright © 2014-2017 schick Informatik")]
[assembly: AssemblyTrademark("")]
\ No newline at end of file
diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs
index e61c80ea..b72b846d 100644
--- a/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs
+++ b/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs
@@ -1,4 +1,4 @@
using System.Reflection;
-[assembly: AssemblyVersion("3.9.9.*")]
+[assembly: AssemblyVersion("3.9.10.*")]
diff --git a/nsw/Source/bsmd.dbh/Request.cs b/nsw/Source/bsmd.dbh/Request.cs
index 778555a6..91cc0c47 100644
--- a/nsw/Source/bsmd.dbh/Request.cs
+++ b/nsw/Source/bsmd.dbh/Request.cs
@@ -385,8 +385,11 @@ namespace bsmd.dbh
secItems.Add(sec.CSOEMail);
choiceType1s.Add(ItemsChoiceType1.ValidISSCOnBoard);
secItems.Add(sec.ValidISSCOnBoard ?? false ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N);
- choiceType1s.Add(ItemsChoiceType1.ReasonsForNoValidISSC);
- secItems.Add(sec.ReasonsForNoValidISSC);
+ if (!(sec.ValidISSCOnBoard ?? false) && !sec.ReasonsForNoValidISSC.IsNullOrEmpty())
+ {
+ choiceType1s.Add(ItemsChoiceType1.ReasonsForNoValidISSC);
+ secItems.Add(sec.ReasonsForNoValidISSC);
+ }
choiceType1s.Add(ItemsChoiceType1.ISSCType);
secItems.Add((ISSCType)(sec.ISSCType ?? 0));
choiceType1s.Add(ItemsChoiceType1.ISSCIssuerType);