diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx
index 85954c66..fcbf57f2 100644
Binary files a/Stundensheet.xlsx and b/Stundensheet.xlsx differ
diff --git a/nsw/Dänemark/SafeSeaNetTest/App.config b/nsw/Dänemark/SafeSeaNetTest/App.config
index 45437954..877624ed 100644
--- a/nsw/Dänemark/SafeSeaNetTest/App.config
+++ b/nsw/Dänemark/SafeSeaNetTest/App.config
@@ -1,6 +1,6 @@
-
+
diff --git a/nsw/Dänemark/SafeSeaNetTest/SafeSeaNetTest.csproj b/nsw/Dänemark/SafeSeaNetTest/SafeSeaNetTest.csproj
index dfd4a9d5..aa060fbb 100644
--- a/nsw/Dänemark/SafeSeaNetTest/SafeSeaNetTest.csproj
+++ b/nsw/Dänemark/SafeSeaNetTest/SafeSeaNetTest.csproj
@@ -9,7 +9,7 @@
Properties
SafeSeaNetTest
SafeSeaNetTest
- v4.6.1
+ v4.5
512
true
diff --git a/nsw/Source/SQL/Update_3.1.3_To_3.5.sql b/nsw/Source/SQL/Update_3.1.3_To_3.5.sql
new file mode 100644
index 00000000..abd510c6
--- /dev/null
+++ b/nsw/Source/SQL/Update_3.1.3_To_3.5.sql
@@ -0,0 +1,59 @@
+-- Dieses Update hebt die Datenbank auf DK Verarbeitung an ( Version 3.5)
+-- Version 4.0 sind dann die Änderungen für NSW 2017
+
+PRINT N'Altering [dbo].[NOA_NOD]...';
+GO
+ALTER TABLE [dbo].[NOA_NOD] ADD [IsAnchored] BIT NULL;
+GO
+
+PRINT N'Altering [dbo].[INFO]...';
+GO
+ALTER TABLE [dbo].[INFO] ADD [PortFacility] NVARCHAR(10) NULL;
+GO
+
+PRINT N'Altering [dbo].[PRE72H]...';
+GO
+ALTER TABLE [dbo].[PRE72H] ADD [IsDueToInspection] BIT NULL;
+ALTER TABLE [dbo].[PRE72H] ADD [PossibleAnchorage] BIT NULL;
+GO
+
+PRINT N'Altering [dbo].[BPOL]...';
+GO
+ALTER TABLE [dbo].[BPOL] ADD [CruiseShip] BIT NULL;
+GO
+
+PRINT N'Altering [dbo].[PortOfItinerary]...';
+GO
+ALTER TABLE [dbo].[PortOfItinerary] ADD [PortOfItineraryLocode] CHAR(5) NULL;
+GO
+
+PRINT N'Altering [dbo].[WAS]...';
+GO
+ALTER TABLE [dbo].[WAS] ADD [ConfirmationOfSufficiency] BIT NULL;
+GO
+
+PRINT N'Altering [dbo].[SEC]...';
+GO
+ALTER TABLE [dbo].[SEC] ADD [MatterToReport] NVARCHAR(1024) NULL;
+GO
+
+PRINT N'Altering [dbo].[STAT]...';
+GO
+ALTER TABLE [dbo].[STAT] ADD NetTonnage [FLOAT] NULL;
+ALTER TABLE [dbo].[STAT] ADD RegistryDate [DATETIME] NULL;
+ALTER TABLE [dbo].[STAT] ADD CertificateOfRegistryNumber NVARCHAR(64) NULL;
+GO
+
+PRINT N'Creating [dbo].[STO]..';
+GO
+CREATE TABLE [dbo].[STO] (
+ [Id] UNIQUEIDENTIFIER CONSTRAINT [PK_PortArea_Id] DEFAULT (newid()) ROWGUIDCOL NOT NULL ,
+ [MessageHeaderId] [uniqueidentifier] NULL,
+ [Name] [NVARCHAR] (255) NULL,
+ [Quantity] [INT] NULL,
+ [QuantityUnit] [NVARCHAR] (16) NULL,
+ [LocationOnBoard] [NVARCHAR] (64) NULL,
+ [OfficialUse] [NVARCHAR] (16) NULL
+);
+GO
+
diff --git a/nsw/Source/bsmd.database/BPOL.cs b/nsw/Source/bsmd.database/BPOL.cs
index 40467e76..66559db7 100644
--- a/nsw/Source/bsmd.database/BPOL.cs
+++ b/nsw/Source/bsmd.database/BPOL.cs
@@ -30,6 +30,8 @@ namespace bsmd.database
[Validation(ValidationCode.NOT_NULL)]
public bool? StowawaysOnBoard { get; set; }
+ public bool? CruiseShip { get; set; }
+
public List PortOfItineraries { get { return this.poi; } }
#endregion
@@ -43,24 +45,25 @@ namespace bsmd.database
scmd.Parameters.AddWithValue("@P1", this.MessageHeader.Id);
scmd.Parameters.AddWithNullableValue("@P2", this.StowawaysOnBoard);
+ scmd.Parameters.AddWithNullableValue("@P3", this.CruiseShip);
if (this.IsNew)
{
this.CreateId();
scmd.Parameters.AddWithValue("@ID", this.Id);
- scmd.CommandText = string.Format("INSERT INTO {0} (Id, MessageHeaderId, StowawaysOnBoard) VALUES ( @ID, @P1, @P2 )",
+ scmd.CommandText = string.Format("INSERT INTO {0} (Id, MessageHeaderId, StowawaysOnBoard, CruiseShip) VALUES ( @ID, @P1, @P2, @P3 )",
this.Tablename);
}
else
{
scmd.Parameters.AddWithValue(@"ID", this.Id);
- scmd.CommandText = string.Format("UPDATE {0} SET StowawaysOnBoard = @P2 WHERE Id = @ID", this.Tablename);
+ scmd.CommandText = string.Format("UPDATE {0} SET StowawaysOnBoard = @P2, CruiseShip = @P3 WHERE Id = @ID", this.Tablename);
}
}
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
{
- string query = string.Format("SELECT Id, StowawaysOnBoard FROM {0}", this.Tablename);
+ string query = string.Format("SELECT Id, StowawaysOnBoard, CruiseShip FROM {0}", this.Tablename);
switch (filter)
{
diff --git a/nsw/Source/bsmd.database/INFO.cs b/nsw/Source/bsmd.database/INFO.cs
index e48080f2..8bd0fd2f 100644
--- a/nsw/Source/bsmd.database/INFO.cs
+++ b/nsw/Source/bsmd.database/INFO.cs
@@ -64,6 +64,10 @@ namespace bsmd.database
[MaxLength(50)]
public string SternThrusterPower { get; set; }
+ [MaxLength(4)]
+ [LookupName("INFO.PortFacility")]
+ public string PortFacility { get; set; }
+
#endregion
#region DatabaseEntity implementation
@@ -91,26 +95,29 @@ namespace bsmd.database
scmd.Parameters.AddWithNullableValue("@P8", this.PortArea);
scmd.Parameters.AddWithNullableValue("@P9", this.BowThrusterPower);
scmd.Parameters.AddWithNullableValue("@P10", this.SternThrusterPower);
+ scmd.Parameters.AddWithNullableValue("@P11", this.PortFacility);
if (this.IsNew)
{
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, ShippingArea, RequestedPositionInPortOfCall, " +
"SpecialRequirementsOfShipAtBerth, ConstructionCharacteristicsOfShip, FumigatedBulkCargo, DeplacementSummerDraught_TNE, " +
- "PortArea, BowThrusterPower, SternThrusterPower) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10 )", this.Tablename);
+ "PortArea, BowThrusterPower, SternThrusterPower, PortFacility) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11 )", this.Tablename);
}
else
{
scmd.Parameters.AddWithValue(@"ID", this.Id);
scmd.CommandText = string.Format("UPDATE {0} SET ShippingArea = @P2, RequestedPositionInPortOfCall = @P3, " +
"SpecialRequirementsOfShipAtBerth = @P4, ConstructionCharacteristicsOfShip = @P5, FumigatedBulkCargo = @P6," +
- "DeplacementSummerDraught_TNE = @P7, PortArea = @P8, BowThrusterPower = @P9, SternThrusterPower = @P10 WHERE Id = @ID", this.Tablename);
+ "DeplacementSummerDraught_TNE = @P7, PortArea = @P8, BowThrusterPower = @P9, SternThrusterPower = @P10, " +
+ "PortFacility = @P11 WHERE Id = @ID", this.Tablename);
}
}
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
{
string query = string.Format("SELECT Id, ShippingArea, RequestedPositionInPortOfCall, SpecialRequirementsOfShipAtBerth, " +
- "ConstructionCharacteristicsOfShip, FumigatedBulkCargo, DeplacementSummerDraught_TNE, PortArea, BowThrusterPower, SternThrusterPower FROM {0}",
+ "ConstructionCharacteristicsOfShip, FumigatedBulkCargo, DeplacementSummerDraught_TNE, PortArea, BowThrusterPower, " +
+ "SternThrusterPower, PortFacility FROM {0}",
this.Tablename);
switch (filter)
@@ -146,6 +153,7 @@ namespace bsmd.database
if (!reader.IsDBNull(7)) info.PortArea = reader.GetString(7);
if (!reader.IsDBNull(8)) info.BowThrusterPower = reader.GetString(8);
if (!reader.IsDBNull(9)) info.SternThrusterPower = reader.GetString(9);
+ if(!reader.IsDBNull(10)) info.PortFacility = reader.GetString(10);
result.Add(info);
}
reader.Close();
diff --git a/nsw/Source/bsmd.database/NOA_NOD.cs b/nsw/Source/bsmd.database/NOA_NOD.cs
index 1033abec..b04cdd07 100644
--- a/nsw/Source/bsmd.database/NOA_NOD.cs
+++ b/nsw/Source/bsmd.database/NOA_NOD.cs
@@ -61,6 +61,8 @@ namespace bsmd.database
[ShowReport]
public DateTime? ETAToNextPort { get; set; }
+ public bool? IsAnchored { get; set; }
+
#endregion
#region abstract class implementation
@@ -68,7 +70,7 @@ namespace bsmd.database
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
{
string query = string.Format("SELECT Id, ETAToPortOfCall, ETDFromPortOfCall, " +
- "ETAToKielCanal, ETDFromKielCanal, LastPort, ETDFromLastPort, NextPort, ETAToNextPort FROM {0}", this.Tablename);
+ "ETAToKielCanal, ETDFromKielCanal, LastPort, ETDFromLastPort, NextPort, ETAToNextPort, IsAnchored FROM {0}", this.Tablename);
switch (filter)
{
@@ -100,6 +102,7 @@ namespace bsmd.database
if (!reader.IsDBNull(6)) nn.ETDFromLastPort = DateTime.SpecifyKind(reader.GetDateTime(6), DateTimeKind.Utc);
if (!reader.IsDBNull(7)) nn.NextPort = reader.GetString(7);
if (!reader.IsDBNull(8)) nn.ETAToNextPort = DateTime.SpecifyKind(reader.GetDateTime(8), DateTimeKind.Utc);
+ if (!reader.IsDBNull(9)) nn.IsAnchored = reader.GetBoolean(9);
result.Add(nn);
}
reader.Close();
@@ -119,6 +122,7 @@ namespace bsmd.database
scmd.Parameters.AddWithNullableValue("@P7", this.ETDFromLastPort);
scmd.Parameters.AddWithNullableValue("@P8", this.NextPort);
scmd.Parameters.AddWithNullableValue("@P9", this.ETAToNextPort);
+ scmd.Parameters.AddWithNullableValue("@P10", this.IsAnchored);
if (this.IsNew)
{
@@ -126,7 +130,8 @@ namespace bsmd.database
scmd.Parameters.AddWithValue("@ID", this.Id);
scmd.CommandText = string.Format("INSERT INTO {0} ( Id, MessageHeaderId, ETAToPortOfCall, ETDFromPortOfCall, " +
"ETAToKielCanal, ETDFromKielCanal, LastPort, ETDFromLastPort, " +
- "NextPort, ETAToNextPort) VALUES (@ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9) ", this.Tablename);
+ "NextPort, ETAToNextPort, IsAnchored) VALUES (@ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10) ",
+ this.Tablename);
}
else
{
@@ -134,7 +139,7 @@ namespace bsmd.database
scmd.CommandText = string.Format("UPDATE {0} SET ETAToPortOfCall = @P2, ETDFromPortOfCall = @P3, " +
"ETAToKielCanal = @P4, ETDFromKielCanal = @P5, LastPort = @P6, ETDFromLastPort = @P7, " +
- "NextPort = @P8, ETAToNextPort = @P9 WHERE Id = @ID", this.Tablename);
+ "NextPort = @P8, ETAToNextPort = @P9, IsAnchored = @P10 WHERE Id = @ID", this.Tablename);
}
}
diff --git a/nsw/Source/bsmd.database/PRE72H.cs b/nsw/Source/bsmd.database/PRE72H.cs
index 9ecd6d88..b99794d0 100644
--- a/nsw/Source/bsmd.database/PRE72H.cs
+++ b/nsw/Source/bsmd.database/PRE72H.cs
@@ -65,6 +65,12 @@ namespace bsmd.database
[LookupName("PRE72H.PlannedPeriodOfStay_HUR")]
public double? PlannedPeriodOfStay_HUR { get; set; }
+ [LookupName("PRE72H.IsDueToInspection")]
+ public bool? IsDueToInspection { get; set; }
+
+ [LookupName("PRE72H.PossibleAnchorage")]
+ public bool? PossibleAnchorage { get; set; }
+
public override string Subtitle
{
get
@@ -92,13 +98,15 @@ namespace bsmd.database
scmd.Parameters.AddWithNullableValue("@P8", this.PlannedWorks);
scmd.Parameters.AddWithNullableValue("@P9", this.DateOfLastExpandedInspection);
scmd.Parameters.AddWithNullableValue("@P10", this.PlannedPeriodOfStay_HUR);
-
+ scmd.Parameters.AddWithNullableValue("@P11", this.IsDueToInspection);
+ scmd.Parameters.AddWithNullableValue("@P12", this.PossibleAnchorage);
if (this.IsNew)
{
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, Tanker, TankerHullConfiguration, " +
"ConditionCargoBallastTanks, NatureOfCargo, VolumeOfCargo, PlannedOperations, PlannedWorks, DateOfLastExpandedInspection, " +
- "PlannedPeriodOfStay_HUR) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10 )", this.Tablename);
+ "PlannedPeriodOfStay_HUR, IsDueToInspection, PossibleAnchorage) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12 )",
+ this.Tablename);
}
else
{
@@ -106,7 +114,7 @@ namespace bsmd.database
scmd.CommandText = string.Format("UPDATE {0} SET Tanker = @P2, TankerHullConfiguration = @P3, " +
"ConditionCargoBallastTanks = @P4, NatureOfCargo = @P5, VolumeOfCargo = @P6," +
"PlannedOperations = @P7, PlannedWorks = @P8, DateOfLastExpandedInspection = @P9, " +
- "PlannedPeriodOfStay_HUR = @P10 WHERE Id = @ID", this.Tablename);
+ "PlannedPeriodOfStay_HUR = @P10, IsDueToInspection = @P11, PossibleAnchorage = @P12 WHERE Id = @ID", this.Tablename);
}
}
@@ -114,7 +122,7 @@ namespace bsmd.database
{
string query = string.Format("SELECT Id, Tanker, TankerHullConfiguration, ConditionCargoBallastTanks, " +
"NatureOfCargo, VolumeOfCargo, PlannedOperations, PlannedWorks, DateOfLastExpandedInspection, " +
- "PlannedPeriodOfStay_HUR FROM {0}", this.Tablename);
+ "PlannedPeriodOfStay_HUR, IsDueToInspection, PossibleAnchorage FROM {0}", this.Tablename);
switch (filter)
{
@@ -149,6 +157,8 @@ namespace bsmd.database
if (!reader.IsDBNull(7)) pre72h.PlannedWorks = reader.GetString(7);
if (!reader.IsDBNull(8)) pre72h.DateOfLastExpandedInspection = reader.GetDateTime(8);
if (!reader.IsDBNull(9)) pre72h.PlannedPeriodOfStay_HUR = (float) reader.GetDouble(9);
+ if (!reader.IsDBNull(10)) pre72h.IsDueToInspection = reader.GetBoolean(10);
+ if (!reader.IsDBNull(11)) pre72h.PossibleAnchorage = reader.GetBoolean(11);
result.Add(pre72h);
}
reader.Close();
diff --git a/nsw/Source/bsmd.database/PortOfItinerary.cs b/nsw/Source/bsmd.database/PortOfItinerary.cs
index 16060793..dcc1b202 100644
--- a/nsw/Source/bsmd.database/PortOfItinerary.cs
+++ b/nsw/Source/bsmd.database/PortOfItinerary.cs
@@ -35,6 +35,9 @@ namespace bsmd.database
[Validation(ValidationCode.NOT_NULL)]
public DateTime? PortOfItineraryETA { get; set; }
+ [Validation(ValidationCode.LOCODE)]
+ public string PortOfItineraryLocode { get; set; }
+
public string Identifier { get; set; }
#endregion
@@ -50,23 +53,25 @@ namespace bsmd.database
scmd.Parameters.AddWithNullableValue("@P2", this.PortOfItineraryName);
scmd.Parameters.AddWithNullableValue("@P3", this.PortOfItineraryETA);
scmd.Parameters.AddWithNullableValue("@P4", this.Identifier);
+ scmd.Parameters.AddWithNullableValue("@P5", this.PortOfItineraryLocode);
if (this.IsNew)
{
- scmd.CommandText = string.Format("INSERT INTO {0} (BPOLId, PortOfItineraryName, PortOfItineraryETA, Identifier) " +
- "VALUES ( @P1, @P2, @P3, @P4 )", this.Tablename);
+ scmd.CommandText = string.Format("INSERT INTO {0} (BPOLId, PortOfItineraryName, PortOfItineraryETA, Identifier, " +
+ "PortOfItineraryLocode) VALUES ( @P1, @P2, @P3, @P4, @P5 )", this.Tablename);
}
else
{
scmd.Parameters.AddWithValue(@"ID", this.Id);
- scmd.CommandText = string.Format("UPDATE {0} SET PortOfItineraryName = @P2, PortOfItineraryETA = @P3 " +
- "WHERE Id = @ID", this.Tablename);
+ scmd.CommandText = string.Format("UPDATE {0} SET PortOfItineraryName = @P2, PortOfItineraryETA = @P3, " +
+ "PortOfItineraryLocode = @P5 WHERE Id = @ID", this.Tablename);
}
}
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
{
- string query = string.Format("SELECT Id, PortOfItineraryName, PortOfItineraryETA, Identifier FROM {0}", this.Tablename);
+ string query = string.Format("SELECT Id, PortOfItineraryName, PortOfItineraryETA, Identifier, PortOfItineraryLocode FROM {0}",
+ this.Tablename);
switch (filter)
{
@@ -95,6 +100,7 @@ namespace bsmd.database
if (!reader.IsDBNull(1)) poi.PortOfItineraryName = reader.GetString(1);
if (!reader.IsDBNull(2)) poi.PortOfItineraryETA = reader.GetDateTime(2);
if (!reader.IsDBNull(3)) poi.Identifier = reader.GetString(3);
+ if (!reader.IsDBNull(4)) poi.PortOfItineraryLocode = reader.GetString(4);
result.Add(poi);
}
reader.Close();
diff --git a/nsw/Source/bsmd.database/SEC.cs b/nsw/Source/bsmd.database/SEC.cs
index 9d0f9416..28bd73af 100644
--- a/nsw/Source/bsmd.database/SEC.cs
+++ b/nsw/Source/bsmd.database/SEC.cs
@@ -118,6 +118,10 @@ namespace bsmd.database
[Validation2(ValidationCode.NOT_NULL)]
public byte? GeneralDescriptionOfCargo { get; set; }
+ [LookupName("SEC.MatterToReport")]
+ [MaxLength(1024)]
+ public string MatterToReport { get; set; }
+
public List LastTenPortFacilitesCalled { get { return this.ltpfc; } }
public List ShipToShipActivitiesDuringLastTenPortFacilitiesCalled { get { return this.lsts; } }
@@ -149,6 +153,7 @@ namespace bsmd.database
scmd.Parameters.AddWithNullableValue("@P16", this.PortFacilityOfArrival);
scmd.Parameters.AddWithNullableValue("@P17", this.GeneralDescriptionOfCargo);
scmd.Parameters.AddWithNullableValue("@P18", this.CSOFax);
+ scmd.Parameters.AddWithNullableValue("@P19", this.MatterToReport);
if (this.IsNew)
{
@@ -157,8 +162,9 @@ namespace bsmd.database
scmd.CommandText = string.Format("INSERT INTO {0} (Id, MessageHeaderId, SECSimplification, PortOfCallWhereCompleteSECNotified, " +
"CSOLastName, CSOFirstName, CSOPhone, CSOEMail, ValidISSCOnBoard, ReasonsForNoValidISSC, " +
"ISSCType, ISSCIssuerType, ISSCIssuerName,ISSCDateOfExpiration, ApprovedSecurityPlanOnBoard, " +
- "CurrentShipSecurityLevel, PortFacilityOfArrival, GeneralDescriptionOfCargo, CSOFax) " +
- "VALUES ( @ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, @P17, @P18 )", this.Tablename);
+ "CurrentShipSecurityLevel, PortFacilityOfArrival, GeneralDescriptionOfCargo, CSOFax, MatterToReport) " +
+ "VALUES ( @ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, " +
+ "@P17, @P18, @P19 )", this.Tablename);
}
else
{
@@ -168,7 +174,7 @@ namespace bsmd.database
"CSOEMail = @P7, ValidISSCOnBoard = @P8, ReasonsForNoValidISSC = @P9, " +
"ISSCType = @P10, ISSCIssuerType = @P11, ISSCIssuerName = @P12, ISSCDateOfExpiration = @P13, " +
"ApprovedSecurityPlanOnBoard = @P14, CurrentShipSecurityLevel = @P15, PortFacilityOfArrival = @P16, " +
- "GeneralDescriptionOfCargo = @P17, CSOFax = @P18 WHERE Id = @ID", this.Tablename);
+ "GeneralDescriptionOfCargo = @P17, CSOFax = @P18, MatterToReport = @P19 WHERE Id = @ID", this.Tablename);
}
}
@@ -177,7 +183,7 @@ namespace bsmd.database
string query = string.Format("SELECT Id, SECSimplification, PortOfCallWhereCompleteSECNotified, CSOLastName, " +
"CSOFirstName, CSOPhone, CSOEMail, ValidISSCOnBoard, ReasonsForNoValidISSC, " +
"ISSCType, ISSCIssuerType, ISSCIssuerName, ISSCDateOfExpiration, ApprovedSecurityPlanOnBoard, " +
- "CurrentShipSecurityLevel, PortFacilityOfArrival, GeneralDescriptionOfCargo, CSOFax FROM {0}", this.Tablename);
+ "CurrentShipSecurityLevel, PortFacilityOfArrival, GeneralDescriptionOfCargo, CSOFax, MatterToReport FROM {0}", this.Tablename);
switch (filter)
{
@@ -220,6 +226,8 @@ namespace bsmd.database
if (!reader.IsDBNull(15)) sec.PortFacilityOfArrival = reader.GetString(15);
if (!reader.IsDBNull(16)) sec.GeneralDescriptionOfCargo = reader.GetByte(16);
if (!reader.IsDBNull(17)) sec.CSOFax = reader.GetString(17);
+ if (!reader.IsDBNull(18)) sec.MatterToReport = reader.GetString(18);
+
result.Add(sec);
}
reader.Close();
diff --git a/nsw/Source/bsmd.database/STAT.cs b/nsw/Source/bsmd.database/STAT.cs
index 34a7db89..02c8c5dd 100644
--- a/nsw/Source/bsmd.database/STAT.cs
+++ b/nsw/Source/bsmd.database/STAT.cs
@@ -138,6 +138,16 @@ namespace bsmd.database
}
}
+ [LookupName("STAT.NetTonnage")]
+ public double? NetTonnage { get; set; }
+
+ [LookupName("STAT.RegistryDate")]
+ public DateTime? RegistryDate { get; set; }
+
+ [LookupName("STAT.CertificateOfRegistryNumber")]
+ [MaxLength(35)]
+ public string CertificateOfRegistryNumber { get; set; }
+
#endregion
#region abstract class implementation
@@ -146,7 +156,8 @@ namespace bsmd.database
{
string query = string.Format("SELECT Id, ShipName, Callsign, MMSINumber, Flag, LengthOverall_MTR, Beam_MTR, " +
"GrossTonnage, PortOfRegistry, InmarsatCallNumber, ShipType, ISMCompanyName, ISMCompanyId, ISMCompanyStreetAndNumber, " +
- "ISMCompanyPostalCode, ISMCompanyCity, ISMCompanyCountry, TransportMode FROM {0} ", this.Tablename);
+ "ISMCompanyPostalCode, ISMCompanyCity, ISMCompanyCountry, TransportMode, NetTonnage, RegistryDate, " +
+ "CertificateOfRegistryNumber FROM {0} ", this.Tablename);
switch (filter)
{
@@ -189,6 +200,9 @@ namespace bsmd.database
if (!reader.IsDBNull(15)) stat.ISMCompanyCity = reader.GetString(15);
if (!reader.IsDBNull(16)) stat.ISMCompanyCountry = reader.GetString(16);
if (!reader.IsDBNull(17)) stat.TransportMode = reader.GetString(17);
+ if (!reader.IsDBNull(18)) stat.NetTonnage = (float) reader.GetDouble(18);
+ if (!reader.IsDBNull(19)) stat.RegistryDate = reader.GetDateTime(19);
+ if (!reader.IsDBNull(20)) stat.CertificateOfRegistryNumber = reader.GetString(20);
result.Add(stat);
}
@@ -235,22 +249,26 @@ namespace bsmd.database
else scmd.Parameters.AddWithValue("@P17", DBNull.Value);
if (this.TransportMode != null) scmd.Parameters.AddWithValue("@P18", this.TransportMode);
else scmd.Parameters.AddWithValue("@P18", DBNull.Value);
+ scmd.Parameters.AddWithNullableValue("@P19", this.NetTonnage);
+ scmd.Parameters.AddWithNullableValue("@P20", this.RegistryDate);
+ scmd.Parameters.AddWithNullableValue("@P21", this.CertificateOfRegistryNumber);
if (this.IsNew)
{
cmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, ShipName, CallSign, MMSINumber, " +
"Flag, LengthOverall_MTR, Beam_MTR, GrossTonnage, PortOfRegistry, InmarsatCallNumber, ShipType, " +
"ISMCompanyName, ISMCompanyId, ISMCompanyStreetAndNumber, ISMCompanyPostalCode, ISMCompanyCity, " +
- "ISMCompanyCountry, TransportMode) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, " +
- " @P12, @P13, @P14, @P15, @P16, @P17, @P18)", this.Tablename);
+ "ISMCompanyCountry, TransportMode, NetTonnage, RegistryDate, CertificateOfRegistryNumber) " +
+ "VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, " +
+ " @P12, @P13, @P14, @P15, @P16, @P17, @P18, @P19, @P20, @P21)", this.Tablename);
}
else
{
cmd.CommandText = string.Format("UPDATE {0} SET ShipName = @P2, CallSign = @P3, MMSINumber = @P4, Flag = @P5, " +
"LengthOverall_MTR = @P6, Beam_MTR = @P7, GrossTonnage = @P8, PortOfRegistry = @P9, InmarsatCallNumber = @P10, " +
"ShipType = @P11, ISMCompanyName = @P12, ISMCompanyId = @P13, ISMCompanyStreetAndNumber = @P14, " +
- "ISMCompanyPostalCode = @P15, ISMCompanyCity = @P16, ISMCompanyCountry = @P17, TransportMode = @P18 " +
- "WHERE Id = @ID", this.Tablename);
+ "ISMCompanyPostalCode = @P15, ISMCompanyCity = @P16, ISMCompanyCountry = @P17, TransportMode = @P18, " +
+ "NetTonnage = @P19, RegistryDate = @P20, CertificateOfRegistryNumber = @P21 WHERE Id = @ID", this.Tablename);
scmd.Parameters.AddWithValue("@ID", this.Id);
}
diff --git a/nsw/Source/bsmd.database/WAS.cs b/nsw/Source/bsmd.database/WAS.cs
index 21e19e83..2864a41a 100644
--- a/nsw/Source/bsmd.database/WAS.cs
+++ b/nsw/Source/bsmd.database/WAS.cs
@@ -51,6 +51,9 @@ namespace bsmd.database
[Validation2(ValidationCode.NOT_NULL)]
public byte? WasteDisposalDelivery { get; set; }
+ [LookupName("WAS.ConfirmationOfSufficiency")]
+ public bool? ConfirmationOfSufficiency { get; set; }
+
public List Waste { get { return this.waste; } }
public List WasteDisposalServiceProvider { get { return this.wdsp; } }
@@ -70,27 +73,29 @@ namespace bsmd.database
scmd.Parameters.AddWithNullableValue("@P4", this.ConfirmationOfCorrectness);
scmd.Parameters.AddWithNullableValue("@P5", this.LastWasteDisposalDate);
scmd.Parameters.AddWithNullableValue("@P6", this.WasteDisposalDelivery);
+ scmd.Parameters.AddWithNullableValue("@P7", this.ConfirmationOfSufficiency);
if (this.IsNew)
{
this.CreateId();
scmd.Parameters.AddWithValue("@ID", this.Id);
scmd.CommandText = string.Format("INSERT INTO {0} (Id, MessageHeaderId, WasteDisposalValidExemption, " +
- "LastWasteDisposalPort, ConfirmationOfCorrectness, LastWasteDisposalDate, WasteDisposalDelivery) " +
- "VALUES ( @ID, @P1, @P2, @P3, @P4, @P5, @P6 )", this.Tablename);
+ "LastWasteDisposalPort, ConfirmationOfCorrectness, LastWasteDisposalDate, WasteDisposalDelivery, " +
+ "ConfirmationOfSufficiency) VALUES ( @ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7 )", this.Tablename);
}
else
{
scmd.Parameters.AddWithValue(@"ID", this.Id);
scmd.CommandText = string.Format("UPDATE {0} SET WasteDisposalValidExemption = @P2, LastWasteDisposalPort = @P3, " +
- "ConfirmationOfCorrectness = @P4, LastWasteDisposalDate = @P5, WasteDisposalDelivery = @P6 " +
+ "ConfirmationOfCorrectness = @P4, LastWasteDisposalDate = @P5, WasteDisposalDelivery = @P6, ConfirmationOfSufficiency = @P7 " +
"WHERE Id = @ID", this.Tablename);
}
}
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
{
- string query = string.Format("SELECT Id, WasteDisposalValidExemption, LastWasteDisposalPort, ConfirmationOfCorrectness, LastWasteDisposalDate, WasteDisposalDelivery " +
+ string query = string.Format("SELECT Id, WasteDisposalValidExemption, LastWasteDisposalPort, ConfirmationOfCorrectness, " +
+ "LastWasteDisposalDate, WasteDisposalDelivery, ConfirmationOfSufficiency " +
"FROM {0} ", this.Tablename);
switch (filter)
@@ -122,6 +127,7 @@ namespace bsmd.database
if (!reader.IsDBNull(3)) was.ConfirmationOfCorrectness = reader.GetBoolean(3);
if (!reader.IsDBNull(4)) was.LastWasteDisposalDate = reader.GetDateTime(4);
if (!reader.IsDBNull(5)) was.WasteDisposalDelivery = reader.GetByte(5);
+ if (!reader.IsDBNull(6)) was.ConfirmationOfSufficiency = reader.GetBoolean(6);
result.Add(was);
}
reader.Close();