1.7 commit vor Pfingsten
This commit is contained in:
parent
5f9884e4ec
commit
eeabece855
Binary file not shown.
59
nsw/Source/SQL/Update_1.6_To_1.7.sql
Normal file
59
nsw/Source/SQL/Update_1.6_To_1.7.sql
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
CREATE TABLE [dbo].[CallPurpose]
|
||||||
|
(
|
||||||
|
[Id] UNIQUEIDENTIFIER CONSTRAINT [DF_CallPurpose_Id] DEFAULT (newid()) ROWGUIDCOL NOT NULL,
|
||||||
|
[NOA_NODId] UNIQUEIDENTIFIER NULL,
|
||||||
|
[CallPurposeCode] int NULL,
|
||||||
|
[CallPurposeDescription] NVARCHAR (100) NULL,
|
||||||
|
CONSTRAINT [PK_CallPurpose] PRIMARY KEY CLUSTERED ([Id] ASC),
|
||||||
|
CONSTRAINT [FK_CallPurpose_NOA_NOD] FOREIGN KEY ([NOA_NODId]) REFERENCES [dbo].[NOA_NOD] ([Id])
|
||||||
|
)
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
ALTER TABLE [dbo].[NOA_NOD] DROP COLUMN [CallPurposeCode], COLUMN [CallPurposeDescription];
|
||||||
|
GO
|
||||||
|
|
||||||
|
ALTER TABLE [dbo].[BKRA] ADD [Identifier] NVARCHAR (50) NULL;
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[BKRD] ADD [Identifier] NVARCHAR (50) NULL;
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[LADG] ADD [Identifier] NVARCHAR (50) NULL;
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[CREW] ADD [Identifier] NVARCHAR (50) NULL;
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[PAS] ADD [Identifier] NVARCHAR (50) NULL;
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[SERV] ADD [Identifier] NVARCHAR (50) NULL;
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[TOWA] ADD [Identifier] NVARCHAR (50) NULL;
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[TOWD] ADD [Identifier] NVARCHAR (50) NULL;
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[CallPurpose] ADD [Identifier] NVARCHAR (50) NULL;
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[LastTenPortFacilitiesCalled] ADD [Identifier] NVARCHAR (50) NULL;
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[PortOfCallLast30Days] ADD [Identifier] NVARCHAR (50) NULL;
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[PortOfCallLast30DaysCrewJoinedShip] ADD [Identifier] NVARCHAR (50) NULL;
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[PortOfItinerary] ADD [Identifier] NVARCHAR (50) NULL;
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[ShipToShipActivitiesDuringLastTenPortFacilitiesCalled] ADD [Identifier] NVARCHAR (50) NULL;
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[SubsidiaryRisks] ADD [Identifier] NVARCHAR (50) NULL;
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[Waste] ADD [Identifier] NVARCHAR (50) NULL;
|
||||||
|
GO
|
||||||
|
ALTER TABLE [dbo].[WasteDisposalServiceProvider] ADD [Identifier] NVARCHAR (50) NULL;
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE [dbo].[Waste] DROP CONSTRAINT [FK_Waste_WasteDisposalServiceProvider];
|
||||||
|
GO
|
||||||
|
|
||||||
|
ALTER TABLE [dbo].[MessageCore] ADD [ETAKielCanal] DATETIME NULL;
|
||||||
|
GO
|
||||||
|
|
||||||
|
EXECUTE sp_rename @objname = N'[dbo].[TOWD].[TowageOnDepartureOperatorStreetAndNumber]', @newname = N'TowageOnDepartureOperatorStreetNameAndNumber', @objtype = N'COLUMN';
|
||||||
|
GO
|
||||||
@ -28,6 +28,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public float? BunkerFuelQuantity_TNE { get; set; }
|
public float? BunkerFuelQuantity_TNE { get; set; }
|
||||||
|
|
||||||
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region DatabaseEntity implementation
|
#region DatabaseEntity implementation
|
||||||
@ -40,11 +42,12 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithValue("@P1", this.MessageHeader.Id);
|
scmd.Parameters.AddWithValue("@P1", this.MessageHeader.Id);
|
||||||
scmd.Parameters.AddWithNullableValue("@P2", this.BunkerFuelType);
|
scmd.Parameters.AddWithNullableValue("@P2", this.BunkerFuelType);
|
||||||
scmd.Parameters.AddWithNullableValue("@P3", this.BunkerFuelQuantity_TNE);
|
scmd.Parameters.AddWithNullableValue("@P3", this.BunkerFuelQuantity_TNE);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P4", this.Identifier);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, BunkerFuelType, BunkerFuelQuantity_TNE) " +
|
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, BunkerFuelType, BunkerFuelQuantity_TNE, Identifier) " +
|
||||||
"VALUES ( @P1, @P2, @P3 )", this.Tablename);
|
"VALUES ( @P1, @P2, @P3, @P4 )", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -55,7 +58,7 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
||||||
{
|
{
|
||||||
string query = string.Format("SELECT Id, BunkerFuelType, BunkerFuelQuantity_TNE FROM {0}", this.Tablename);
|
string query = string.Format("SELECT Id, BunkerFuelType, BunkerFuelQuantity_TNE, Identifier FROM {0}", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
@ -83,6 +86,7 @@ namespace bsmd.database
|
|||||||
bkra.id = reader.GetGuid(0);
|
bkra.id = reader.GetGuid(0);
|
||||||
if (!reader.IsDBNull(1)) bkra.BunkerFuelType = reader.GetString(1);
|
if (!reader.IsDBNull(1)) bkra.BunkerFuelType = reader.GetString(1);
|
||||||
if (!reader.IsDBNull(2)) bkra.BunkerFuelQuantity_TNE = (float) reader.GetDouble(2);
|
if (!reader.IsDBNull(2)) bkra.BunkerFuelQuantity_TNE = (float) reader.GetDouble(2);
|
||||||
|
if (!reader.IsDBNull(3)) bkra.Identifier = reader.GetString(3);
|
||||||
result.Add(bkra);
|
result.Add(bkra);
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
|||||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace bsmd.database
|
namespace bsmd.database
|
||||||
{
|
{
|
||||||
public class BPOL : DatabaseEntity
|
public class BPOL : DatabaseEntity, ISublistContainer
|
||||||
{
|
{
|
||||||
|
|
||||||
private List<PortOfItinerary> poi = new List<PortOfItinerary>();
|
private List<PortOfItinerary> poi = new List<PortOfItinerary>();
|
||||||
@ -44,7 +44,9 @@ namespace bsmd.database
|
|||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, StowawaysOnBoard) VALUES ( @P1, @P2 )",
|
this.CreateId();
|
||||||
|
scmd.Parameters.AddWithValue("@ID", this.Id);
|
||||||
|
scmd.CommandText = string.Format("INSERT INTO {0} (Id, MessageHeaderId, StowawaysOnBoard) VALUES ( @ID, @P1, @P2 )",
|
||||||
this.Tablename);
|
this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -91,6 +93,18 @@ namespace bsmd.database
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region ISublistContainer implementation
|
||||||
|
|
||||||
|
public ISublistElement GetSublistElementWithIdentifier(string identifier)
|
||||||
|
{
|
||||||
|
foreach (ISublistElement subElement in this.PortOfItineraries)
|
||||||
|
if (subElement.Identifier.Equals(identifier))
|
||||||
|
return subElement;
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -28,6 +28,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public float? BunkerFuelQuantity_TNE { get; set; }
|
public float? BunkerFuelQuantity_TNE { get; set; }
|
||||||
|
|
||||||
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region DatabaseEntity implementation
|
#region DatabaseEntity implementation
|
||||||
@ -40,11 +42,12 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithValue("@P1", this.MessageHeader.Id);
|
scmd.Parameters.AddWithValue("@P1", this.MessageHeader.Id);
|
||||||
scmd.Parameters.AddWithNullableValue("@P2", this.BunkerFuelType);
|
scmd.Parameters.AddWithNullableValue("@P2", this.BunkerFuelType);
|
||||||
scmd.Parameters.AddWithNullableValue("@P3", this.BunkerFuelQuantity_TNE);
|
scmd.Parameters.AddWithNullableValue("@P3", this.BunkerFuelQuantity_TNE);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P4", this.Identifier);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, BunkerFuelType, BunkerFuelQuantity_TNE) " +
|
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, BunkerFuelType, BunkerFuelQuantity_TNE, Identifier) " +
|
||||||
"VALUES ( @P1, @P2, @P3 )", this.Tablename);
|
"VALUES ( @P1, @P2, @P3, @P4 )", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -55,7 +58,7 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
||||||
{
|
{
|
||||||
string query = string.Format("SELECT Id, BunkerFuelType, BunkerFuelQuantity_TNE FROM {0}", this.Tablename);
|
string query = string.Format("SELECT Id, BunkerFuelType, BunkerFuelQuantity_TNE, Identifier FROM {0}", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
@ -83,6 +86,7 @@ namespace bsmd.database
|
|||||||
bkrd.id = reader.GetGuid(0);
|
bkrd.id = reader.GetGuid(0);
|
||||||
if (!reader.IsDBNull(1)) bkrd.BunkerFuelType = reader.GetString(1);
|
if (!reader.IsDBNull(1)) bkrd.BunkerFuelType = reader.GetString(1);
|
||||||
if (!reader.IsDBNull(2)) bkrd.BunkerFuelQuantity_TNE = (float) reader.GetDouble(2);
|
if (!reader.IsDBNull(2)) bkrd.BunkerFuelQuantity_TNE = (float) reader.GetDouble(2);
|
||||||
|
if (!reader.IsDBNull(3)) bkrd.Identifier = reader.GetString(3);
|
||||||
result.Add(bkrd);
|
result.Add(bkrd);
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
|||||||
@ -44,6 +44,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public string CrewMemberDuty { get; set; }
|
public string CrewMemberDuty { get; set; }
|
||||||
|
|
||||||
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region DatabaseEntity implementation
|
#region DatabaseEntity implementation
|
||||||
@ -64,13 +66,14 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithNullableValue("@P9", this.CrewMemberIdentityDocumentId);
|
scmd.Parameters.AddWithNullableValue("@P9", this.CrewMemberIdentityDocumentId);
|
||||||
scmd.Parameters.AddWithNullableValue("@P10", this.CrewMemberVisaNumber);
|
scmd.Parameters.AddWithNullableValue("@P10", this.CrewMemberVisaNumber);
|
||||||
scmd.Parameters.AddWithNullableValue("@P11", this.CrewMemberDuty);
|
scmd.Parameters.AddWithNullableValue("@P11", this.CrewMemberDuty);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P12", this.Identifier);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, CrewMemberLastName, CrewMemberFirstName, " +
|
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, CrewMemberLastName, CrewMemberFirstName, " +
|
||||||
"CrewMemberPlaceOfBirth, CrewMemberDateOfBirth, CrewMemberGender, CrewMemberNationality,CrewMemberIdentityDocumentType, " +
|
"CrewMemberPlaceOfBirth, CrewMemberDateOfBirth, CrewMemberGender, CrewMemberNationality,CrewMemberIdentityDocumentType, " +
|
||||||
"CrewMemberIdentityDocumentId, CrewMemberVisaNumber, CrewMemberDuty) " +
|
"CrewMemberIdentityDocumentId, CrewMemberVisaNumber, CrewMemberDuty, Identifier) " +
|
||||||
"VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11 )", this.Tablename);
|
"VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12 )", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -86,7 +89,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 FROM {0}", this.Tablename);
|
"CrewMemberVisaNumber, CrewMemberDuty, Identifier FROM {0}", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
@ -122,6 +125,7 @@ namespace bsmd.database
|
|||||||
if (!reader.IsDBNull(8)) crew.CrewMemberIdentityDocumentId = reader.GetString(8);
|
if (!reader.IsDBNull(8)) crew.CrewMemberIdentityDocumentId = reader.GetString(8);
|
||||||
if (!reader.IsDBNull(9)) crew.CrewMemberVisaNumber = reader.GetString(9);
|
if (!reader.IsDBNull(9)) crew.CrewMemberVisaNumber = reader.GetString(9);
|
||||||
if (!reader.IsDBNull(10)) crew.CrewMemberDuty = reader.GetString(10);
|
if (!reader.IsDBNull(10)) crew.CrewMemberDuty = reader.GetString(10);
|
||||||
|
if (!reader.IsDBNull(11)) crew.Identifier = reader.GetString(11);
|
||||||
result.Add(crew);
|
result.Add(crew);
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
|||||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace bsmd.database
|
namespace bsmd.database
|
||||||
{
|
{
|
||||||
public class CallPurpose : DatabaseEntity
|
public class CallPurpose : DatabaseEntity, ISublistElement
|
||||||
{
|
{
|
||||||
|
|
||||||
public CallPurpose()
|
public CallPurpose()
|
||||||
@ -30,6 +30,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public string CallPurposeDescription { get; set; }
|
public string CallPurposeDescription { get; set; }
|
||||||
|
|
||||||
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region DatabaseEntity implementation
|
#region DatabaseEntity implementation
|
||||||
@ -41,11 +43,12 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithValue("@P1", this.NOA_NOD.Id);
|
scmd.Parameters.AddWithValue("@P1", this.NOA_NOD.Id);
|
||||||
scmd.Parameters.AddWithNullableValue("@P2", this.CallPurposeCode);
|
scmd.Parameters.AddWithNullableValue("@P2", this.CallPurposeCode);
|
||||||
scmd.Parameters.AddWithNullableValue("@P3", this.CallPurposeDescription);
|
scmd.Parameters.AddWithNullableValue("@P3", this.CallPurposeDescription);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P4", this.Identifier);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (NOA_NODId, CallPurposeCode, CallPurposeDescription) " +
|
scmd.CommandText = string.Format("INSERT INTO {0} (NOA_NODId, CallPurposeCode, CallPurposeDescription, Identifier) " +
|
||||||
" VALUES ( @P1, @P2, @P3 )", this.Tablename);
|
" VALUES ( @P1, @P2, @P3, @P4 )", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -57,7 +60,7 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
||||||
{
|
{
|
||||||
string query = string.Format("SELECT Id, CallPurposeCode, CallPurposeDescription FROM {0} ", this.Tablename);
|
string query = string.Format("SELECT Id, CallPurposeCode, CallPurposeDescription, Identifier FROM {0} ", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
@ -85,6 +88,7 @@ namespace bsmd.database
|
|||||||
cp.id = reader.GetGuid(0);
|
cp.id = reader.GetGuid(0);
|
||||||
if (!reader.IsDBNull(1)) cp.CallPurposeCode = reader.GetInt32(1);
|
if (!reader.IsDBNull(1)) cp.CallPurposeCode = reader.GetInt32(1);
|
||||||
if (!reader.IsDBNull(2)) cp.CallPurposeDescription = reader.GetString(2);
|
if (!reader.IsDBNull(2)) cp.CallPurposeDescription = reader.GetString(2);
|
||||||
|
if (!reader.IsDBNull(3)) cp.Identifier = reader.GetString(3);
|
||||||
result.Add(cp);
|
result.Add(cp);
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
|||||||
@ -415,9 +415,9 @@ namespace bsmd.database
|
|||||||
}
|
}
|
||||||
|
|
||||||
Waste waste = new Waste();
|
Waste waste = new Waste();
|
||||||
waste.PrepareLoadCommand(cmd, Message.LoadFilter.WDSP_ID, was.Id);
|
waste.PrepareLoadCommand(cmd, Message.LoadFilter.WAS_ID, was.Id);
|
||||||
SqlDataReader reader2 = this.PerformCommand(cmd);
|
SqlDataReader reader2 = this.PerformCommand(cmd);
|
||||||
List<DatabaseEntity> wastes = wdsp.LoadList(reader2);
|
List<DatabaseEntity> wastes = waste.LoadList(reader2);
|
||||||
foreach (Waste aWaste in wastes)
|
foreach (Waste aWaste in wastes)
|
||||||
{
|
{
|
||||||
was.Waste.Add(aWaste);
|
was.Waste.Add(aWaste);
|
||||||
|
|||||||
25
nsw/Source/bsmd.database/ISublistContainer.cs
Normal file
25
nsw/Source/bsmd.database/ISublistContainer.cs
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace bsmd.database
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Dieses Interface wird von DatabaseEntities implementiert, die 1:n Sublisten haben
|
||||||
|
/// </summary>
|
||||||
|
public interface ISublistContainer
|
||||||
|
{
|
||||||
|
ISublistElement GetSublistElementWithIdentifier(string identifier);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Dieses Interface kennzeichnet die Merkmale eines Sublisten-Elements
|
||||||
|
/// </summary>
|
||||||
|
public interface ISublistElement
|
||||||
|
{
|
||||||
|
string Identifier { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace bsmd.database
|
namespace bsmd.database
|
||||||
{
|
{
|
||||||
public class LADG : DatabaseEntity
|
public class LADG : DatabaseEntity, ISublistElement
|
||||||
{
|
{
|
||||||
|
|
||||||
public LADG()
|
public LADG()
|
||||||
@ -32,6 +32,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public float? CargoGrossQuantity_TNE { get; set; }
|
public float? CargoGrossQuantity_TNE { get; set; }
|
||||||
|
|
||||||
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region DatabaseEntity implementation
|
#region DatabaseEntity implementation
|
||||||
@ -46,11 +48,12 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithNullableValue("@P3", this.CargoCodeNST);
|
scmd.Parameters.AddWithNullableValue("@P3", this.CargoCodeNST);
|
||||||
scmd.Parameters.AddWithNullableValue("@P4", this.CargoNumberOfItems);
|
scmd.Parameters.AddWithNullableValue("@P4", this.CargoNumberOfItems);
|
||||||
scmd.Parameters.AddWithNullableValue("@P5", this.CargoGrossQuantity_TNE);
|
scmd.Parameters.AddWithNullableValue("@P5", this.CargoGrossQuantity_TNE);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P6", this.Identifier);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, CargoHandlingType, CargoCodeNST, " +
|
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, CargoHandlingType, CargoCodeNST, " +
|
||||||
"CargoNumberOfItems, CargoGrossQuantity_TNE) VALUES ( @P1, @P2, @P3, @P4, @P5 )", this.Tablename);
|
"CargoNumberOfItems, CargoGrossQuantity_TNE, Identifier) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6 )", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -62,7 +65,7 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
||||||
{
|
{
|
||||||
string query = string.Format("SELECT Id, CargoHandlingType, CargoCodeNST, CargoNumberOfItems, CargoGrossQuantity_TNE FROM {0}",
|
string query = string.Format("SELECT Id, CargoHandlingType, CargoCodeNST, CargoNumberOfItems, CargoGrossQuantity_TNE, Identifier FROM {0}",
|
||||||
this.Tablename);
|
this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
@ -93,6 +96,7 @@ namespace bsmd.database
|
|||||||
if (!reader.IsDBNull(2)) ladg.CargoCodeNST = reader.GetString(2);
|
if (!reader.IsDBNull(2)) ladg.CargoCodeNST = reader.GetString(2);
|
||||||
if (!reader.IsDBNull(3)) ladg.CargoNumberOfItems = reader.GetInt32(3);
|
if (!reader.IsDBNull(3)) ladg.CargoNumberOfItems = reader.GetInt32(3);
|
||||||
if (!reader.IsDBNull(4)) ladg.CargoGrossQuantity_TNE = (float) reader.GetDouble(4);
|
if (!reader.IsDBNull(4)) ladg.CargoGrossQuantity_TNE = (float) reader.GetDouble(4);
|
||||||
|
if (!reader.IsDBNull(5)) ladg.Identifier = reader.GetString(5);
|
||||||
result.Add(ladg);
|
result.Add(ladg);
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
|||||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace bsmd.database
|
namespace bsmd.database
|
||||||
{
|
{
|
||||||
public class LastTenPortFacilitiesCalled : DatabaseEntity
|
public class LastTenPortFacilitiesCalled : DatabaseEntity, ISublistElement
|
||||||
{
|
{
|
||||||
|
|
||||||
public LastTenPortFacilitiesCalled()
|
public LastTenPortFacilitiesCalled()
|
||||||
@ -42,6 +42,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public string PortFacilityGISISCode { get; set; }
|
public string PortFacilityGISISCode { get; set; }
|
||||||
|
|
||||||
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region DatabaseEntity implementation
|
#region DatabaseEntity implementation
|
||||||
@ -60,12 +62,13 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithNullableValue("@P7", this.PortFacilityShipSecurityLevel);
|
scmd.Parameters.AddWithNullableValue("@P7", this.PortFacilityShipSecurityLevel);
|
||||||
scmd.Parameters.AddWithNullableValue("@P8", this.PortFacilitySecurityMattersToReport);
|
scmd.Parameters.AddWithNullableValue("@P8", this.PortFacilitySecurityMattersToReport);
|
||||||
scmd.Parameters.AddWithNullableValue("@P9", this.PortFacilityGISISCode);
|
scmd.Parameters.AddWithNullableValue("@P9", this.PortFacilityGISISCode);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P10", this.Identifier);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (SEC_Id, PortFacilityPortName, PortFacilityPortCountry, " +
|
scmd.CommandText = string.Format("INSERT INTO {0} (SEC_Id, PortFacilityPortName, PortFacilityPortCountry, " +
|
||||||
"PortFacilityPortLoCode, PortFacilityDateOfArrival, PortFacilityDateOfDeparture, PortFacilityShipSecurityLevel, " +
|
"PortFacilityPortLoCode, PortFacilityDateOfArrival, PortFacilityDateOfDeparture, PortFacilityShipSecurityLevel, " +
|
||||||
"PortFacilitySecurityMattersToReport, PortFacilityGISISCode) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9)",
|
"PortFacilitySecurityMattersToReport, PortFacilityGISISCode, Identifier) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10)",
|
||||||
this.Tablename);
|
this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -73,7 +76,7 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithValue(@"ID", this.Id);
|
scmd.Parameters.AddWithValue(@"ID", this.Id);
|
||||||
scmd.CommandText = string.Format("UPDATE {0} SET PortFacilityPortName = @P2, PortFacilityPortCountry = @P3, " +
|
scmd.CommandText = string.Format("UPDATE {0} SET PortFacilityPortName = @P2, PortFacilityPortCountry = @P3, " +
|
||||||
"PortFacilityPortLoCode = @P4, PortFacilityDateOfArrival = @P5, PortFacilityDateOfDeparture = @P6," +
|
"PortFacilityPortLoCode = @P4, PortFacilityDateOfArrival = @P5, PortFacilityDateOfDeparture = @P6," +
|
||||||
"PortFacilityShipSecurityLevel = @P7, PortFacilitySecurityMattersToReport = @8, PortFacilityGISISCode = @P9 " +
|
"PortFacilityShipSecurityLevel = @P7, PortFacilitySecurityMattersToReport = @P8, PortFacilityGISISCode = @P9 " +
|
||||||
" WHERE Id = @ID", this.Tablename);
|
" WHERE Id = @ID", this.Tablename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -82,7 +85,7 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
string query = string.Format("SELECT Id, PortFacilityPortName, PortFacilityPortCountry, PortFacilityPortLoCode, " +
|
string query = string.Format("SELECT Id, PortFacilityPortName, PortFacilityPortCountry, PortFacilityPortLoCode, " +
|
||||||
"PortFacilityDateOfArrival, PortFacilityDateOfDeparture, PortFacilityShipSecurityLevel, PortFacilitySecurityMattersToReport, " +
|
"PortFacilityDateOfArrival, PortFacilityDateOfDeparture, PortFacilityShipSecurityLevel, PortFacilitySecurityMattersToReport, " +
|
||||||
"PortFacilityGISISCode FROM {0} ", this.Tablename);
|
"PortFacilityGISISCode, Identifier FROM {0} ", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
@ -118,6 +121,7 @@ namespace bsmd.database
|
|||||||
if (!reader.IsDBNull(6)) ltpfc.PortFacilityShipSecurityLevel = reader.GetByte(6);
|
if (!reader.IsDBNull(6)) ltpfc.PortFacilityShipSecurityLevel = reader.GetByte(6);
|
||||||
if (!reader.IsDBNull(7)) ltpfc.PortFacilitySecurityMattersToReport = reader.GetString(7);
|
if (!reader.IsDBNull(7)) ltpfc.PortFacilitySecurityMattersToReport = reader.GetString(7);
|
||||||
if (!reader.IsDBNull(8)) ltpfc.PortFacilityGISISCode = reader.GetString(8);
|
if (!reader.IsDBNull(8)) ltpfc.PortFacilityGISISCode = reader.GetString(8);
|
||||||
|
if (!reader.IsDBNull(9)) ltpfc.Identifier = reader.GetString(9);
|
||||||
result.Add(ltpfc);
|
result.Add(ltpfc);
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
|||||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace bsmd.database
|
namespace bsmd.database
|
||||||
{
|
{
|
||||||
public class MDH : DatabaseEntity
|
public class MDH : DatabaseEntity, ISublistContainer
|
||||||
{
|
{
|
||||||
|
|
||||||
private List<PortOfCallLast30Days> portOfCallLast30Days = new List<PortOfCallLast30Days>();
|
private List<PortOfCallLast30Days> portOfCallLast30Days = new List<PortOfCallLast30Days>();
|
||||||
@ -113,12 +113,14 @@ namespace bsmd.database
|
|||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, MDHSimplification, PortOfCallWhereCompleteMDHNotified, " +
|
this.CreateId();
|
||||||
|
scmd.Parameters.AddWithValue("@ID", this.Id);
|
||||||
|
scmd.CommandText = string.Format("INSERT INTO {0} (Id, MessageHeaderId, MDHSimplification, PortOfCallWhereCompleteMDHNotified, " +
|
||||||
"NonAccidentalDeathsDuringVoyage, NonAccidentalDeathsDuringVoyageCount, SuspisionInfectiousNature, NumberOfIllPersonsHigherThanExpected, " +
|
"NonAccidentalDeathsDuringVoyage, NonAccidentalDeathsDuringVoyageCount, SuspisionInfectiousNature, NumberOfIllPersonsHigherThanExpected, " +
|
||||||
"NumberOfIllPersons, SickPersonsOnBoard, MedicalConsulted, AwareOfFurtherInfections, SanitaryMeasuresApplied, SanitaryMeasuresType, " +
|
"NumberOfIllPersons, SickPersonsOnBoard, MedicalConsulted, AwareOfFurtherInfections, SanitaryMeasuresApplied, SanitaryMeasuresType, " +
|
||||||
"SanitaryMeasuresLocation, SanitaryMeasuresDate, StowawaysDetected, StowawaysJoiningLocation, SickAnimalOrPetOnBoard, " +
|
"SanitaryMeasuresLocation, SanitaryMeasuresDate, StowawaysDetected, StowawaysJoiningLocation, SickAnimalOrPetOnBoard, " +
|
||||||
"ValidSanitaryControlExemptionOrCertificateOnBoard, PlaceOfIssue, DateOfIssue, SanitaryControlReinspectionRequired, " +
|
"ValidSanitaryControlExemptionOrCertificateOnBoard, PlaceOfIssue, DateOfIssue, SanitaryControlReinspectionRequired, " +
|
||||||
"InfectedAreaVisited, InfectedAreaPort, InfectedAreaDate) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, " +
|
"InfectedAreaVisited, InfectedAreaPort, InfectedAreaDate) VALUES (@ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, " +
|
||||||
"@P13, @P14, @P15, @P16, @P17, @P18, @P19, @P20, @P21, @P22, @P23, @P24, @P25)", this.Tablename);
|
"@P13, @P14, @P15, @P16, @P17, @P18, @P19, @P20, @P21, @P22, @P23, @P24, @P25)", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -201,5 +203,18 @@ namespace bsmd.database
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region ISublistElement implementation
|
||||||
|
|
||||||
|
public ISublistElement GetSublistElementWithIdentifier(string identifier)
|
||||||
|
{
|
||||||
|
foreach(ISublistElement sElem in this.PortOfCallLast30Days)
|
||||||
|
{
|
||||||
|
if (sElem.Identifier.Equals(identifier)) return sElem;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,7 +11,7 @@ namespace bsmd.database
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Basisklasse aller Nachrichtentypen, zentrale Klasse für die NSW App
|
/// Basisklasse aller Nachrichtentypen, zentrale Klasse für die NSW App
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class Message : DatabaseEntity
|
public class Message : DatabaseEntity, ISublistContainer
|
||||||
{
|
{
|
||||||
private Guid? messageCoreId;
|
private Guid? messageCoreId;
|
||||||
private Guid? reportingPartyId;
|
private Guid? reportingPartyId;
|
||||||
@ -311,5 +311,23 @@ namespace bsmd.database
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region ISublistContainer implementation
|
||||||
|
|
||||||
|
public ISublistElement GetSublistElementWithIdentifier(string identifier)
|
||||||
|
{
|
||||||
|
foreach (DatabaseEntity entity in this.Elements)
|
||||||
|
{
|
||||||
|
ISublistElement sublistElement = entity as ISublistElement;
|
||||||
|
if ((sublistElement != null ) && (sublistElement.Identifier != null))
|
||||||
|
{
|
||||||
|
if (((ISublistElement)entity).Identifier.Equals(identifier))
|
||||||
|
return entity as ISublistElement;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,6 +37,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public DateTime? ETA { get; set; }
|
public DateTime? ETA { get; set; }
|
||||||
|
|
||||||
|
public DateTime? ETAKielCanal { get; set; }
|
||||||
|
|
||||||
public bool IsTransit { get; set; }
|
public bool IsTransit { get; set; }
|
||||||
|
|
||||||
public Message.BSMDStatus BSMDStatus { get; set; }
|
public Message.BSMDStatus BSMDStatus { get; set; }
|
||||||
@ -93,7 +95,7 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithNullableValue("@P17", this.HerbergReportType);
|
scmd.Parameters.AddWithNullableValue("@P17", this.HerbergReportType);
|
||||||
scmd.Parameters.AddWithNullableValue("@P18", this.HerbergEmailContactReportingVessel);
|
scmd.Parameters.AddWithNullableValue("@P18", this.HerbergEmailContactReportingVessel);
|
||||||
scmd.Parameters.AddWithNullableValue("@P19", this.HerbergEmail24HrsContact);
|
scmd.Parameters.AddWithNullableValue("@P19", this.HerbergEmail24HrsContact);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P20", this.ETAKielCanal);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
@ -101,8 +103,8 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithValue("@ID", this.Id);
|
scmd.Parameters.AddWithValue("@ID", this.Id);
|
||||||
string query = string.Format("INSERT INTO {0} (Id, VisitId, TransitId, IMO, ENI, PoC, Portname, ETA, CustomerId, " +
|
string query = string.Format("INSERT INTO {0} (Id, VisitId, TransitId, IMO, ENI, PoC, Portname, ETA, CustomerId, " +
|
||||||
"Previous, Next, IsTransit, Wetris_zz_56_datensatz_id, BSMDStatus, InitialHIS, HerbergFormGuid, " +
|
"Previous, Next, IsTransit, Wetris_zz_56_datensatz_id, BSMDStatus, InitialHIS, HerbergFormGuid, " +
|
||||||
"HerbergFormTemplateGuid, HerbergReportType, HerbergEmailcontactReportingVessel, HerbergEmail24HrsContact) VALUES " +
|
"HerbergFormTemplateGuid, HerbergReportType, HerbergEmailcontactReportingVessel, HerbergEmail24HrsContact, ETAKielCanal) VALUES " +
|
||||||
"(@ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, @P17, @P18, @P19)",
|
"(@ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, @P17, @P18, @P19, @P20)",
|
||||||
this.Tablename);
|
this.Tablename);
|
||||||
scmd.CommandText = query;
|
scmd.CommandText = query;
|
||||||
}
|
}
|
||||||
@ -113,7 +115,7 @@ namespace bsmd.database
|
|||||||
"Portname = @P6, ETA = @P7, CustomerId = @P8, Previous = @P9, Next = @P10, IsTransit = @P11, " +
|
"Portname = @P6, ETA = @P7, CustomerId = @P8, Previous = @P9, Next = @P10, IsTransit = @P11, " +
|
||||||
"Wetris_zz_56_datensatz_id = @P12, BSMDStatus = @P13, InitialHIS = @P14, HerbergFormGuid = @P15, " +
|
"Wetris_zz_56_datensatz_id = @P12, BSMDStatus = @P13, InitialHIS = @P14, HerbergFormGuid = @P15, " +
|
||||||
"HerbergFormTemplateGuid = @P16, HerbergReportType = @P17, HerbergEmailContactReportingVessel = @P18, " +
|
"HerbergFormTemplateGuid = @P16, HerbergReportType = @P17, HerbergEmailContactReportingVessel = @P18, " +
|
||||||
"HerbergEmail24HrsContact = @P19 WHERE Id = @ID", this.Tablename);
|
"HerbergEmail24HrsContact = @P19, ETAKielCanal = @P20 WHERE Id = @ID", this.Tablename);
|
||||||
scmd.CommandText = query;
|
scmd.CommandText = query;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -122,8 +124,8 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
string query = string.Format("SELECT Id, VisitId, TransitId, IMO, ENI, PoC, Portname, " +
|
string query = string.Format("SELECT Id, VisitId, TransitId, IMO, ENI, PoC, Portname, " +
|
||||||
"ETA, CustomerId, Previous, Next, IsTransit, Wetris_zz_56_datensatz_id, BSMDStatus, InitialHIS, " +
|
"ETA, CustomerId, Previous, Next, IsTransit, Wetris_zz_56_datensatz_id, BSMDStatus, InitialHIS, " +
|
||||||
"HerbergFormGuid, HerbergFormTemplateGuid, HerbergReportType, HerbergEmailContactReportingVessel, HerbergEmail24HrsContact FROM {0} ",
|
"HerbergFormGuid, HerbergFormTemplateGuid, HerbergReportType, HerbergEmailContactReportingVessel, " +
|
||||||
this.Tablename);
|
"HerbergEmail24HrsContact, ETAKielCanal FROM {0} ", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
@ -173,6 +175,7 @@ namespace bsmd.database
|
|||||||
if (!reader.IsDBNull(17)) core.HerbergReportType = reader.GetString(17);
|
if (!reader.IsDBNull(17)) core.HerbergReportType = reader.GetString(17);
|
||||||
if (!reader.IsDBNull(18)) core.HerbergEmailContactReportingVessel = reader.GetString(18);
|
if (!reader.IsDBNull(18)) core.HerbergEmailContactReportingVessel = reader.GetString(18);
|
||||||
if (!reader.IsDBNull(19)) core.HerbergEmail24HrsContact = reader.GetString(19);
|
if (!reader.IsDBNull(19)) core.HerbergEmail24HrsContact = reader.GetString(19);
|
||||||
|
if (!reader.IsDBNull(20)) core.ETAKielCanal = reader.GetDateTime(20);
|
||||||
|
|
||||||
result.Add(core);
|
result.Add(core);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace bsmd.database
|
namespace bsmd.database
|
||||||
{
|
{
|
||||||
public class NOA_NOD : DatabaseEntity
|
public class NOA_NOD : DatabaseEntity, ISublistContainer
|
||||||
{
|
{
|
||||||
|
|
||||||
List<CallPurpose> callPurposes = new List<CallPurpose>();
|
List<CallPurpose> callPurposes = new List<CallPurpose>();
|
||||||
@ -77,12 +77,12 @@ namespace bsmd.database
|
|||||||
nn.id = reader.GetGuid(0);
|
nn.id = reader.GetGuid(0);
|
||||||
if (!reader.IsDBNull(1)) nn.ETAToPortOfCall = reader.GetDateTime(1);
|
if (!reader.IsDBNull(1)) nn.ETAToPortOfCall = reader.GetDateTime(1);
|
||||||
if (!reader.IsDBNull(2)) nn.ETDFromPortOfCall = reader.GetDateTime(2);
|
if (!reader.IsDBNull(2)) nn.ETDFromPortOfCall = reader.GetDateTime(2);
|
||||||
if (!reader.IsDBNull(3)) nn.ETAToKielCanal = reader.GetDateTime(5);
|
if (!reader.IsDBNull(3)) nn.ETAToKielCanal = reader.GetDateTime(3);
|
||||||
if (!reader.IsDBNull(4)) nn.ETDFromKielCanal = reader.GetDateTime(6);
|
if (!reader.IsDBNull(4)) nn.ETDFromKielCanal = reader.GetDateTime(4);
|
||||||
if (!reader.IsDBNull(5)) nn.LastPort = reader.GetString(7);
|
if (!reader.IsDBNull(5)) nn.LastPort = reader.GetString(5);
|
||||||
if (!reader.IsDBNull(6)) nn.ETDFromLastPort = reader.GetDateTime(8);
|
if (!reader.IsDBNull(6)) nn.ETDFromLastPort = reader.GetDateTime(6);
|
||||||
if (!reader.IsDBNull(7)) nn.NextPort = reader.GetString(9);
|
if (!reader.IsDBNull(7)) nn.NextPort = reader.GetString(7);
|
||||||
if (!reader.IsDBNull(8)) nn.ETAToNextPort = reader.GetDateTime(10);
|
if (!reader.IsDBNull(8)) nn.ETAToNextPort = reader.GetDateTime(8);
|
||||||
result.Add(nn);
|
result.Add(nn);
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
@ -105,15 +105,17 @@ namespace bsmd.database
|
|||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
cmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, ETAToPortOfCall, ETDFromPortOfCall, " +
|
this.CreateId();
|
||||||
|
scmd.Parameters.AddWithValue("@ID", this.Id);
|
||||||
|
scmd.CommandText = string.Format("INSERT INTO {0} ( Id, MessageHeaderId, ETAToPortOfCall, ETDFromPortOfCall, " +
|
||||||
"ETAToKielCanal, ETDFromKielCanal, LastPort, ETDFromLastPort, " +
|
"ETAToKielCanal, ETDFromKielCanal, LastPort, ETDFromLastPort, " +
|
||||||
"NextPort, ETAToNextPort) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9) ", this.Tablename);
|
"NextPort, ETAToNextPort) VALUES (@ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9) ", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
((SqlCommand)cmd).Parameters.AddWithValue("@ID", this.Id);
|
((SqlCommand)cmd).Parameters.AddWithValue("@ID", this.Id);
|
||||||
|
|
||||||
cmd.CommandText = string.Format("UPDATE {0} SET ETAToPortOfCall = @P2, ETDFromPortOfCall = @P3, " +
|
scmd.CommandText = string.Format("UPDATE {0} SET ETAToPortOfCall = @P2, ETDFromPortOfCall = @P3, " +
|
||||||
"ETAToKielCanal = @P4, ETDFromKielCanal = @P5, LastPort = @P6, ETDFromLastPort = @P7, " +
|
"ETAToKielCanal = @P4, ETDFromKielCanal = @P5, LastPort = @P6, ETDFromLastPort = @P7, " +
|
||||||
"NextPort = @P8, ETAToNextPort = @P9 WHERE Id = @ID", this.Tablename);
|
"NextPort = @P8, ETAToNextPort = @P9 WHERE Id = @ID", this.Tablename);
|
||||||
|
|
||||||
@ -122,5 +124,16 @@ namespace bsmd.database
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region ISublistContainer implementation
|
||||||
|
|
||||||
|
public ISublistElement GetSublistElementWithIdentifier(string identifier)
|
||||||
|
{
|
||||||
|
foreach (ISublistElement sublistElement in this.CallPurposes)
|
||||||
|
if (identifier.Equals(sublistElement.Identifier)) return sublistElement;
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -48,6 +48,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public bool? PassengerInTransit { get; set; }
|
public bool? PassengerInTransit { get; set; }
|
||||||
|
|
||||||
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region DatabaseEntity implementation
|
#region DatabaseEntity implementation
|
||||||
@ -70,13 +72,14 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithNullableValue("@P11", this.PassengerPortOfEmbarkation);
|
scmd.Parameters.AddWithNullableValue("@P11", this.PassengerPortOfEmbarkation);
|
||||||
scmd.Parameters.AddWithNullableValue("@P12", this.PassengerPortOfDisembarkation);
|
scmd.Parameters.AddWithNullableValue("@P12", this.PassengerPortOfDisembarkation);
|
||||||
scmd.Parameters.AddWithNullableValue("@P13", this.PassengerInTransit);
|
scmd.Parameters.AddWithNullableValue("@P13", this.PassengerInTransit);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P14", this.Identifier);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, PassengerLastName, PassengerFirstName, " +
|
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, PassengerLastName, PassengerFirstName, " +
|
||||||
"PassengerPlaceOfBirth, PassengerDateOfBirth, PassengerGender, PassengerNationality, PassengerIdentityDocumentType, " +
|
"PassengerPlaceOfBirth, PassengerDateOfBirth, PassengerGender, PassengerNationality, PassengerIdentityDocumentType, " +
|
||||||
"PassengerIdentityDocumentId, PassengerVisaNumber, PassengerPortOfEmbarkation, PassengerPortOfDisembarkation," +
|
"PassengerIdentityDocumentId, PassengerVisaNumber, PassengerPortOfEmbarkation, PassengerPortOfDisembarkation," +
|
||||||
"PassengerInTransit) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13 )",
|
"PassengerInTransit, Identifier) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14 )",
|
||||||
this.Tablename);
|
this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -94,7 +97,7 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
string query = string.Format("SELECT Id, PassengerLastName, PassengerFirstName, PassengerPlaceOfBirth, " +
|
string query = string.Format("SELECT Id, PassengerLastName, PassengerFirstName, PassengerPlaceOfBirth, " +
|
||||||
"PassengerDateOfBirth, PassengerGender, PassengerNationality, PassengerIdentityDocumentType, PassengerIdentityDocumentId, " +
|
"PassengerDateOfBirth, PassengerGender, PassengerNationality, PassengerIdentityDocumentType, PassengerIdentityDocumentId, " +
|
||||||
"PassengerVisaNumber, PassengerPortOfEmbarkation, PassengerPortOfDisembarkation, PassengerInTransit FROM {0}",
|
"PassengerVisaNumber, PassengerPortOfEmbarkation, PassengerPortOfDisembarkation, PassengerInTransit, Identifier FROM {0}",
|
||||||
this.Tablename);
|
this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
@ -133,6 +136,7 @@ namespace bsmd.database
|
|||||||
if (!reader.IsDBNull(10)) pas.PassengerPortOfEmbarkation = reader.GetString(10);
|
if (!reader.IsDBNull(10)) pas.PassengerPortOfEmbarkation = reader.GetString(10);
|
||||||
if (!reader.IsDBNull(11)) pas.PassengerPortOfDisembarkation = reader.GetString(11);
|
if (!reader.IsDBNull(11)) pas.PassengerPortOfDisembarkation = reader.GetString(11);
|
||||||
if (!reader.IsDBNull(12)) pas.PassengerInTransit = reader.GetBoolean(12);
|
if (!reader.IsDBNull(12)) pas.PassengerInTransit = reader.GetBoolean(12);
|
||||||
|
if (!reader.IsDBNull(13)) pas.Identifier = reader.GetString(13);
|
||||||
result.Add(pas);
|
result.Add(pas);
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
|||||||
@ -74,7 +74,7 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithValue(@"ID", this.Id);
|
scmd.Parameters.AddWithValue(@"ID", this.Id);
|
||||||
scmd.CommandText = string.Format("UPDATE {0} SET Tanker = @P2, TankerHullConfiguration = @P3, " +
|
scmd.CommandText = string.Format("UPDATE {0} SET Tanker = @P2, TankerHullConfiguration = @P3, " +
|
||||||
"ConditionCargoBallastTanks = @P4, NatureOfCargo = @P5, VolumeOfCargo = @P6," +
|
"ConditionCargoBallastTanks = @P4, NatureOfCargo = @P5, VolumeOfCargo = @P6," +
|
||||||
"PlannedOperations = @P7, PlannedWorks = @8, DateOfLastExpandedInspection = @P9, " +
|
"PlannedOperations = @P7, PlannedWorks = @P8, DateOfLastExpandedInspection = @P9, " +
|
||||||
"PlannedPeriodOfStay_HUR = @P10 WHERE Id = @ID", this.Tablename);
|
"PlannedPeriodOfStay_HUR = @P10 WHERE Id = @ID", this.Tablename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace bsmd.database
|
namespace bsmd.database
|
||||||
{
|
{
|
||||||
public class PortOfCallLast30Days : DatabaseEntity
|
public class PortOfCallLast30Days : DatabaseEntity, ISublistElement, ISublistContainer
|
||||||
{
|
{
|
||||||
|
|
||||||
private List<PortOfCallLast30DaysCrewJoinedShip> poc30Crew = new List<PortOfCallLast30DaysCrewJoinedShip>();
|
private List<PortOfCallLast30DaysCrewJoinedShip> poc30Crew = new List<PortOfCallLast30DaysCrewJoinedShip>();
|
||||||
@ -36,6 +36,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public bool? PortOfCallLast30DaysCrewMembersJoined { get; set; }
|
public bool? PortOfCallLast30DaysCrewMembersJoined { get; set; }
|
||||||
|
|
||||||
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region abstract class implementation
|
#region abstract class implementation
|
||||||
@ -48,11 +50,14 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithNullableValue("@P2", this.PortOfCallLast30DaysLocode);
|
scmd.Parameters.AddWithNullableValue("@P2", this.PortOfCallLast30DaysLocode);
|
||||||
scmd.Parameters.AddWithNullableValue("@P3", this.PortOfCallLast30DaysDateOfDeparture);
|
scmd.Parameters.AddWithNullableValue("@P3", this.PortOfCallLast30DaysDateOfDeparture);
|
||||||
scmd.Parameters.AddWithNullableValue("@P4", this.PortOfCallLast30DaysCrewMembersJoined);
|
scmd.Parameters.AddWithNullableValue("@P4", this.PortOfCallLast30DaysCrewMembersJoined);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P5", this.Identifier);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (MDH_Id, PortOfCallLast30DaysLocode, PortOfCallLast30DaysDateOfDeparture, " +
|
this.CreateId();
|
||||||
"PortOfCallLast30DaysCrewMembersJoined) VALUES (@P1, @P2, @P3, @P4)", this.Tablename);
|
scmd.Parameters.AddWithValue("@ID", this.Id);
|
||||||
|
scmd.CommandText = string.Format("INSERT INTO {0} (Id, MDH_Id, PortOfCallLast30DaysLocode, PortOfCallLast30DaysDateOfDeparture, " +
|
||||||
|
"PortOfCallLast30DaysCrewMembersJoined, Identifier) VALUES (@ID, @P1, @P2, @P3, @P4, @P5)", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -66,7 +71,7 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
|
|
||||||
string query = string.Format("SELECT Id, PortOfCallLast30DaysLocode, PortOfCallLast30DaysDateOfDeparture, " +
|
string query = string.Format("SELECT Id, PortOfCallLast30DaysLocode, PortOfCallLast30DaysDateOfDeparture, " +
|
||||||
"PortOfCallLast30DaysCrewMembersJoined FROM {0} ", this.Tablename);
|
"PortOfCallLast30DaysCrewMembersJoined, Identifier FROM {0} ", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
@ -93,6 +98,7 @@ namespace bsmd.database
|
|||||||
if (!reader.IsDBNull(1)) poc.PortOfCallLast30DaysLocode = reader.GetString(1);
|
if (!reader.IsDBNull(1)) poc.PortOfCallLast30DaysLocode = reader.GetString(1);
|
||||||
if (!reader.IsDBNull(2)) poc.PortOfCallLast30DaysDateOfDeparture = reader.GetDateTime(2);
|
if (!reader.IsDBNull(2)) poc.PortOfCallLast30DaysDateOfDeparture = reader.GetDateTime(2);
|
||||||
if (!reader.IsDBNull(3)) poc.PortOfCallLast30DaysCrewMembersJoined = reader.GetBoolean(3);
|
if (!reader.IsDBNull(3)) poc.PortOfCallLast30DaysCrewMembersJoined = reader.GetBoolean(3);
|
||||||
|
if (!reader.IsDBNull(4)) poc.Identifier = reader.GetString(4);
|
||||||
result.Add(poc);
|
result.Add(poc);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -102,5 +108,17 @@ namespace bsmd.database
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region ISublistElement implementation
|
||||||
|
|
||||||
|
public ISublistElement GetSublistElementWithIdentifier(string identifier)
|
||||||
|
{
|
||||||
|
foreach (ISublistElement sElem in this.CrewJoinedShip)
|
||||||
|
if (sElem.Identifier.Equals(identifier))
|
||||||
|
return sElem;
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace bsmd.database
|
namespace bsmd.database
|
||||||
{
|
{
|
||||||
public class PortOfCallLast30DaysCrewJoinedShip : DatabaseEntity
|
public class PortOfCallLast30DaysCrewJoinedShip : DatabaseEntity, ISublistElement
|
||||||
{
|
{
|
||||||
|
|
||||||
public PortOfCallLast30DaysCrewJoinedShip()
|
public PortOfCallLast30DaysCrewJoinedShip()
|
||||||
@ -28,6 +28,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public string PortOfCallLast30DaysCrewJoinedShipName { get; set; }
|
public string PortOfCallLast30DaysCrewJoinedShipName { get; set; }
|
||||||
|
|
||||||
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region abstract class implementation
|
#region abstract class implementation
|
||||||
@ -38,11 +40,12 @@ namespace bsmd.database
|
|||||||
|
|
||||||
scmd.Parameters.AddWithValue("@P1", this.PortOfCallLast30Days.Id);
|
scmd.Parameters.AddWithValue("@P1", this.PortOfCallLast30Days.Id);
|
||||||
scmd.Parameters.AddWithNullableValue("@P2", this.PortOfCallLast30DaysCrewJoinedShipName);
|
scmd.Parameters.AddWithNullableValue("@P2", this.PortOfCallLast30DaysCrewJoinedShipName);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P3", this.Identifier);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
cmd.CommandText = string.Format("INSERT INTO {0} (PortOfCallLast30DaysId = @P1, PortOfCallLast30DaysCrewJoinedShipName = @P2",
|
cmd.CommandText = string.Format("INSERT INTO {0} (PortOfCallLast30DaysId, PortOfCallLast30DaysCrewJoinedShipName, Identifier) " +
|
||||||
this.Tablename);
|
"VALUES (@P1, @P2, @P3)" , this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -55,13 +58,14 @@ namespace bsmd.database
|
|||||||
public override void PrepareLoadCommand(IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
public override void PrepareLoadCommand(IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
||||||
{
|
{
|
||||||
|
|
||||||
string query = string.Format("SELECT Id, PortOfCallLast30DaysCrewJoinedShipName FROM {0}");
|
string query = string.Format("SELECT Id, PortOfCallLast30DaysCrewJoinedShipName, Identifier FROM {0}",
|
||||||
|
this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
case Message.LoadFilter.POC30_ID:
|
case Message.LoadFilter.POC30_ID:
|
||||||
query += "WHERE MDH_Id = @MDHID";
|
query += "WHERE PortOfCallLast30DaysId = @POC30ID";
|
||||||
((SqlCommand)cmd).Parameters.AddWithValue("@MHID", criteria[0]);
|
((SqlCommand)cmd).Parameters.AddWithValue("@POC30ID", criteria[0]);
|
||||||
break;
|
break;
|
||||||
case Message.LoadFilter.ALL:
|
case Message.LoadFilter.ALL:
|
||||||
default:
|
default:
|
||||||
@ -81,6 +85,7 @@ namespace bsmd.database
|
|||||||
PortOfCallLast30DaysCrewJoinedShip poc30 = new PortOfCallLast30DaysCrewJoinedShip();
|
PortOfCallLast30DaysCrewJoinedShip poc30 = new PortOfCallLast30DaysCrewJoinedShip();
|
||||||
poc30.id = reader.GetGuid(0);
|
poc30.id = reader.GetGuid(0);
|
||||||
if (!reader.IsDBNull(1)) poc30.PortOfCallLast30DaysCrewJoinedShipName = reader.GetString(1);
|
if (!reader.IsDBNull(1)) poc30.PortOfCallLast30DaysCrewJoinedShipName = reader.GetString(1);
|
||||||
|
if (!reader.IsDBNull(2)) poc30.Identifier = reader.GetString(2);
|
||||||
result.Add(poc30);
|
result.Add(poc30);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace bsmd.database
|
namespace bsmd.database
|
||||||
{
|
{
|
||||||
public class PortOfItinerary : DatabaseEntity
|
public class PortOfItinerary : DatabaseEntity, ISublistElement
|
||||||
{
|
{
|
||||||
|
|
||||||
public PortOfItinerary()
|
public PortOfItinerary()
|
||||||
@ -30,6 +30,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public DateTime? PortOfItineraryETA { get; set; }
|
public DateTime? PortOfItineraryETA { get; set; }
|
||||||
|
|
||||||
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region DatabaseEntity implementation
|
#region DatabaseEntity implementation
|
||||||
@ -42,11 +44,12 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithValue("@P1", this.BPOL.Id);
|
scmd.Parameters.AddWithValue("@P1", this.BPOL.Id);
|
||||||
scmd.Parameters.AddWithNullableValue("@P2", this.PortOfItineraryName);
|
scmd.Parameters.AddWithNullableValue("@P2", this.PortOfItineraryName);
|
||||||
scmd.Parameters.AddWithNullableValue("@P3", this.PortOfItineraryETA);
|
scmd.Parameters.AddWithNullableValue("@P3", this.PortOfItineraryETA);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P4", this.Identifier);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (BPOLId, PortOfItineraryName, PortOfItineraryETA) VALUES ( @P1, @P2, @P3 )",
|
scmd.CommandText = string.Format("INSERT INTO {0} (BPOLId, PortOfItineraryName, PortOfItineraryETA, Identifier) " +
|
||||||
this.Tablename);
|
"VALUES ( @P1, @P2, @P3, @P4 )", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -58,7 +61,7 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
||||||
{
|
{
|
||||||
string query = string.Format("SELECT Id, PortOfItineraryName, PortOfItineraryETA FROM {0}", this.Tablename);
|
string query = string.Format("SELECT Id, PortOfItineraryName, PortOfItineraryETA, Identifier FROM {0}", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
@ -86,6 +89,7 @@ namespace bsmd.database
|
|||||||
poi.id = reader.GetGuid(0);
|
poi.id = reader.GetGuid(0);
|
||||||
if (!reader.IsDBNull(1)) poi.PortOfItineraryName = reader.GetString(1);
|
if (!reader.IsDBNull(1)) poi.PortOfItineraryName = reader.GetString(1);
|
||||||
if (!reader.IsDBNull(2)) poi.PortOfItineraryETA = reader.GetDateTime(2);
|
if (!reader.IsDBNull(2)) poi.PortOfItineraryETA = reader.GetDateTime(2);
|
||||||
|
if (!reader.IsDBNull(3)) poi.Identifier = reader.GetString(3);
|
||||||
result.Add(poi);
|
result.Add(poi);
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
|||||||
@ -96,18 +96,20 @@ namespace bsmd.database
|
|||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, SECSimplification, PortOfCallWhereCompleteSECNotified, " +
|
this.CreateId();
|
||||||
|
scmd.Parameters.AddWithValue("@ID", this.Id);
|
||||||
|
scmd.CommandText = string.Format("INSERT INTO {0} (Id, MessageHeaderId, SECSimplification, PortOfCallWhereCompleteSECNotified, " +
|
||||||
"CSOLastName, CSOFirstName, CSOPhone, CSOEMail, ValidISSCOnBoard, ReasonsForNoValidISSC, " +
|
"CSOLastName, CSOFirstName, CSOPhone, CSOEMail, ValidISSCOnBoard, ReasonsForNoValidISSC, " +
|
||||||
"ISSCType, ISSCIssuerType, ISSCIssuerName,ISSCDateOfExpiration, ApprovedSecurityPlanOnBoard, " +
|
"ISSCType, ISSCIssuerType, ISSCIssuerName,ISSCDateOfExpiration, ApprovedSecurityPlanOnBoard, " +
|
||||||
"CurrentShipSecurityLevel, PortFacilityOfArrival, GeneralDescriptionOfCargo, CSOFax) " +
|
"CurrentShipSecurityLevel, PortFacilityOfArrival, GeneralDescriptionOfCargo, CSOFax) " +
|
||||||
"VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, @P17, @P18 )", this.Tablename);
|
"VALUES ( @ID, @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, @P17, @P18 )", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
scmd.Parameters.AddWithValue(@"ID", this.Id);
|
scmd.Parameters.AddWithValue(@"ID", this.Id);
|
||||||
scmd.CommandText = string.Format("UPDATE {0} SET SECSimplification = @P2, PortOfCallWhereCompleteSECNotified = @P3, " +
|
scmd.CommandText = string.Format("UPDATE {0} SET SECSimplification = @P2, PortOfCallWhereCompleteSECNotified = @P3, " +
|
||||||
"CSOLastName = @P4, CSOFirstName = @P5, CSOPhone = @P6," +
|
"CSOLastName = @P4, CSOFirstName = @P5, CSOPhone = @P6," +
|
||||||
"CSOEMail = @P7, ValidISSCOnBoard = @8, ReasonsForNoValidISSC = @P9, " +
|
"CSOEMail = @P7, ValidISSCOnBoard = @P8, ReasonsForNoValidISSC = @P9, " +
|
||||||
"ISSCType = @P10, ISSCIssuerType = @P11, ISSCIssuerName = @P12, ISSCDateOfExpiration = @P13, " +
|
"ISSCType = @P10, ISSCIssuerType = @P11, ISSCIssuerName = @P12, ISSCDateOfExpiration = @P13, " +
|
||||||
"ApprovedSecurityPlanOnBoard = @P14, CurrentShipSecurityLevel = @P15, PortFacilityOfArrival = @P16, " +
|
"ApprovedSecurityPlanOnBoard = @P14, CurrentShipSecurityLevel = @P15, PortFacilityOfArrival = @P16, " +
|
||||||
"GeneralDescriptionOfCargo = @P17, CSOFax = @P18 WHERE Id = @ID", this.Tablename);
|
"GeneralDescriptionOfCargo = @P17, CSOFax = @P18 WHERE Id = @ID", this.Tablename);
|
||||||
@ -170,5 +172,28 @@ namespace bsmd.database
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region sublist lookup implementation
|
||||||
|
|
||||||
|
public LastTenPortFacilitiesCalled GetPortFacilityWithIdentifier(string identifier)
|
||||||
|
{
|
||||||
|
foreach(ISublistElement lp in this.ltpfc) {
|
||||||
|
if (lp.Identifier.Equals(identifier))
|
||||||
|
return lp as LastTenPortFacilitiesCalled;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ShipToShipActivitiesDuringLastTenPortFacilitiesCalled GetShipToShipWithIdentifier(string identifier)
|
||||||
|
{
|
||||||
|
foreach (ISublistElement lp in this.lsts)
|
||||||
|
{
|
||||||
|
if (lp.Identifier.Equals(identifier))
|
||||||
|
return lp as ShipToShipActivitiesDuringLastTenPortFacilitiesCalled;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace bsmd.database
|
namespace bsmd.database
|
||||||
{
|
{
|
||||||
public class SERV : DatabaseEntity
|
public class SERV : DatabaseEntity, ISublistElement
|
||||||
{
|
{
|
||||||
|
|
||||||
public SERV()
|
public SERV()
|
||||||
@ -30,6 +30,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public string ServiceInvoiceRecipient { get; set; }
|
public string ServiceInvoiceRecipient { get; set; }
|
||||||
|
|
||||||
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region DatabaseEntity implementation
|
#region DatabaseEntity implementation
|
||||||
@ -43,11 +45,12 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithNullableValue("@P2", this.ServiceName);
|
scmd.Parameters.AddWithNullableValue("@P2", this.ServiceName);
|
||||||
scmd.Parameters.AddWithNullableValue("@P3", this.ServiceBeneficiary);
|
scmd.Parameters.AddWithNullableValue("@P3", this.ServiceBeneficiary);
|
||||||
scmd.Parameters.AddWithNullableValue("@P4", this.ServiceInvoiceRecipient);
|
scmd.Parameters.AddWithNullableValue("@P4", this.ServiceInvoiceRecipient);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P5", this.Identifier);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, ServiceName, ServiceBeneficiary, " +
|
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, ServiceName, ServiceBeneficiary, " +
|
||||||
"ServiceInvoiceRecipient) VALUES ( @P1, @P2, @P3, @P4 )", this.Tablename);
|
"ServiceInvoiceRecipient, Identifier) VALUES ( @P1, @P2, @P3, @P4, @P5 )", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -59,7 +62,7 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
||||||
{
|
{
|
||||||
string query = string.Format("SELECT Id, ServiceName, ServiceBeneficiary, ServiceInvoiceRecipient FROM {0}", this.Tablename);
|
string query = string.Format("SELECT Id, ServiceName, ServiceBeneficiary, ServiceInvoiceRecipient, Identifier FROM {0}", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
@ -88,6 +91,7 @@ namespace bsmd.database
|
|||||||
if (!reader.IsDBNull(1)) serv.ServiceName = reader.GetString(1);
|
if (!reader.IsDBNull(1)) serv.ServiceName = reader.GetString(1);
|
||||||
if (!reader.IsDBNull(2)) serv.ServiceBeneficiary = reader.GetString(2);
|
if (!reader.IsDBNull(2)) serv.ServiceBeneficiary = reader.GetString(2);
|
||||||
if (!reader.IsDBNull(3)) serv.ServiceInvoiceRecipient = reader.GetString(3);
|
if (!reader.IsDBNull(3)) serv.ServiceInvoiceRecipient = reader.GetString(3);
|
||||||
|
if (!reader.IsDBNull(4)) serv.Identifier = reader.GetString(4);
|
||||||
result.Add(serv);
|
result.Add(serv);
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
|||||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace bsmd.database
|
namespace bsmd.database
|
||||||
{
|
{
|
||||||
public class ShipToShipActivitiesDuringLastTenPortFacilitiesCalled : DatabaseEntity
|
public class ShipToShipActivitiesDuringLastTenPortFacilitiesCalled : DatabaseEntity, ISublistElement
|
||||||
{
|
{
|
||||||
|
|
||||||
public ShipToShipActivitiesDuringLastTenPortFacilitiesCalled()
|
public ShipToShipActivitiesDuringLastTenPortFacilitiesCalled()
|
||||||
@ -42,6 +42,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public string ShipToShipActivitySecurityMattersToReport { get; set; }
|
public string ShipToShipActivitySecurityMattersToReport { get; set; }
|
||||||
|
|
||||||
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region DatabaseEntity implementation
|
#region DatabaseEntity implementation
|
||||||
@ -60,12 +62,13 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithNullableValue("@P7", this.ShipToShipActivityDateTo);
|
scmd.Parameters.AddWithNullableValue("@P7", this.ShipToShipActivityDateTo);
|
||||||
scmd.Parameters.AddWithNullableValue("@P8", this.ShipToShipActivityType);
|
scmd.Parameters.AddWithNullableValue("@P8", this.ShipToShipActivityType);
|
||||||
scmd.Parameters.AddWithNullableValue("@P9", this.ShipToShipActivitySecurityMattersToReport);
|
scmd.Parameters.AddWithNullableValue("@P9", this.ShipToShipActivitySecurityMattersToReport);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P10", this.Identifier);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (SEC_Id, ShipToShipActivityLocationName, ShipToShipActivityLocationLoCode, " +
|
scmd.CommandText = string.Format("INSERT INTO {0} (SEC_Id, ShipToShipActivityLocationName, ShipToShipActivityLocationLoCode, " +
|
||||||
"ShipToShipActivityLocationCoordinatesLatitude, ShipToShipActivityLocationCoordinatesLongitude, ShipToShipActivityDateFrom, ShipToShipActivityDateTo, " +
|
"ShipToShipActivityLocationCoordinatesLatitude, ShipToShipActivityLocationCoordinatesLongitude, ShipToShipActivityDateFrom, ShipToShipActivityDateTo, " +
|
||||||
"ShipToShipActivityType, ShipToShipActivitySecurityMattersToReport) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9)",
|
"ShipToShipActivityType, ShipToShipActivitySecurityMattersToReport, Identifier) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10)",
|
||||||
this.Tablename);
|
this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -73,7 +76,7 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithValue(@"ID", this.Id);
|
scmd.Parameters.AddWithValue(@"ID", this.Id);
|
||||||
scmd.CommandText = string.Format("UPDATE {0} SET ShipToShipActivityLocationName = @P2, ShipToShipActivityLocationLoCode = @P3, " +
|
scmd.CommandText = string.Format("UPDATE {0} SET ShipToShipActivityLocationName = @P2, ShipToShipActivityLocationLoCode = @P3, " +
|
||||||
"ShipToShipActivityLocationCoordinatesLatitude = @P4, ShipToShipActivityLocationCoordinatesLongitude = @P5, ShipToShipActivityDateFrom = @P6," +
|
"ShipToShipActivityLocationCoordinatesLatitude = @P4, ShipToShipActivityLocationCoordinatesLongitude = @P5, ShipToShipActivityDateFrom = @P6," +
|
||||||
"ShipToShipActivityDateTo = @P7, ShipToShipActivityType = @8, ShipToShipActivitySecurityMattersToReport = @P9 " +
|
"ShipToShipActivityDateTo = @P7, ShipToShipActivityType = @P8, ShipToShipActivitySecurityMattersToReport = @P9 " +
|
||||||
" WHERE Id = @ID", this.Tablename);
|
" WHERE Id = @ID", this.Tablename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -82,7 +85,7 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
string query = string.Format("SELECT Id, ShipToShipActivityLocationName, ShipToShipActivityLocationLoCode, ShipToShipActivityLocationCoordinatesLatitude, " +
|
string query = string.Format("SELECT Id, ShipToShipActivityLocationName, ShipToShipActivityLocationLoCode, ShipToShipActivityLocationCoordinatesLatitude, " +
|
||||||
"ShipToShipActivityLocationCoordinatesLongitude, ShipToShipActivityDateFrom, ShipToShipActivityDateTo, ShipToShipActivityType, " +
|
"ShipToShipActivityLocationCoordinatesLongitude, ShipToShipActivityDateFrom, ShipToShipActivityDateTo, ShipToShipActivityType, " +
|
||||||
"ShipToShipActivitySecurityMattersToReport FROM {0}", this.Tablename);
|
"ShipToShipActivitySecurityMattersToReport, Identifier FROM {0}", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
@ -118,6 +121,7 @@ namespace bsmd.database
|
|||||||
if (!reader.IsDBNull(6)) sts.ShipToShipActivityDateTo = reader.GetDateTime(6);
|
if (!reader.IsDBNull(6)) sts.ShipToShipActivityDateTo = reader.GetDateTime(6);
|
||||||
if (!reader.IsDBNull(7)) sts.ShipToShipActivityType = reader.GetString(7);
|
if (!reader.IsDBNull(7)) sts.ShipToShipActivityType = reader.GetString(7);
|
||||||
if (!reader.IsDBNull(8)) sts.ShipToShipActivitySecurityMattersToReport = reader.GetString(8);
|
if (!reader.IsDBNull(8)) sts.ShipToShipActivitySecurityMattersToReport = reader.GetString(8);
|
||||||
|
if (!reader.IsDBNull(9)) sts.Identifier = reader.GetString(9);
|
||||||
result.Add(sts);
|
result.Add(sts);
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
|||||||
@ -56,6 +56,7 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public string TowageOnArrivalRemarks { get; set; }
|
public string TowageOnArrivalRemarks { get; set; }
|
||||||
|
|
||||||
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -83,6 +84,7 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithNullableValue("@P15", this.TowageOnArrivalPurposeOfCall);
|
scmd.Parameters.AddWithNullableValue("@P15", this.TowageOnArrivalPurposeOfCall);
|
||||||
scmd.Parameters.AddWithNullableValue("@P16", this.TowageOnArrivalDraught_DMT);
|
scmd.Parameters.AddWithNullableValue("@P16", this.TowageOnArrivalDraught_DMT);
|
||||||
scmd.Parameters.AddWithNullableValue("@P17", this.TowageOnArrivalRemarks);
|
scmd.Parameters.AddWithNullableValue("@P17", this.TowageOnArrivalRemarks);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P18", this.Identifier);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
@ -91,8 +93,8 @@ namespace bsmd.database
|
|||||||
"TowageOnArrivalOperatorCity, TowageOnArrivalOperatorCountry, TowageOnArrivalOperatorPhone, " +
|
"TowageOnArrivalOperatorCity, TowageOnArrivalOperatorCountry, TowageOnArrivalOperatorPhone, " +
|
||||||
"TowageOnArrivalOperatorFax, TowageOnArrivalOperatorEmail, TowageOnArrivalGrossTonnage, " +
|
"TowageOnArrivalOperatorFax, TowageOnArrivalOperatorEmail, TowageOnArrivalGrossTonnage, " +
|
||||||
"TowageOnArrivalLengthOverall_MTR, TowageOnArrivalBeam_MTR, TowageOnArrivalPurposeOfCall, " +
|
"TowageOnArrivalLengthOverall_MTR, TowageOnArrivalBeam_MTR, TowageOnArrivalPurposeOfCall, " +
|
||||||
"TowageOnArrivalDraught_DMT, TowageOnArrivalRemarks) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, " +
|
"TowageOnArrivalDraught_DMT, TowageOnArrivalRemarks, Identifier) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, " +
|
||||||
"@P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, @P17 )", this.Tablename);
|
"@P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, @P17, @P18 )", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -113,8 +115,8 @@ namespace bsmd.database
|
|||||||
"TowageOnArrivalOperatorStreetNameAndNumber, TowageOnArrivalOperatorPostalCode, TowageOnArrivalOperatorCity, " +
|
"TowageOnArrivalOperatorStreetNameAndNumber, TowageOnArrivalOperatorPostalCode, TowageOnArrivalOperatorCity, " +
|
||||||
"TowageOnArrivalOperatorCountry, TowageOnArrivalOperatorPhone, TowageOnArrivalOperatorFax, " +
|
"TowageOnArrivalOperatorCountry, TowageOnArrivalOperatorPhone, TowageOnArrivalOperatorFax, " +
|
||||||
"TowageOnArrivalOperatorEmail, TowageOnArrivalGrossTonnage, TowageOnArrivalLengthOverall_MTR, " +
|
"TowageOnArrivalOperatorEmail, TowageOnArrivalGrossTonnage, TowageOnArrivalLengthOverall_MTR, " +
|
||||||
"TowageOnArrivalBeam_MTR, TowageOnArrivalPurposeOfCall, TowageOnArrivalDraught_DMT, TowageOnArrivalRemarks " +
|
"TowageOnArrivalBeam_MTR, TowageOnArrivalPurposeOfCall, TowageOnArrivalDraught_DMT, TowageOnArrivalRemarks, " +
|
||||||
"FROM {0}", this.Tablename);
|
"Identifier FROM {0}", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
@ -156,6 +158,7 @@ namespace bsmd.database
|
|||||||
if (!reader.IsDBNull(14)) towa.TowageOnArrivalPurposeOfCall = reader.GetString(14);
|
if (!reader.IsDBNull(14)) towa.TowageOnArrivalPurposeOfCall = reader.GetString(14);
|
||||||
if (!reader.IsDBNull(15)) towa.TowageOnArrivalDraught_DMT = (float)reader.GetDouble(15);
|
if (!reader.IsDBNull(15)) towa.TowageOnArrivalDraught_DMT = (float)reader.GetDouble(15);
|
||||||
if (!reader.IsDBNull(16)) towa.TowageOnArrivalRemarks = reader.GetString(16);
|
if (!reader.IsDBNull(16)) towa.TowageOnArrivalRemarks = reader.GetString(16);
|
||||||
|
if (!reader.IsDBNull(17)) towa.Identifier = reader.GetString(17);
|
||||||
|
|
||||||
result.Add(towa);
|
result.Add(towa);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -44,18 +44,15 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public string TowageOnDepartureOperatorEmail { get; set; }
|
public string TowageOnDepartureOperatorEmail { get; set; }
|
||||||
|
|
||||||
public int? TowageOnDepartureGrossTonnage { get; set; }
|
|
||||||
|
|
||||||
public float? TowageOnDepartureLengthOverall_MTR { get; set; }
|
public float? TowageOnDepartureLengthOverall_MTR { get; set; }
|
||||||
|
|
||||||
public float? TowageOnDepartureBeam_MTR { get; set; }
|
public float? TowageOnDepartureBeam_MTR { get; set; }
|
||||||
|
|
||||||
public string TowageOnDeparturePurposeOfCall { get; set; }
|
|
||||||
|
|
||||||
public float? TowageOnDepartureDraught_DMT { get; set; }
|
public float? TowageOnDepartureDraught_DMT { get; set; }
|
||||||
|
|
||||||
public string TowageOnDepartureRemarks { get; set; }
|
public string TowageOnDepartureRemarks { get; set; }
|
||||||
|
|
||||||
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -77,22 +74,21 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithNullableValue("@P9", this.TowageOnDepartureOperatorPhone);
|
scmd.Parameters.AddWithNullableValue("@P9", this.TowageOnDepartureOperatorPhone);
|
||||||
scmd.Parameters.AddWithNullableValue("@P10", this.TowageOnDepartureOperatorFax);
|
scmd.Parameters.AddWithNullableValue("@P10", this.TowageOnDepartureOperatorFax);
|
||||||
scmd.Parameters.AddWithNullableValue("@P11", this.TowageOnDepartureOperatorEmail);
|
scmd.Parameters.AddWithNullableValue("@P11", this.TowageOnDepartureOperatorEmail);
|
||||||
scmd.Parameters.AddWithNullableValue("@P12", this.TowageOnDepartureGrossTonnage);
|
scmd.Parameters.AddWithNullableValue("@P12", this.TowageOnDepartureLengthOverall_MTR);
|
||||||
scmd.Parameters.AddWithNullableValue("@P13", this.TowageOnDepartureLengthOverall_MTR);
|
scmd.Parameters.AddWithNullableValue("@P13", this.TowageOnDepartureBeam_MTR);
|
||||||
scmd.Parameters.AddWithNullableValue("@P14", this.TowageOnDepartureBeam_MTR);
|
scmd.Parameters.AddWithNullableValue("@P14", this.TowageOnDepartureDraught_DMT);
|
||||||
scmd.Parameters.AddWithNullableValue("@P15", this.TowageOnDeparturePurposeOfCall);
|
scmd.Parameters.AddWithNullableValue("@P15", this.TowageOnDepartureRemarks);
|
||||||
scmd.Parameters.AddWithNullableValue("@P16", this.TowageOnDepartureDraught_DMT);
|
scmd.Parameters.AddWithNullableValue("@P16", this.Identifier);
|
||||||
scmd.Parameters.AddWithNullableValue("@P17", this.TowageOnDepartureRemarks);
|
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, TowageOnDepartureName, TowageOnDepartureFlag, " +
|
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, TowageOnDepartureName, TowageOnDepartureFlag, " +
|
||||||
"TowageOnDepartureOperatorCompanyName, TowageOnDepartureOperatorStreetNameAndNumber, TowageOnDepartureOperatorPostalCode, " +
|
"TowageOnDepartureOperatorCompanyName, TowageOnDepartureOperatorStreetNameAndNumber, TowageOnDepartureOperatorPostalCode, " +
|
||||||
"TowageOnDepartureOperatorCity, TowageOnDepartureOperatorCountry, TowageOnDepartureOperatorPhone, " +
|
"TowageOnDepartureOperatorCity, TowageOnDepartureOperatorCountry, TowageOnDepartureOperatorPhone, " +
|
||||||
"TowageOnDepartureOperatorFax, TowageOnDepartureOperatorEmail, TowageOnDepartureGrossTonnage, " +
|
"TowageOnDepartureOperatorFax, TowageOnDepartureOperatorEmail, " +
|
||||||
"TowageOnDepartureLengthOverall_MTR, TowageOnDepartureBeam_MTR, TowageOnDeparturePurposeOfCall, " +
|
"TowageOnDepartureLengthOverall_MTR, TowageOnDepartureBeam_MTR, " +
|
||||||
"TowageOnDepartureDraught_DMT, TowageOnDepartureRemarks) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, " +
|
"TowageOnDepartureDraught_DMT, TowageOnDepartureRemarks, Identifier) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, " +
|
||||||
"@P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, @P17 )", this.Tablename);
|
"@P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16 )", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -101,9 +97,9 @@ namespace bsmd.database
|
|||||||
"TowageOnDepartureOperatorCompanyName = @P4, TowageOnDepartureOperatorStreetNameAndNumber = @P5, " +
|
"TowageOnDepartureOperatorCompanyName = @P4, TowageOnDepartureOperatorStreetNameAndNumber = @P5, " +
|
||||||
"TowageOnDepartureOperatorPostalCode = @P6, TowageOnDepartureOperatorCity = @P7, TowageOnDepartureOperatorCountry = @P8, " +
|
"TowageOnDepartureOperatorPostalCode = @P6, TowageOnDepartureOperatorCity = @P7, TowageOnDepartureOperatorCountry = @P8, " +
|
||||||
"TowageOnDepartureOperatorPhone = @P9, TowageOnDepartureOperatorFax = @P10, TowageOnDepartureOperatorEmail = @P11, " +
|
"TowageOnDepartureOperatorPhone = @P9, TowageOnDepartureOperatorFax = @P10, TowageOnDepartureOperatorEmail = @P11, " +
|
||||||
"TowageOnDepartureGrossTonnage = @P12, TowageOnDepartureLengthOverall_MTR = @P13, " +
|
"TowageOnDepartureLengthOverall_MTR = @P12, " +
|
||||||
"TowageOnDepartureBeam_MTR = @P14, TowageOnDeparturePurposeOfCall = @P15, TowageOnDepartureDraught_DMT = @P16, " +
|
"TowageOnDepartureBeam_MTR = @P13, TowageOnDepartureDraught_DMT = @P14, " +
|
||||||
"TowageOnDepartureRemarks = @P17 WHERE Id = @ID", this.Tablename);
|
"TowageOnDepartureRemarks = @P15 WHERE Id = @ID", this.Tablename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -112,9 +108,9 @@ namespace bsmd.database
|
|||||||
string query = string.Format("SELECT Id, TowageOnDepartureName, TowageOnDepartureFlag, TowageOnDepartureOperatorCompanyName, " +
|
string query = string.Format("SELECT Id, TowageOnDepartureName, TowageOnDepartureFlag, TowageOnDepartureOperatorCompanyName, " +
|
||||||
"TowageOnDepartureOperatorStreetNameAndNumber, TowageOnDepartureOperatorPostalCode, TowageOnDepartureOperatorCity, " +
|
"TowageOnDepartureOperatorStreetNameAndNumber, TowageOnDepartureOperatorPostalCode, TowageOnDepartureOperatorCity, " +
|
||||||
"TowageOnDepartureOperatorCountry, TowageOnDepartureOperatorPhone, TowageOnDepartureOperatorFax, " +
|
"TowageOnDepartureOperatorCountry, TowageOnDepartureOperatorPhone, TowageOnDepartureOperatorFax, " +
|
||||||
"TowageOnDepartureOperatorEmail, TowageOnDepartureGrossTonnage, TowageOnDepartureLengthOverall_MTR, " +
|
"TowageOnDepartureOperatorEmail, TowageOnDepartureLengthOverall_MTR, " +
|
||||||
"TowageOnDepartureBeam_MTR, TowageOnDeparturePurposeOfCall, TowageOnDepartureDraught_DMT, TowageOnDepartureRemarks " +
|
"TowageOnDepartureBeam_MTR, TowageOnDepartureDraught_DMT, TowageOnDepartureRemarks, " +
|
||||||
"FROM {0}", this.Tablename);
|
"Identifier FROM {0}", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
@ -150,12 +146,11 @@ namespace bsmd.database
|
|||||||
if (!reader.IsDBNull(8)) towd.TowageOnDepartureOperatorPhone = reader.GetString(8);
|
if (!reader.IsDBNull(8)) towd.TowageOnDepartureOperatorPhone = reader.GetString(8);
|
||||||
if (!reader.IsDBNull(9)) towd.TowageOnDepartureOperatorFax = reader.GetString(9);
|
if (!reader.IsDBNull(9)) towd.TowageOnDepartureOperatorFax = reader.GetString(9);
|
||||||
if (!reader.IsDBNull(10)) towd.TowageOnDepartureOperatorEmail = reader.GetString(10);
|
if (!reader.IsDBNull(10)) towd.TowageOnDepartureOperatorEmail = reader.GetString(10);
|
||||||
if (!reader.IsDBNull(11)) towd.TowageOnDepartureGrossTonnage = reader.GetInt32(11);
|
if (!reader.IsDBNull(11)) towd.TowageOnDepartureLengthOverall_MTR = (float) reader.GetDouble(11);
|
||||||
if (!reader.IsDBNull(12)) towd.TowageOnDepartureLengthOverall_MTR = (float) reader.GetDouble(12);
|
if (!reader.IsDBNull(12)) towd.TowageOnDepartureBeam_MTR = (float) reader.GetDouble(12);
|
||||||
if (!reader.IsDBNull(13)) towd.TowageOnDepartureBeam_MTR = (float) reader.GetDouble(13);
|
if (!reader.IsDBNull(13)) towd.TowageOnDepartureDraught_DMT = (float) reader.GetDouble(13);
|
||||||
if (!reader.IsDBNull(14)) towd.TowageOnDeparturePurposeOfCall = reader.GetString(14);
|
if (!reader.IsDBNull(14)) towd.TowageOnDepartureRemarks = reader.GetString(14);
|
||||||
if (!reader.IsDBNull(15)) towd.TowageOnDepartureDraught_DMT = (float) reader.GetDouble(15);
|
if (!reader.IsDBNull(15)) towd.Identifier = reader.GetString(15);
|
||||||
if (!reader.IsDBNull(16)) towd.TowageOnDepartureRemarks = reader.GetString(16);
|
|
||||||
|
|
||||||
result.Add(towd);
|
result.Add(towd);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace bsmd.database
|
namespace bsmd.database
|
||||||
{
|
{
|
||||||
public class WAS : DatabaseEntity
|
public class WAS : DatabaseEntity, ISublistContainer
|
||||||
{
|
{
|
||||||
|
|
||||||
private List<WasteDisposalServiceProvider> wdsp = new List<WasteDisposalServiceProvider>();
|
private List<WasteDisposalServiceProvider> wdsp = new List<WasteDisposalServiceProvider>();
|
||||||
@ -60,9 +60,11 @@ namespace bsmd.database
|
|||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, WasteDisposalValidExemption, " +
|
this.CreateId();
|
||||||
|
scmd.Parameters.AddWithValue("@ID", this.Id);
|
||||||
|
scmd.CommandText = string.Format("INSERT INTO {0} (Id, MessageHeaderId, WasteDisposalValidExemption, " +
|
||||||
"LastWasteDisposalPort, ConfirmationOfCorrectness, LastWasteDisposalDate, WasteDisposalDelivery) " +
|
"LastWasteDisposalPort, ConfirmationOfCorrectness, LastWasteDisposalDate, WasteDisposalDelivery) " +
|
||||||
"VALUES ( @P1, @P2, @P3, @P4, @P5, @P6 )", this.Tablename);
|
"VALUES ( @ID, @P1, @P2, @P3, @P4, @P5, @P6 )", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -115,5 +117,19 @@ namespace bsmd.database
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region ISublistContainer implementation
|
||||||
|
|
||||||
|
public ISublistElement GetSublistElementWithIdentifier(string identifier)
|
||||||
|
{
|
||||||
|
foreach (Waste waste in this.Waste)
|
||||||
|
{
|
||||||
|
if (waste.Identifier.Equals(identifier))
|
||||||
|
return waste;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace bsmd.database
|
namespace bsmd.database
|
||||||
{
|
{
|
||||||
public class Waste : DatabaseEntity
|
public class Waste : DatabaseEntity, ISublistElement
|
||||||
{
|
{
|
||||||
|
|
||||||
public Waste()
|
public Waste()
|
||||||
@ -40,6 +40,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public float? WasteAmountGeneratedTillNextPort_MTQ { get; set; }
|
public float? WasteAmountGeneratedTillNextPort_MTQ { get; set; }
|
||||||
|
|
||||||
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region DatabaseEntity implementation
|
#region DatabaseEntity implementation
|
||||||
@ -57,19 +59,21 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithNullableValue("@P6", this.WasteAmountRetained_MTQ);
|
scmd.Parameters.AddWithNullableValue("@P6", this.WasteAmountRetained_MTQ);
|
||||||
scmd.Parameters.AddWithNullableValue("@P7", this.WasteDisposalPort);
|
scmd.Parameters.AddWithNullableValue("@P7", this.WasteDisposalPort);
|
||||||
scmd.Parameters.AddWithNullableValue("@P8", this.WasteAmountGeneratedTillNextPort_MTQ);
|
scmd.Parameters.AddWithNullableValue("@P8", this.WasteAmountGeneratedTillNextPort_MTQ);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P9", this.Identifier);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (WASId, WasteType, WasteDescription, " +
|
scmd.CommandText = string.Format("INSERT INTO {0} (WASId, WasteType, WasteDescription, " +
|
||||||
"WasteDisposalAmount_MTQ, WasteCapacity_MTQ, WasteAmountRetained_MTQ, WasteDisposalPort, WasteAmountGeneratedTillNextPort_MTQ) " +
|
"WasteDisposalAmount_MTQ, WasteCapacity_MTQ, WasteAmountRetained_MTQ, WasteDisposalPort, " +
|
||||||
" VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8 )", this.Tablename);
|
"WasteAmountGeneratedTillNextPort_MTQ, Identifier) " +
|
||||||
|
" VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9 )", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
scmd.Parameters.AddWithValue(@"ID", this.Id);
|
scmd.Parameters.AddWithValue(@"ID", this.Id);
|
||||||
scmd.CommandText = string.Format("UPDATE {0} SET WasteType = @P2, WasteDescription = @P3, " +
|
scmd.CommandText = string.Format("UPDATE {0} SET WasteType = @P2, WasteDescription = @P3, " +
|
||||||
"WasteDisposalAmount_MTQ = @P4, WasteCapacity_MTQ = @P5, WasteAmountRetained_MTQ = @P6," +
|
"WasteDisposalAmount_MTQ = @P4, WasteCapacity_MTQ = @P5, WasteAmountRetained_MTQ = @P6," +
|
||||||
"WasteDisposalPort = @P7, WasteAmountGeneratedTillNextPort_MTQ = @8 " +
|
"WasteDisposalPort = @P7, WasteAmountGeneratedTillNextPort_MTQ = @P8 " +
|
||||||
"WHERE Id = @ID", this.Tablename);
|
"WHERE Id = @ID", this.Tablename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -77,12 +81,12 @@ namespace bsmd.database
|
|||||||
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
||||||
{
|
{
|
||||||
string query = string.Format("SELECT Id, WasteType, WasteDescription, WasteDisposalAmount_MTQ, " +
|
string query = string.Format("SELECT Id, WasteType, WasteDescription, WasteDisposalAmount_MTQ, " +
|
||||||
"WasteCapacity_MTQ, WasteAmountRetained_MTQ, WasteDisposalPort, WasteAmountGeneratedTillNextPort_MTQ " +
|
"WasteCapacity_MTQ, WasteAmountRetained_MTQ, WasteDisposalPort, WasteAmountGeneratedTillNextPort_MTQ, Identifier " +
|
||||||
" FROM {0} ", this.Tablename);
|
" FROM {0} ", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
case Message.LoadFilter.WDSP_ID:
|
case Message.LoadFilter.WAS_ID:
|
||||||
query += " WHERE WASId = @WDID";
|
query += " WHERE WASId = @WDID";
|
||||||
((SqlCommand)cmd).Parameters.AddWithValue("@WDID", criteria[0]);
|
((SqlCommand)cmd).Parameters.AddWithValue("@WDID", criteria[0]);
|
||||||
break;
|
break;
|
||||||
@ -110,7 +114,8 @@ namespace bsmd.database
|
|||||||
if (!reader.IsDBNull(4)) waste.WasteCapacity_MTQ = (float) reader.GetDouble(4);
|
if (!reader.IsDBNull(4)) waste.WasteCapacity_MTQ = (float) reader.GetDouble(4);
|
||||||
if (!reader.IsDBNull(5)) waste.WasteAmountRetained_MTQ = (float) reader.GetDouble(5);
|
if (!reader.IsDBNull(5)) waste.WasteAmountRetained_MTQ = (float) reader.GetDouble(5);
|
||||||
if (!reader.IsDBNull(6)) waste.WasteDisposalPort = reader.GetString(6);
|
if (!reader.IsDBNull(6)) waste.WasteDisposalPort = reader.GetString(6);
|
||||||
if (!reader.IsDBNull(7)) waste.WasteAmountGeneratedTillNextPort_MTQ = (float) reader.GetDouble(4);
|
if (!reader.IsDBNull(7)) waste.WasteAmountGeneratedTillNextPort_MTQ = (float) reader.GetDouble(7);
|
||||||
|
if (!reader.IsDBNull(8)) waste.Identifier = reader.GetString(8);
|
||||||
result.Add(waste);
|
result.Add(waste);
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
|||||||
@ -30,6 +30,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public byte? WasteDisposalDelivery { get; set; }
|
public byte? WasteDisposalDelivery { get; set; }
|
||||||
|
|
||||||
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region DatabaseEntity implementation
|
#region DatabaseEntity implementation
|
||||||
@ -42,11 +44,12 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithValue("@P1", this.WAS.Id);
|
scmd.Parameters.AddWithValue("@P1", this.WAS.Id);
|
||||||
scmd.Parameters.AddWithNullableValue("@P2", this.WasteDisposalServiceProviderName);
|
scmd.Parameters.AddWithNullableValue("@P2", this.WasteDisposalServiceProviderName);
|
||||||
scmd.Parameters.AddWithNullableValue("@P3", this.WasteDisposalDelivery);
|
scmd.Parameters.AddWithNullableValue("@P3", this.WasteDisposalDelivery);
|
||||||
|
scmd.Parameters.AddWithNullableValue("@P4", this.Identifier);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (WASId, WasteDisposalServiceProviderName, WasteDisposalDelivery) " +
|
scmd.CommandText = string.Format("INSERT INTO {0} (WASId, WasteDisposalServiceProviderName, WasteDisposalDelivery, Identifier) " +
|
||||||
"VALUES ( @P1, @P2, @P3 )", this.Tablename);
|
"VALUES ( @P1, @P2, @P3, @P4 )", this.Tablename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -58,7 +61,7 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
||||||
{
|
{
|
||||||
string query = string.Format("SELECT Id, WasteDisposalServiceProviderName, WasteDisposalDelivery FROM {0}", this.Tablename);
|
string query = string.Format("SELECT Id, WasteDisposalServiceProviderName, WasteDisposalDelivery, Identifier FROM {0}", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
@ -86,6 +89,7 @@ namespace bsmd.database
|
|||||||
wdsp.id = reader.GetGuid(0);
|
wdsp.id = reader.GetGuid(0);
|
||||||
if (!reader.IsDBNull(1)) wdsp.WasteDisposalServiceProviderName = reader.GetString(1);
|
if (!reader.IsDBNull(1)) wdsp.WasteDisposalServiceProviderName = reader.GetString(1);
|
||||||
if (!reader.IsDBNull(2)) wdsp.WasteDisposalDelivery = reader.GetByte(2);
|
if (!reader.IsDBNull(2)) wdsp.WasteDisposalDelivery = reader.GetByte(2);
|
||||||
|
if (!reader.IsDBNull(3)) wdsp.Identifier = reader.GetString(3);
|
||||||
result.Add(wdsp);
|
result.Add(wdsp);
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
|||||||
@ -56,6 +56,7 @@
|
|||||||
<Compile Include="CallPurpose.cs" />
|
<Compile Include="CallPurpose.cs" />
|
||||||
<Compile Include="Customer.cs" />
|
<Compile Include="Customer.cs" />
|
||||||
<Compile Include="Extensions.cs" />
|
<Compile Include="Extensions.cs" />
|
||||||
|
<Compile Include="ISublistContainer.cs" />
|
||||||
<Compile Include="LastTenPortFacilitiesCalled.cs" />
|
<Compile Include="LastTenPortFacilitiesCalled.cs" />
|
||||||
<Compile Include="Properties\AssemblyProductInfo.cs" />
|
<Compile Include="Properties\AssemblyProductInfo.cs" />
|
||||||
<Compile Include="Properties\AssemblyProjectInfo.cs" />
|
<Compile Include="Properties\AssemblyProjectInfo.cs" />
|
||||||
|
|||||||
119
nsw/Source/bsmd.herberg.FormService/Enums.cs
Normal file
119
nsw/Source/bsmd.herberg.FormService/Enums.cs
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
//
|
||||||
|
// Class: Enums
|
||||||
|
// Current CLR: 4.0.30319.34209
|
||||||
|
// System: Microsoft Visual Studio 10.0
|
||||||
|
// Author: dani
|
||||||
|
// Created: 5/22/2015 7:34:23 AM
|
||||||
|
//
|
||||||
|
// Copyright (c) 2015 Informatikbüro Daniel Schick. All rights reserved.
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace bsmd.herberg.FormService
|
||||||
|
{
|
||||||
|
public class Enums
|
||||||
|
{
|
||||||
|
public enum WasteDisposalDelivery : byte
|
||||||
|
{
|
||||||
|
ALL,
|
||||||
|
SOME,
|
||||||
|
NONE
|
||||||
|
}
|
||||||
|
|
||||||
|
public static byte? ParseWasteType(string val)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(val)) return 0;
|
||||||
|
if (val.Equals("1. WASTE_OILS-SLUDGE")) return 1;
|
||||||
|
if (val.Equals("2. WASTE_OILS-BILGE_WATER")) return 2;
|
||||||
|
if (val.Equals("3. WASTE_OILS-OTHERS")) return 3;
|
||||||
|
if (val.Equals("4. GARBAGE-FOOD_WASTE")) return 4;
|
||||||
|
if (val.Equals("5. GARBAGE-PLASTIC")) return 5;
|
||||||
|
if (val.Equals("6. GARBAGE-OTHER")) return 6;
|
||||||
|
if (val.Equals("7. SEWAGE")) return 7;
|
||||||
|
if (val.Equals("8. CARGO-ASSOSIATED_WASTE")) return 8;
|
||||||
|
if (val.Equals("9. CARGO-RESIDUES")) return 9;
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum WasteType : byte
|
||||||
|
{
|
||||||
|
WASTE_OILSSLUDGE,
|
||||||
|
WASTE_OILSBILGE_WATER
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum CargoHandlingType : byte
|
||||||
|
{
|
||||||
|
LOAD,
|
||||||
|
DISCHARGE
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum ShippingArea : byte
|
||||||
|
{
|
||||||
|
NORTH_BALTIC_SEA,
|
||||||
|
EUROPE,
|
||||||
|
OVERSEAS
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum FumigatedBulkCargo : byte
|
||||||
|
{
|
||||||
|
Y,
|
||||||
|
N
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum TankerHullConfiguration : byte
|
||||||
|
{
|
||||||
|
SINGLE_HULL,
|
||||||
|
SINGLE_HULL_WITH_SBT,
|
||||||
|
DOUBLE_HULL
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum ConditionCargoBallastTanks : byte
|
||||||
|
{
|
||||||
|
FULL,
|
||||||
|
EMPTY,
|
||||||
|
INERTED
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum ISSCType : byte
|
||||||
|
{
|
||||||
|
FULL,
|
||||||
|
INTERIM
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum ISSCIssuerType : byte
|
||||||
|
{
|
||||||
|
ADMINISTRATION,
|
||||||
|
RSO
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum GeneralDescriptionOfCargo : byte
|
||||||
|
{
|
||||||
|
CONTAINER,
|
||||||
|
VEHICLES,
|
||||||
|
CONVENTIONAL_GENERAL_CARGO,
|
||||||
|
DRY_CARGO_IN_BULK,
|
||||||
|
LIQUID_CARGO_IN_BULK,
|
||||||
|
EMPTY
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum PassengerGender : byte
|
||||||
|
{
|
||||||
|
MALE,
|
||||||
|
FEMALE,
|
||||||
|
OTHER
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum PassengerIdentityDocumentType : byte
|
||||||
|
{
|
||||||
|
IDENTITY_CARD,
|
||||||
|
PASSPORT,
|
||||||
|
MUSTER_BOOK,
|
||||||
|
PICTURE_ID,
|
||||||
|
RESIDENTAL_PERMIT,
|
||||||
|
OTHER_LEGAL_IDENTITY_DOCUMENT
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -10,6 +10,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
using System.Globalization;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
|
||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
@ -79,12 +80,16 @@ namespace bsmd.herberg.FormService
|
|||||||
// jetzt können wir die Felder nach Nachrichtentyp abarbeiten
|
// jetzt können wir die Felder nach Nachrichtentyp abarbeiten
|
||||||
Dictionary<string, Message> messages = Util.PrepareMessageDict(aMessageCore);
|
Dictionary<string, Message> messages = Util.PrepareMessageDict(aMessageCore);
|
||||||
|
|
||||||
|
List<DatabaseEntity> saveMessages = new List<DatabaseEntity>(); // 1:n messages
|
||||||
|
|
||||||
foreach (string messageType in groupedVals.Keys)
|
foreach (string messageType in groupedVals.Keys)
|
||||||
{
|
{
|
||||||
Dictionary<string, string> vDict = groupedVals[messageType];
|
Dictionary<string, string> vDict = groupedVals[messageType];
|
||||||
Dictionary<int, Dictionary<string, string>> nDict = groupedRowVals[messageType];
|
Dictionary<int, Dictionary<string, string>> nDict = groupedRowVals[messageType];
|
||||||
|
|
||||||
DatabaseEntity derivedMessage = null;
|
DatabaseEntity derivedMessage = null;
|
||||||
|
saveMessages.Clear();
|
||||||
|
|
||||||
Message theMessage = null;
|
Message theMessage = null;
|
||||||
if (!messages.ContainsKey(messageType.ToUpper()))
|
if (!messages.ContainsKey(messageType.ToUpper()))
|
||||||
{
|
{
|
||||||
@ -116,6 +121,7 @@ namespace bsmd.herberg.FormService
|
|||||||
|
|
||||||
switch (messageType)
|
switch (messageType)
|
||||||
{
|
{
|
||||||
|
#region ATA
|
||||||
case "ATA":
|
case "ATA":
|
||||||
{
|
{
|
||||||
if (theMessage.Elements.Count == 0)
|
if (theMessage.Elements.Count == 0)
|
||||||
@ -140,6 +146,9 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region ATD
|
||||||
case "ATD":
|
case "ATD":
|
||||||
{
|
{
|
||||||
if (theMessage.Elements.Count == 0)
|
if (theMessage.Elements.Count == 0)
|
||||||
@ -164,6 +173,36 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region NAME
|
||||||
|
case "NAME":
|
||||||
|
{
|
||||||
|
if (theMessage.Elements.Count == 0)
|
||||||
|
{
|
||||||
|
NAME newName = new NAME();
|
||||||
|
newName.MessageHeader = theMessage;
|
||||||
|
theMessage.MessageNotificationClass = Message.NotificationClass.NAME;
|
||||||
|
theMessage.Elements.Add(newName);
|
||||||
|
}
|
||||||
|
NAME name = theMessage.Elements[0] as NAME;
|
||||||
|
derivedMessage = name;
|
||||||
|
if (name != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (vDict.ContainsKey("NameOfMaster")) name.NameOfMaster = vDict["NameOfMaster"];
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_log.ErrorFormat("Error reading NAME fields: {0}", ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region NOA_NOD
|
||||||
case "NOA_NOD":
|
case "NOA_NOD":
|
||||||
{
|
{
|
||||||
if (theMessage.Elements.Count == 0)
|
if (theMessage.Elements.Count == 0)
|
||||||
@ -193,10 +232,22 @@ namespace bsmd.herberg.FormService
|
|||||||
if (vDict.ContainsKey("CountryCodeOfNextPort") && vDict.ContainsKey("NextPortCode"))
|
if (vDict.ContainsKey("CountryCodeOfNextPort") && vDict.ContainsKey("NextPortCode"))
|
||||||
noa_nod.NextPort = vDict["CountryCodeOfNextPort"] + vDict["NextPortCode"];
|
noa_nod.NextPort = vDict["CountryCodeOfNextPort"] + vDict["NextPortCode"];
|
||||||
|
|
||||||
foreach (int rowKey in nDict.Keys)
|
foreach (int key in nDict.Keys)
|
||||||
{
|
{
|
||||||
Dictionary<string, string> subvDict = nDict[rowKey];
|
Dictionary<string, string> subvDict = nDict[key];
|
||||||
|
CallPurpose cp = noa_nod.GetSublistElementWithIdentifier(key.ToString()) as CallPurpose;
|
||||||
|
if (cp == null)
|
||||||
|
{
|
||||||
|
cp = new CallPurpose();
|
||||||
|
cp.Identifier = key.ToString();
|
||||||
|
cp.NOA_NOD = noa_nod;
|
||||||
|
noa_nod.CallPurposes.Add(cp);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (subvDict.ContainsKey("CallPurposeCode")) cp.CallPurposeCode = Int32.Parse(subvDict["CallPurposeCode"]);
|
||||||
|
if (subvDict.ContainsKey("CallPurposeDescription")) cp.CallPurposeDescription = subvDict["CallPurposeDescription"];
|
||||||
|
|
||||||
|
saveMessages.Add(cp);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -207,8 +258,12 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region STAT
|
||||||
case "STAT":
|
case "STAT":
|
||||||
if(theMessage.Elements.Count == 0) {
|
if (theMessage.Elements.Count == 0)
|
||||||
|
{
|
||||||
STAT newStat = new STAT();
|
STAT newStat = new STAT();
|
||||||
newStat.MessageHeader = theMessage;
|
newStat.MessageHeader = theMessage;
|
||||||
theMessage.MessageNotificationClass = Message.NotificationClass.STAT;
|
theMessage.MessageNotificationClass = Message.NotificationClass.STAT;
|
||||||
@ -216,7 +271,8 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
STAT stat = theMessage.Elements[0] as STAT;
|
STAT stat = theMessage.Elements[0] as STAT;
|
||||||
derivedMessage = stat;
|
derivedMessage = stat;
|
||||||
if(stat != null) {
|
if (stat != null)
|
||||||
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (vDict.ContainsKey("ShipName")) stat.ShipName = vDict["ShipName"];
|
if (vDict.ContainsKey("ShipName")) stat.ShipName = vDict["ShipName"];
|
||||||
@ -246,6 +302,9 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region MDH
|
||||||
case "MDH":
|
case "MDH":
|
||||||
{
|
{
|
||||||
if (theMessage.Elements.Count == 0)
|
if (theMessage.Elements.Count == 0)
|
||||||
@ -261,18 +320,73 @@ namespace bsmd.herberg.FormService
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (vDict.ContainsKey("SickAnimalOrPetOnBoard")) mdh.SickAnimalOrPetOnBoard = vDict["SickAnimalOrPetOnBoard"].Equals("Y");
|
|
||||||
if (vDict.ContainsKey("Simplification")) mdh.MDHSimplification = vDict["Simplification"].Equals("Y");
|
if (vDict.ContainsKey("Simplification")) mdh.MDHSimplification = vDict["Simplification"].Equals("Y");
|
||||||
if (vDict.ContainsKey("SanitaryMeasuresApplied")) mdh.SanitaryMeasuresApplied = vDict["SanitaryMeasuresApplied"].Equals("Y");
|
if (vDict.ContainsKey("PortOfCallWhereCompleteMDHNotified")) mdh.PortOfCallWhereCompleteMDHNotified = vDict["PortOfCallWhereCompleteMDHNotified"];
|
||||||
if (vDict.ContainsKey("NonAccidentialDeathsDuringVoyage")) mdh.NonAccidentalDeathsDuringVoyage = vDict["NonAccidentialDeathsDuringVoyage"].Equals("Y");
|
if (vDict.ContainsKey("NonAccidentialDeathsDuringVoyage")) mdh.NonAccidentalDeathsDuringVoyage = vDict["NonAccidentialDeathsDuringVoyage"].Equals("Y");
|
||||||
|
if (vDict.ContainsKey("NonAccidentialDeathsDuringVoyageCount")) mdh.NonAccidentalDeathsDuringVoyageCount = Int32.Parse(vDict["NonAccidentialDeathsDuringVoyageCount"]);
|
||||||
if (vDict.ContainsKey("SuspisionInfectiousNature")) mdh.SuspisionInfectiousNature = vDict["SuspisionInfectiousNature"].Equals("Y");
|
if (vDict.ContainsKey("SuspisionInfectiousNature")) mdh.SuspisionInfectiousNature = vDict["SuspisionInfectiousNature"].Equals("Y");
|
||||||
if (vDict.ContainsKey("NumberOfIllPersonsHigherThanExpected")) mdh.NumberOfIllPersonsHigherThanExpected = vDict["NumberOfIllPersonsHigherThanExpected"].Equals("Y");
|
if (vDict.ContainsKey("NumberOfIllPersonsHigherThanExpected")) mdh.NumberOfIllPersonsHigherThanExpected = vDict["NumberOfIllPersonsHigherThanExpected"].Equals("Y");
|
||||||
|
if (vDict.ContainsKey("NumberOfIllPersons")) mdh.NumberOfIllPersons = Int32.Parse(vDict["NumberOfIllPersons"]);
|
||||||
if (vDict.ContainsKey("SickPersonsOnBoard")) mdh.SickPersonsOnBoard = vDict["SickPersonsOnBoard"].Equals("Y");
|
if (vDict.ContainsKey("SickPersonsOnBoard")) mdh.SickPersonsOnBoard = vDict["SickPersonsOnBoard"].Equals("Y");
|
||||||
if (vDict.ContainsKey("MedicalConsulted")) mdh.MedicalConsulted = vDict["MedicalConsulted"].Equals("Y");
|
if (vDict.ContainsKey("MedicalConsulted")) mdh.MedicalConsulted = vDict["MedicalConsulted"].Equals("Y");
|
||||||
if (vDict.ContainsKey("AwareOfConditionsForFurtherInfections")) mdh.AwareOfFurtherInfections = vDict["AwareOfConditionsForFurtherInfections"].Equals("Y");
|
if (vDict.ContainsKey("AwareOfConditionsForFurtherInfections")) mdh.AwareOfFurtherInfections = vDict["AwareOfConditionsForFurtherInfections"].Equals("Y");
|
||||||
|
if (vDict.ContainsKey("SanitaryMeasuresApplied")) mdh.SanitaryMeasuresApplied = vDict["SanitaryMeasuresApplied"].Equals("Y");
|
||||||
|
if (vDict.ContainsKey("SanitaryMeasuresType")) mdh.SanitaryMeasuresType = vDict["SanitaryMeasuresType"];
|
||||||
|
if (vDict.ContainsKey("SanitaryMeasuresLocation")) mdh.SanitaryMeasuresLocation = vDict["SanitaryMeasuresLocation"];
|
||||||
|
if (vDict.ContainsKey("SanitaryMeasuresDate")) mdh.SanitaryMeasuresDate = DateTime.Parse(vDict["SanitaryMeasuresDate"]);
|
||||||
|
if (vDict.ContainsKey("StowawaysDetected")) mdh.StowawaysDetected = vDict["StowawaysDetected"].Equals("Y");
|
||||||
|
if (vDict.ContainsKey("StowawaysJoiningLocation")) mdh.StowawaysJoiningLocation = vDict["StowawaysJoiningLocation"];
|
||||||
|
if (vDict.ContainsKey("SickAnimalOrPetOnBoard")) mdh.SickAnimalOrPetOnBoard = vDict["SickAnimalOrPetOnBoard"].Equals("Y");
|
||||||
if (vDict.ContainsKey("ValidSanitaryControlExemptionOrCertificateOnBoard")) mdh.ValidSanitaryControlExemptionOrCertificateOnBoard = vDict["ValidSanitaryControlExemptionOrCertificateOnBoard"].Equals("Y");
|
if (vDict.ContainsKey("ValidSanitaryControlExemptionOrCertificateOnBoard")) mdh.ValidSanitaryControlExemptionOrCertificateOnBoard = vDict["ValidSanitaryControlExemptionOrCertificateOnBoard"].Equals("Y");
|
||||||
|
if (vDict.ContainsKey("SanitaryControlCertPlaceOfIssue")) mdh.PlaceOfIssue = vDict["SanitaryControlCertPlaceOfIssue"];
|
||||||
|
if (vDict.ContainsKey("SanitaryControlCertDateOfIssue")) mdh.DateOfIssue = DateTime.Parse(vDict["SanitaryControlCertDateOfIssue"]);
|
||||||
if (vDict.ContainsKey("SanitaryControlReinspectionRequired")) mdh.SanitaryControlReinspectionRequired = vDict["SanitaryControlReinspectionRequired"].Equals("Y");
|
if (vDict.ContainsKey("SanitaryControlReinspectionRequired")) mdh.SanitaryControlReinspectionRequired = vDict["SanitaryControlReinspectionRequired"].Equals("Y");
|
||||||
if (vDict.ContainsKey("InfectedAreaVisited")) mdh.InfectedAreaVisited = vDict["InfectedAreaVisited"].Equals("Y");
|
if (vDict.ContainsKey("InfectedAreaVisited")) mdh.InfectedAreaVisited = vDict["InfectedAreaVisited"].Equals("Y");
|
||||||
|
if (vDict.ContainsKey("InfectedAreaPort")) mdh.InfectedAreaPort = vDict["InfectedAreaPort"];
|
||||||
|
if (vDict.ContainsKey("InfectedAreaDate")) mdh.InfectedAreaDate = DateTime.Parse(vDict["InfectedAreaDate"]);
|
||||||
|
|
||||||
|
// sublisten
|
||||||
|
foreach (int key in nDict.Keys)
|
||||||
|
{
|
||||||
|
Dictionary<string, string> pDict = nDict[key];
|
||||||
|
PortOfCallLast30Days poc30 = mdh.GetSublistElementWithIdentifier(key.ToString()) as PortOfCallLast30Days;
|
||||||
|
if (poc30 == null)
|
||||||
|
{
|
||||||
|
poc30 = new PortOfCallLast30Days();
|
||||||
|
poc30.Identifier = key.ToString();
|
||||||
|
mdh.PortOfCallLast30Days.Add(poc30);
|
||||||
|
poc30.MDH = mdh;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pDict.ContainsKey("PortOfCallLast30DaysDateOfDeparture")) poc30.PortOfCallLast30DaysDateOfDeparture = DateTime.Parse(pDict["PortOfCallLast30DaysDateOfDeparture"]);
|
||||||
|
if (pDict.ContainsKey("PortOfCallLast30DaysCrewMembersJoined")) poc30.PortOfCallLast30DaysCrewMembersJoined = pDict["PortOfCallLast30DaysCrewMembersJoined"].Equals("Y");
|
||||||
|
if (pDict.ContainsKey("PortOfCallLast30DaysPortCode") && pDict.ContainsKey("PortOfCallLast30DaysCountryCode"))
|
||||||
|
poc30.PortOfCallLast30DaysLocode = pDict["PortOfCallLast30DaysCountryCode"] + pDict["PortOfCallLast30DaysPortCode"];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
saveMessages.Add(poc30);
|
||||||
|
|
||||||
|
// lookup / crew members (Identifier hier der Name! (vereinfachung, ich habe keine rowid))
|
||||||
|
if (pDict.ContainsKey("PortOfCallLast30DaysCrewMemberNamesJoined"))
|
||||||
|
{
|
||||||
|
string[] names = pDict["PortOfCallLast30DaysCrewMemberNamesJoined"].Split(',');
|
||||||
|
for (int k = 0; k < names.Length; k++)
|
||||||
|
{
|
||||||
|
string crewname = names[k].Trim();
|
||||||
|
PortOfCallLast30DaysCrewJoinedShip poc30Crew = poc30.GetSublistElementWithIdentifier(crewname) as PortOfCallLast30DaysCrewJoinedShip;
|
||||||
|
if (poc30Crew == null)
|
||||||
|
{
|
||||||
|
poc30Crew = new PortOfCallLast30DaysCrewJoinedShip();
|
||||||
|
poc30Crew.Identifier = crewname;
|
||||||
|
poc30Crew.PortOfCallLast30Days = poc30;
|
||||||
|
poc30Crew.PortOfCallLast30DaysCrewJoinedShipName = crewname;
|
||||||
|
poc30.CrewJoinedShip.Add(poc30Crew);
|
||||||
|
saveMessages.Add(poc30Crew);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@ -281,6 +395,9 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region POBA
|
||||||
case "POBA":
|
case "POBA":
|
||||||
{
|
{
|
||||||
if (theMessage.Elements.Count == 0)
|
if (theMessage.Elements.Count == 0)
|
||||||
@ -308,6 +425,9 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region POBD
|
||||||
case "POBD":
|
case "POBD":
|
||||||
{
|
{
|
||||||
if (theMessage.Elements.Count == 0)
|
if (theMessage.Elements.Count == 0)
|
||||||
@ -335,81 +455,322 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "BKRA":
|
#endregion
|
||||||
|
|
||||||
|
#region BPOL
|
||||||
|
case "BPOL":
|
||||||
{
|
{
|
||||||
if (theMessage.Elements.Count == 0)
|
if (theMessage.Elements.Count == 0)
|
||||||
{
|
{
|
||||||
BRKA newBRKA = new BRKA();
|
BPOL newBPOL = new BPOL();
|
||||||
newBRKA.MessageHeader = theMessage;
|
newBPOL.MessageHeader = theMessage;
|
||||||
theMessage.MessageNotificationClass = Message.NotificationClass.BKRA;
|
theMessage.MessageNotificationClass = Message.NotificationClass.BPOL;
|
||||||
theMessage.Elements.Add(newBRKA);
|
theMessage.Elements.Add(newBPOL);
|
||||||
}
|
}
|
||||||
BRKA bkra = theMessage.Elements[0] as BRKA;
|
BPOL bpol = theMessage.Elements[0] as BPOL;
|
||||||
derivedMessage = bkra;
|
derivedMessage = bpol;
|
||||||
if (bkra != null)
|
if (bpol != null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (vDict.ContainsKey("BunkerFuelType")) bkra.BunkerFuelType = vDict["BunkerFuelType"];
|
if (vDict.ContainsKey("StowawayOnBoard")) bpol.StowawaysOnBoard = vDict["StowawayOnBoard"].Equals("Y");
|
||||||
if (vDict.ContainsKey("BunkerFuelQuantity_TNE")) bkra.BunkerFuelQuantity_TNE = (float)Double.Parse(vDict["BunkerFuelQuantity_TNE"]);
|
foreach (int key in nDict.Keys)
|
||||||
|
{
|
||||||
|
PortOfItinerary poi = bpol.GetSublistElementWithIdentifier(key.ToString()) as PortOfItinerary;
|
||||||
|
Dictionary<string, string> ppDict = nDict[key];
|
||||||
|
if (poi == null)
|
||||||
|
{
|
||||||
|
poi = new PortOfItinerary();
|
||||||
|
poi.Identifier = key.ToString();
|
||||||
|
poi.BPOL = bpol;
|
||||||
|
bpol.PortOfItineraries.Add(poi);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ppDict.ContainsKey("PortOfItineraryName")) poi.PortOfItineraryName = ppDict["PortOfItineraryName"];
|
||||||
|
if (ppDict.ContainsKey("PortOfItineraryETA")) poi.PortOfItineraryETA = DateTime.Parse(ppDict["PortOfItineraryETA"]);
|
||||||
|
|
||||||
|
saveMessages.Add(poi);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_log.ErrorFormat("Error reading BPOL fields: {0}", ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region BKRA
|
||||||
|
case "BKRA":
|
||||||
|
{
|
||||||
|
foreach (int key in nDict.Keys)
|
||||||
|
{
|
||||||
|
Dictionary<string, string> bDict = nDict[key];
|
||||||
|
BRKA bkra = theMessage.GetSublistElementWithIdentifier(key.ToString()) as BRKA;
|
||||||
|
if (bkra == null)
|
||||||
|
{
|
||||||
|
bkra = new BRKA();
|
||||||
|
bkra.MessageHeader = theMessage;
|
||||||
|
bkra.Identifier = key.ToString();
|
||||||
|
theMessage.MessageNotificationClass = Message.NotificationClass.BKRA;
|
||||||
|
theMessage.Elements.Add(bkra);
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (bDict.ContainsKey("BunkerFuelType")) bkra.BunkerFuelType = bDict["BunkerFuelType"];
|
||||||
|
if (bDict.ContainsKey("BunkerFuelQuantity_TNE")) bkra.BunkerFuelQuantity_TNE = (float)Double.Parse(bDict["BunkerFuelQuantity_TNE"]);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
_log.ErrorFormat("Error reading BKRA fields: {0}", ex.Message);
|
_log.ErrorFormat("Error reading BKRA fields: {0}", ex.Message);
|
||||||
}
|
}
|
||||||
|
saveMessages.Add(bkra);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "CREW":
|
#endregion
|
||||||
|
|
||||||
|
#region SERV
|
||||||
|
case "SERV":
|
||||||
{
|
{
|
||||||
if (theMessage.Elements.Count == 0)
|
foreach (int key in nDict.Keys)
|
||||||
{
|
{
|
||||||
CREW newCREW = new CREW();
|
Dictionary<string, string> pDict = nDict[key];
|
||||||
newCREW.MessageHeader = theMessage;
|
SERV serv = theMessage.GetSublistElementWithIdentifier(key.ToString()) as SERV;
|
||||||
theMessage.MessageNotificationClass = Message.NotificationClass.CREW;
|
if (serv == null)
|
||||||
theMessage.Elements.Add(newCREW);
|
{
|
||||||
|
serv = new SERV();
|
||||||
|
serv.MessageHeader = theMessage;
|
||||||
|
serv.Identifier = key.ToString();
|
||||||
|
theMessage.MessageNotificationClass = Message.NotificationClass.SERV;
|
||||||
|
theMessage.Elements.Add(serv);
|
||||||
}
|
}
|
||||||
CREW crew = theMessage.Elements[0] as CREW;
|
|
||||||
derivedMessage = crew;
|
|
||||||
if (crew != null)
|
|
||||||
{
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//crew.
|
if (pDict.ContainsKey("ServiceName")) serv.ServiceName = pDict["ServiceName"];
|
||||||
|
if (pDict.ContainsKey("ServiceBenificiary")) serv.ServiceBeneficiary = pDict["ServiceBenificiary"];
|
||||||
|
if (pDict.ContainsKey("ServiceInvoiceRecipient")) serv.ServiceInvoiceRecipient = pDict["ServiceInvoiceRecipient"];
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_log.ErrorFormat("Error reading SERV fields: {0}", ex.Message);
|
||||||
|
}
|
||||||
|
|
||||||
|
saveMessages.Add(serv);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region CREW
|
||||||
|
case "CREW":
|
||||||
|
{
|
||||||
|
foreach (int key in nDict.Keys)
|
||||||
|
{
|
||||||
|
Dictionary<string, string> pDict = nDict[key];
|
||||||
|
CREW crew = theMessage.GetSublistElementWithIdentifier(key.ToString()) as CREW;
|
||||||
|
if (crew == null)
|
||||||
|
{
|
||||||
|
crew = new CREW();
|
||||||
|
crew.MessageHeader = theMessage;
|
||||||
|
crew.Identifier = key.ToString();
|
||||||
|
theMessage.MessageNotificationClass = Message.NotificationClass.CREW;
|
||||||
|
theMessage.Elements.Add(crew);
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (pDict.ContainsKey("CrewMemberLastName")) crew.CrewMemberLastName = pDict["CrewMemberLastName"];
|
||||||
|
if (pDict.ContainsKey("CrewMemberFirstName")) crew.CrewMemberFirstName = pDict["CrewMemberFirstName"];
|
||||||
|
if (pDict.ContainsKey("CrewMemberPlaceOfBirth")) crew.CrewMemberPlaceOfBirth = pDict["CrewMemberPlaceOfBirth"];
|
||||||
|
if (pDict.ContainsKey("CrewMemberDateOfBirth")) crew.CrewMemberDateOfBirth = DateTime.Parse(pDict["CrewMemberDateOfBirth"]);
|
||||||
|
if (pDict.ContainsKey("CrewMemberGender")) crew.CrewMemberGender = (byte)Enum.Parse(typeof(Enums.PassengerGender), pDict["CrewMemberGender"], true);
|
||||||
|
if (pDict.ContainsKey("CrewMemberNationalityCode")) crew.CrewMemberNationality = pDict["CrewMemberNationalityCode"];
|
||||||
|
if (pDict.ContainsKey("CrewMemberIdentityDocumentType")) crew.CrewMemberIdentityDocumentType = (byte)Enum.Parse(typeof(Enums.PassengerIdentityDocumentType), pDict["CrewMemberIdentityDocumentType"], true);
|
||||||
|
if (pDict.ContainsKey("CrewMemberIdentityDocumentId")) crew.CrewMemberIdentityDocumentId = pDict["CrewMemberIdentityDocumentId"];
|
||||||
|
if (pDict.ContainsKey("CrewMemberVisaNumber")) crew.CrewMemberVisaNumber = pDict["CrewMemberVisaNumber"];
|
||||||
|
if (pDict.ContainsKey("CrewMemberDuty")) crew.CrewMemberDuty = pDict["CrewMemberDuty"];
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
_log.ErrorFormat("Error reading CREW fields: {0}", ex.Message);
|
_log.ErrorFormat("Error reading CREW fields: {0}", ex.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
saveMessages.Add(crew);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region BKRD
|
||||||
case "BKRD":
|
case "BKRD":
|
||||||
{
|
{
|
||||||
if (theMessage.Elements.Count == 0)
|
foreach (int key in nDict.Keys)
|
||||||
{
|
{
|
||||||
BRKD newBRKD = new BRKD();
|
Dictionary<string, string> bDict = nDict[key];
|
||||||
newBRKD.MessageHeader = theMessage;
|
BRKD bkrd = theMessage.GetSublistElementWithIdentifier(key.ToString()) as BRKD;
|
||||||
|
if (bkrd == null)
|
||||||
|
{
|
||||||
|
bkrd = new BRKD();
|
||||||
|
bkrd.MessageHeader = theMessage;
|
||||||
|
bkrd.Identifier = key.ToString();
|
||||||
theMessage.MessageNotificationClass = Message.NotificationClass.BKRD;
|
theMessage.MessageNotificationClass = Message.NotificationClass.BKRD;
|
||||||
theMessage.Elements.Add(newBRKD);
|
theMessage.Elements.Add(bkrd);
|
||||||
}
|
}
|
||||||
BRKD bkrd = theMessage.Elements[0] as BRKD;
|
|
||||||
derivedMessage = bkrd;
|
|
||||||
if (bkrd != null)
|
|
||||||
{
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (vDict.ContainsKey("BunkerFuelType")) bkrd.BunkerFuelType = vDict["BunkerFuelType"];
|
if (bDict.ContainsKey("BunkerFuelType")) bkrd.BunkerFuelType = bDict["BunkerFuelType"];
|
||||||
if (vDict.ContainsKey("BunkerFuelQuantity_TNE")) bkrd.BunkerFuelQuantity_TNE = (float)Double.Parse(vDict["BunkerFuelQuantity_TNE"]);
|
if (bDict.ContainsKey("BunkerFuelQuantity_TNE")) bkrd.BunkerFuelQuantity_TNE = (float)Double.Parse(bDict["BunkerFuelQuantity_TNE"]);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
_log.ErrorFormat("Error reading BKRD fields: {0}", ex.Message);
|
_log.ErrorFormat("Error reading BKRD fields: {0}", ex.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
saveMessages.Add(bkrd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region INFO
|
||||||
|
case "INFO":
|
||||||
|
{
|
||||||
|
if(theMessage.Elements.Count == 0)
|
||||||
|
{
|
||||||
|
INFO newInfo = new INFO();
|
||||||
|
newInfo.MessageHeader = theMessage;
|
||||||
|
theMessage.MessageNotificationClass = Message.NotificationClass.INFO;
|
||||||
|
theMessage.Elements.Add(newInfo);
|
||||||
|
}
|
||||||
|
INFO info = theMessage.Elements[0] as INFO;
|
||||||
|
derivedMessage = info;
|
||||||
|
if (info != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (vDict.ContainsKey("ShippingArea")) info.ShippingArea = (byte) Enum.Parse(typeof(Enums.ShippingArea), vDict["ShippingArea"]);
|
||||||
|
if (vDict.ContainsKey("RequestedPositionInPortOfCall")) info.RequestedPositionInPortOfCall = vDict["RequestedPositionInPortOfCall"];
|
||||||
|
if (vDict.ContainsKey("SpecialRequirementsOfShipAtBerth")) info.SpecialRequirementsOfShipAtBerth = vDict["SpecialRequirementsOfShipAtBerth"];
|
||||||
|
if (vDict.ContainsKey("ConstructionCharacteristicsOfShip")) info.ConstructionCharacteristicsOfShip = vDict["ConstructionCharacteristicsOfShip"];
|
||||||
|
if (vDict.ContainsKey("FumigatedBulkCargo")) info.FumigatedBulkCargo = (byte)Enum.Parse(typeof(Enums.FumigatedBulkCargo), vDict["FumigatedBulkCargo"]);
|
||||||
|
}
|
||||||
|
catch(Exception ex)
|
||||||
|
{
|
||||||
|
_log.ErrorFormat("Error reading INFO fields: {0}", ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region PRE72H
|
||||||
|
case "PRE72H":
|
||||||
|
{
|
||||||
|
if (theMessage.Elements.Count == 0)
|
||||||
|
{
|
||||||
|
PRE72H newp = new PRE72H();
|
||||||
|
newp.MessageHeader = theMessage;
|
||||||
|
theMessage.MessageNotificationClass = Message.NotificationClass.PRE72H;
|
||||||
|
theMessage.Elements.Add(newp);
|
||||||
|
}
|
||||||
|
PRE72H pre72h = theMessage.Elements[0] as PRE72H;
|
||||||
|
derivedMessage = pre72h;
|
||||||
|
if (pre72h != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (vDict.ContainsKey("Tanker")) pre72h.Tanker = vDict["Tanker"].Equals("Y");
|
||||||
|
if (vDict.ContainsKey("TankerHullConfiguration")) pre72h.TankerHullConfiguration = (byte)Enum.Parse(typeof(Enums.TankerHullConfiguration), vDict["TankerHullConfiguration"]);
|
||||||
|
if (vDict.ContainsKey("ConditionCargoBallastTanks")) pre72h.ConditionCargoBallastTanks = (byte)Enum.Parse(typeof(Enums.ConditionCargoBallastTanks), vDict["ConditionCargoBallastTanks"]);
|
||||||
|
if (vDict.ContainsKey("NatureOfCargo")) pre72h.NatureOfCargo = vDict["NatureOfCargo"];
|
||||||
|
if (vDict.ContainsKey("VolumeOfCargo_TNE")) pre72h.VolumeOfCargo = (float)Double.Parse(vDict["VolumeOfCargo_TNE"]);
|
||||||
|
if (vDict.ContainsKey("PlannedOperations")) pre72h.PlannedOperations = vDict["PlannedOperations"];
|
||||||
|
if (vDict.ContainsKey("PlannedWorks")) pre72h.PlannedWorks = vDict["PlannedWorks"];
|
||||||
|
if (vDict.ContainsKey("DateOfLastExpandedInspection")) pre72h.DateOfLastExpandedInspection = DateTime.Parse(vDict["DateOfLastExpandedInspection"], DateTimeFormatInfo.InvariantInfo);
|
||||||
|
if (vDict.ContainsKey("PlannedPeriodOfStay_HUR")) pre72h.PlannedPeriodOfStay_HUR = (float)Double.Parse(vDict["PlannedPeriodOfStay_HUR"]);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_log.ErrorFormat("Error reading PRE72H fields: {0}", ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region LADG
|
||||||
|
case "LADG":
|
||||||
|
{
|
||||||
|
foreach (int key in nDict.Keys)
|
||||||
|
{
|
||||||
|
Dictionary<string, string> lDict = nDict[key];
|
||||||
|
LADG ladg = theMessage.GetSublistElementWithIdentifier(key.ToString()) as LADG;
|
||||||
|
if (ladg == null)
|
||||||
|
{
|
||||||
|
ladg = new LADG();
|
||||||
|
ladg.MessageHeader = theMessage;
|
||||||
|
ladg.Identifier = key.ToString();
|
||||||
|
theMessage.MessageNotificationClass = Message.NotificationClass.LADG;
|
||||||
|
theMessage.Elements.Add(ladg);
|
||||||
|
}
|
||||||
|
if (lDict.ContainsKey("CargoGrossQuantity_TNE")) ladg.CargoGrossQuantity_TNE = (float)Double.Parse(lDict["CargoGrossQuantity_TNE"]);
|
||||||
|
if (lDict.ContainsKey("CargoNumberOfItems")) ladg.CargoNumberOfItems = Int32.Parse(lDict["CargoNumberOfItems"]);
|
||||||
|
if (lDict.ContainsKey("CargoCodeNST")) ladg.CargoCodeNST = lDict["CargoCodeNST"];
|
||||||
|
if (lDict.ContainsKey("CargoHandlingType")) ladg.CargoHandlingType = (byte) Enum.Parse(typeof(Enums.CargoHandlingType), lDict["CargoHandlingType"]);
|
||||||
|
|
||||||
|
saveMessages.Add(ladg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region PAS
|
||||||
|
case "PAS":
|
||||||
|
{
|
||||||
|
foreach (int key in nDict.Keys)
|
||||||
|
{
|
||||||
|
Dictionary<string, string> pDict = nDict[key];
|
||||||
|
PAS pas = theMessage.GetSublistElementWithIdentifier(key.ToString()) as PAS;
|
||||||
|
if (pas == null)
|
||||||
|
{
|
||||||
|
pas = new PAS();
|
||||||
|
pas.MessageHeader = theMessage;
|
||||||
|
pas.Identifier = key.ToString();
|
||||||
|
theMessage.MessageNotificationClass = Message.NotificationClass.PAS;
|
||||||
|
theMessage.Elements.Add(pas);
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (pDict.ContainsKey("PassengerLastName")) pas.PassengerLastName = pDict["PassengerLastName"];
|
||||||
|
if (pDict.ContainsKey("PassengerFirstName")) pas.PassengerFirstName = pDict["PassengerFirstName"];
|
||||||
|
if (pDict.ContainsKey("PassengerPlaceOfBirth")) pas.PassengerPlaceOfBirth = pDict["PassengerPlaceOfBirth"];
|
||||||
|
if (pDict.ContainsKey("PassengerDateOfBirth")) pas.PassengerDateOfBirth = DateTime.Parse(pDict["PassengerDateOfBirth"]);
|
||||||
|
if (pDict.ContainsKey("PassengerGender")) pas.PassengerGender = (byte)Enum.Parse(typeof(Enums.PassengerGender), pDict["PassengerGender"], true);
|
||||||
|
if (pDict.ContainsKey("PassengerNationalityCode")) pas.PassengerNationality = pDict["PassengerNationalityCode"];
|
||||||
|
if (pDict.ContainsKey("PassengerIdentityDocumentType")) pas.PassengerIdentityDocumentType = (byte)Enum.Parse(typeof(Enums.PassengerIdentityDocumentType), pDict["PassengerIdentityDocumentType"]);
|
||||||
|
if (pDict.ContainsKey("PassengerIdentityDocumentId")) pas.PassengerIdentityDocumentId = pDict["PassengerIdentityDocumentId"];
|
||||||
|
if (pDict.ContainsKey("PassengerVisaNumber")) pas.PassengerVisaNumber = pDict["PassengerVisaNumber"];
|
||||||
|
if (pDict.ContainsKey("PassengerPortCodeOfEmbarkation") && pDict.ContainsKey("PassengerCountryCodeOfEmbarkation"))
|
||||||
|
pas.PassengerPortOfEmbarkation = pDict["PassengerCountryCodeOfEmbarkation"] + pDict["PassengerPortCodeOfEmbarkation"];
|
||||||
|
if (pDict.ContainsKey("PassengerPortCodeOfDisembarkation") && pDict.ContainsKey("PassengerCountryCodeOfDisembarkation"))
|
||||||
|
pas.PassengerPortOfDisembarkation = pDict["PassengerCountryCodeOfEmbarkation"] + pDict["PassengerPortCodeOfDisembarkation"];
|
||||||
|
if (pDict.ContainsKey("PassengerInTransit")) pas.PassengerInTransit = pDict["PassengerInTransit"].Equals("Y");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_log.ErrorFormat("Error reading PAS fields: {0}", ex.Message);
|
||||||
|
}
|
||||||
|
|
||||||
|
saveMessages.Add(pas);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region WAS
|
||||||
case "WAS":
|
case "WAS":
|
||||||
{
|
{
|
||||||
if (theMessage.Elements.Count == 0)
|
if (theMessage.Elements.Count == 0)
|
||||||
@ -427,7 +788,52 @@ namespace bsmd.herberg.FormService
|
|||||||
{
|
{
|
||||||
if (vDict.ContainsKey("WasteDisposalValidExemption")) was.WasteDisposalValidExemption = vDict["WasteDisposalValidExemption"].Equals("Y");
|
if (vDict.ContainsKey("WasteDisposalValidExemption")) was.WasteDisposalValidExemption = vDict["WasteDisposalValidExemption"].Equals("Y");
|
||||||
if (vDict.ContainsKey("LastWasteDisposalDate")) was.LastWasteDisposalDate = DateTime.Parse(vDict["LastWasteDisposalDate"]);
|
if (vDict.ContainsKey("LastWasteDisposalDate")) was.LastWasteDisposalDate = DateTime.Parse(vDict["LastWasteDisposalDate"]);
|
||||||
if (vDict.ContainsKey("LastWasteDisposalPort")) was.LastWasteDisposalPort = vDict["LastWasteDisposalPort"];
|
|
||||||
|
if (vDict.ContainsKey("LastWasteDisposalPortCode") && vDict.ContainsKey("LastWasteDisposalCountryCode"))
|
||||||
|
was.LastWasteDisposalPort = vDict["LastWasteDisposalCountryCode"] + vDict["LastWasteDisposalPortCode"];
|
||||||
|
if (vDict.ContainsKey("WasteDisposalDelivery")) was.WasteDisposalDelivery = (byte) Enum.Parse(typeof(Enums.WasteDisposalDelivery), vDict["WasteDisposalDelivery"], true);
|
||||||
|
if (vDict.ContainsKey("ConfirmationOfCorrectness")) was.ConfirmationOfCorrectness = vDict["ConfirmationOfCorrectness"].Equals("Y");
|
||||||
|
|
||||||
|
// parse given waste
|
||||||
|
foreach(int key in nDict.Keys) {
|
||||||
|
Dictionary<string, string> wDict = nDict[key];
|
||||||
|
Waste waste = was.GetSublistElementWithIdentifier(key.ToString()) as Waste;
|
||||||
|
if (waste == null)
|
||||||
|
{
|
||||||
|
waste = new Waste();
|
||||||
|
waste.Identifier = key.ToString();
|
||||||
|
waste.WAS = was;
|
||||||
|
was.Waste.Add(waste);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(wDict.ContainsKey("WasteAmountGeneratedTillNextPort_MTQ")) waste.WasteAmountGeneratedTillNextPort_MTQ = (float) Double.Parse(wDict["WasteAmountGeneratedTillNextPort_MTQ"]);
|
||||||
|
if(wDict.ContainsKey("WasteAmountRetained_MTQ")) waste.WasteAmountRetained_MTQ = (float) Double.Parse(wDict["WasteAmountRetained_MTQ"]);
|
||||||
|
if(wDict.ContainsKey("WasteCapacity_MTQ")) waste.WasteCapacity_MTQ = (float) Double.Parse(wDict["WasteCapacity_MTQ"]);
|
||||||
|
if(wDict.ContainsKey("WasteDisposalAmount_MTQ")) waste.WasteDisposalAmount_MTQ = (float) Double.Parse(wDict["WasteDisposalAmount_MTQ"]);
|
||||||
|
if(wDict.ContainsKey("WasteDescription")) waste.WasteDescription = wDict["WasteDescription"];
|
||||||
|
if(wDict.ContainsKey("WasteType")) waste.WasteType = Enums.ParseWasteType(wDict["WasteType"]);
|
||||||
|
if(wDict.ContainsKey("WasteDisposalPort")) waste.WasteDisposalPort = wDict["WasteDisposalPort"];
|
||||||
|
|
||||||
|
saveMessages.Add(waste);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (vDict.ContainsKey("WasteDisposalServiceProviderName"))
|
||||||
|
{
|
||||||
|
WasteDisposalServiceProvider wdsp = null;
|
||||||
|
if (was.WasteDisposalServiceProvider.Count == 0)
|
||||||
|
{
|
||||||
|
wdsp = new WasteDisposalServiceProvider();
|
||||||
|
wdsp.WAS = was;
|
||||||
|
was.WasteDisposalServiceProvider.Add(wdsp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
wdsp = was.WasteDisposalServiceProvider[0];
|
||||||
|
}
|
||||||
|
wdsp.WasteDisposalServiceProviderName = vDict["WasteDisposalServiceProviderName"];
|
||||||
|
saveMessages.Add(wdsp);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@ -436,6 +842,108 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region SEC
|
||||||
|
case "SEC":
|
||||||
|
{
|
||||||
|
if (theMessage.Elements.Count == 0)
|
||||||
|
{
|
||||||
|
SEC newSEC = new SEC();
|
||||||
|
newSEC.MessageHeader = theMessage;
|
||||||
|
theMessage.MessageNotificationClass = Message.NotificationClass.SEC;
|
||||||
|
theMessage.Elements.Add(newSEC);
|
||||||
|
}
|
||||||
|
SEC sec = theMessage.Elements[0] as SEC;
|
||||||
|
derivedMessage = sec;
|
||||||
|
if (sec != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (vDict.ContainsKey("Simplification")) sec.SECSimplification = vDict["Simplification"].Equals("Y");
|
||||||
|
if (vDict.ContainsKey("PortOfCallWhereCompleteSECNotified")) sec.PortOfCallWhereCompleteSECNotified = vDict["PortOfCallWhereCompleteSECNotified"];
|
||||||
|
if (vDict.ContainsKey("CSOLastName")) sec.CSOLastName = vDict["CSOLastName"];
|
||||||
|
if (vDict.ContainsKey("CSOFirstName")) sec.CSOFirstName = vDict["CSOFirstName"];
|
||||||
|
if (vDict.ContainsKey("CSOPhone")) sec.CSOPhone = vDict["CSOPhone"];
|
||||||
|
if (vDict.ContainsKey("CSOFax")) sec.CSOFax = vDict["CSOFax"];
|
||||||
|
if (vDict.ContainsKey("CSOEMail")) sec.CSOEMail = vDict["CSOEMail"];
|
||||||
|
if (vDict.ContainsKey("ValidISSCOnBoard")) sec.ValidISSCOnBoard = vDict["ValidISSCOnBoard"].Equals("Y");
|
||||||
|
if (vDict.ContainsKey("ReasonsForNoValidISSC")) sec.ReasonsForNoValidISSC = vDict["ReasonsForNoValidISSC"];
|
||||||
|
if (vDict.ContainsKey("ISSCType")) sec.ISSCType = (byte)Enum.Parse(typeof(Enums.ISSCType), vDict["ISSCType"]);
|
||||||
|
if (vDict.ContainsKey("ISSCIssuerType")) sec.ISSCIssuerType = (byte)Enum.Parse(typeof(Enums.ISSCIssuerType), vDict["ISSCIssuerType"]);
|
||||||
|
if (vDict.ContainsKey("ISSCIssuerName")) sec.ISSCIssuerName = vDict["ISSCIssuerName"];
|
||||||
|
if (vDict.ContainsKey("ISSCDateOfExpiration")) sec.ISSCDateOfExpiration = DateTime.Parse(vDict["ISSCDateOfExpiration"]);
|
||||||
|
if (vDict.ContainsKey("ApprovedSecurityPlanOnBoard")) sec.ApprovedSecurityPlanOnBoard = vDict["ApprovedSecurityPlanOnBoard"].Equals("Y");
|
||||||
|
if (vDict.ContainsKey("CurrentShipSecurityLevel")) sec.CurrentShipSecurityLevel = Byte.Parse(vDict["CurrentShipSecurityLevel"]);
|
||||||
|
if (vDict.ContainsKey("PortFacilityOfArrival")) sec.PortFacilityOfArrival = vDict["PortFacilityOfArrival"];
|
||||||
|
if (vDict.ContainsKey("GeneralDescriptionOfCargo")) sec.GeneralDescriptionOfCargo = (byte)Enum.Parse(typeof(Enums.GeneralDescriptionOfCargo), vDict["GeneralDescriptionOfCargo"]);
|
||||||
|
|
||||||
|
// process sublists
|
||||||
|
|
||||||
|
foreach (int key in nDict.Keys)
|
||||||
|
{
|
||||||
|
Dictionary<string, string> sDict = nDict[key];
|
||||||
|
bool changedPfC = false;
|
||||||
|
bool changedStS = false;
|
||||||
|
|
||||||
|
ShipToShipActivitiesDuringLastTenPortFacilitiesCalled sts = sec.GetShipToShipWithIdentifier(key.ToString());
|
||||||
|
if(sts == null)
|
||||||
|
{
|
||||||
|
sts = new ShipToShipActivitiesDuringLastTenPortFacilitiesCalled();
|
||||||
|
sts.SEC = sec;
|
||||||
|
sts.Identifier = key.ToString();
|
||||||
|
sec.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.Add(sts);
|
||||||
|
}
|
||||||
|
|
||||||
|
LastTenPortFacilitiesCalled poc = sec.GetPortFacilityWithIdentifier(key.ToString());
|
||||||
|
if (poc == null)
|
||||||
|
{
|
||||||
|
poc = new LastTenPortFacilitiesCalled();
|
||||||
|
poc.SEC = sec;
|
||||||
|
poc.Identifier = key.ToString();
|
||||||
|
sec.LastTenPortFacilitesCalled.Add(poc);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sDict.ContainsKey("PortFacilityPortName")) { poc.PortFacilityPortName = sDict["PortFacilityPortName"]; changedPfC = true; }
|
||||||
|
if (sDict.ContainsKey("PortFacilityPortCountry")) { poc.PortFacilityPortCountry = sDict["PortFacilityPortCountry"]; changedPfC = true; }
|
||||||
|
if (sDict.ContainsKey("PortFacilityPortLoCode") && sDict.ContainsKey("PortFacilityPortCountryCode"))
|
||||||
|
{
|
||||||
|
poc.PortFacilityPortLoCode = sDict["PortFacilityPortCountryCode"] + sDict["PortFacilityPortLoCode"];
|
||||||
|
changedPfC = true;
|
||||||
|
}
|
||||||
|
if (sDict.ContainsKey("PortFacilityDateOfArrival")) { poc.PortFacilityDateOfArrival = DateTime.Parse(sDict["PortFacilityDateOfArrival"]); changedPfC = true; }
|
||||||
|
if (sDict.ContainsKey("PortFacilityDateOfDeparture")) { poc.PortFacilityDateOfDeparture = DateTime.Parse(sDict["PortFacilityDateOfDeparture"]); changedPfC = true; }
|
||||||
|
if (sDict.ContainsKey("PortFacilityShipSecurityLevel")) { poc.PortFacilityShipSecurityLevel = Byte.Parse(sDict["PortFacilityShipSecurityLevel"]); changedPfC = true; }
|
||||||
|
if (sDict.ContainsKey("PortFacilitySecurityMattersToReport")) { poc.PortFacilitySecurityMattersToReport = sDict["PortFacilitySecurityMattersToReport"]; changedPfC = true; }
|
||||||
|
if (sDict.ContainsKey("PortFacilityGISISCode")) { poc.PortFacilityGISISCode = sDict["PortFacilityGISISCode"]; changedPfC = true; }
|
||||||
|
|
||||||
|
if (sDict.ContainsKey("ShipToShipActivityLocationName")) { sts.ShipToShipActivityLocationName = sDict["ShipToShipActivityLocationName"]; changedStS = true; }
|
||||||
|
if (sDict.ContainsKey("ShipToShipActivityLocationLoCode") && sDict.ContainsKey("ShipToShipActivityCountryCode"))
|
||||||
|
{
|
||||||
|
sts.ShipToShipActivityLocationLoCode = sDict["ShipToShipActivityCountryCode"] + sDict["ShipToShipActivityLocationLoCode"];
|
||||||
|
changedStS = true;
|
||||||
|
}
|
||||||
|
if (sDict.ContainsKey("ShipToShipActivityLocationCoordinatesLatitude")) { sts.ShipToShipActivityLocationCoordinatesLatitude = Int32.Parse(sDict["ShipToShipActivityLocationCoordinatesLatitude"]); changedStS = true; }
|
||||||
|
if (sDict.ContainsKey("ShipToShipActivityLocationCoordinatesLongitude")) { sts.ShipToShipActivityLocationCoordinatesLongitude = Int32.Parse(sDict["ShipToShipActivityLocationCoordinatesLongitude"]); changedStS = true; }
|
||||||
|
if (sDict.ContainsKey("ShipToShipActivityDateFrom")) { sts.ShipToShipActivityDateFrom = DateTime.Parse(sDict["ShipToShipActivityDateFrom"]); changedStS = true; }
|
||||||
|
if (sDict.ContainsKey("ShipToShipActivityDateTo")) { sts.ShipToShipActivityDateTo = DateTime.Parse(sDict["ShipToShipActivityDateTo"]); changedStS = true; }
|
||||||
|
if (sDict.ContainsKey("ShipToShipActivityType")) { sts.ShipToShipActivityType = sDict["ShipToShipActivityType"]; changedStS = true; }
|
||||||
|
if (sDict.ContainsKey("ShipToShipActivitySecurityMattersToReport")) { sts.ShipToShipActivitySecurityMattersToReport = sDict["ShipToShipActivitySecurityMattersToReport"]; changedStS = true; }
|
||||||
|
|
||||||
|
if (changedPfC) saveMessages.Add(poc);
|
||||||
|
if (changedStS) saveMessages.Add(sts);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_log.ErrorFormat("Error reading SEC fields: {0}", ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Visit
|
||||||
case "Visit":
|
case "Visit":
|
||||||
{
|
{
|
||||||
theMessage.MessageNotificationClass = Message.NotificationClass.VISIT;
|
theMessage.MessageNotificationClass = Message.NotificationClass.VISIT;
|
||||||
@ -443,89 +951,103 @@ namespace bsmd.herberg.FormService
|
|||||||
if (vDict.ContainsKey("PortOfCall")) aMessageCore.PoC = "DE" + vDict["PortOfCall"];
|
if (vDict.ContainsKey("PortOfCall")) aMessageCore.PoC = "DE" + vDict["PortOfCall"];
|
||||||
if (vDict.ContainsKey("TransitKielCanal")) aMessageCore.IsTransit = vDict["TransitKielCanal"].Equals("Y");
|
if (vDict.ContainsKey("TransitKielCanal")) aMessageCore.IsTransit = vDict["TransitKielCanal"].Equals("Y");
|
||||||
if (vDict.ContainsKey("ETAPortOfCall")) aMessageCore.ETA = DateTime.Parse(vDict["ETAPortOfCall"]);
|
if (vDict.ContainsKey("ETAPortOfCall")) aMessageCore.ETA = DateTime.Parse(vDict["ETAPortOfCall"]);
|
||||||
|
if (vDict.ContainsKey("ETAKielCanal")) aMessageCore.ETAKielCanal = DateTime.Parse(vDict["ETAKielCanal"]);
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Transit
|
||||||
case "Transit":
|
case "Transit":
|
||||||
{
|
{
|
||||||
theMessage.MessageNotificationClass = Message.NotificationClass.TRANSIT;
|
theMessage.MessageNotificationClass = Message.NotificationClass.TRANSIT;
|
||||||
|
if (vDict.ContainsKey("ETAKielCanal")) aMessageCore.ETAKielCanal = DateTime.Parse(vDict["ETAKielCanal"]);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
#region TOWA
|
||||||
break;
|
|
||||||
case "TOWA":
|
case "TOWA":
|
||||||
if(theMessage.Elements.Count == 0) {
|
foreach (int key in nDict.Keys)
|
||||||
TOWA newTOWA = new TOWA();
|
{
|
||||||
newTOWA.MessageHeader = theMessage;
|
Dictionary<string, string> pDict = nDict[key];
|
||||||
|
TOWA towa = theMessage.GetSublistElementWithIdentifier(key.ToString()) as TOWA;
|
||||||
|
if (towa == null)
|
||||||
|
{
|
||||||
|
towa = new TOWA();
|
||||||
|
towa.MessageHeader = theMessage;
|
||||||
|
towa.Identifier = key.ToString();
|
||||||
theMessage.MessageNotificationClass = Message.NotificationClass.TOWA;
|
theMessage.MessageNotificationClass = Message.NotificationClass.TOWA;
|
||||||
theMessage.Elements.Add(newTOWA);
|
theMessage.Elements.Add(towa);
|
||||||
}
|
}
|
||||||
TOWA towa = theMessage.Elements[0] as TOWA;
|
|
||||||
derivedMessage = towa;
|
|
||||||
if (towa != null)
|
|
||||||
{
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (vDict.ContainsKey("TowageOnArrivalBeam_MTR")) towa.TowageOnArrivalBeam_MTR = (float)Double.Parse(vDict["TowageOnArrivalBeam_MTR"]);
|
if (pDict.ContainsKey("TowageOnArrivalBeam_MTR")) towa.TowageOnArrivalBeam_MTR = (float)Double.Parse(pDict["TowageOnArrivalBeam_MTR"]);
|
||||||
if (vDict.ContainsKey("TowageOnArrivalDraught_DMT")) towa.TowageOnArrivalDraught_DMT = (float)Double.Parse(vDict["TowageOnArrivalDraught_DMT"]);
|
if (pDict.ContainsKey("TowageOnArrivalDraught_DMT")) towa.TowageOnArrivalDraught_DMT = (float)Double.Parse(pDict["TowageOnArrivalDraught_DMT"]);
|
||||||
if (vDict.ContainsKey("TowageOnArrivalLengthOverall_MTR")) towa.TowageOnArrivalLengthOverall_MTR = (float)Double.Parse(vDict["TowageOnArrivalLengthOverall_MTR"]);
|
if (pDict.ContainsKey("TowageOnArrivalLengthOverall_MTR")) towa.TowageOnArrivalLengthOverall_MTR = (float)Double.Parse(pDict["TowageOnArrivalLengthOverall_MTR"]);
|
||||||
if (vDict.ContainsKey("TowageOnArrivalGrossTonnage")) towa.TowageOnArrivalGrossTonnage = Int32.Parse(vDict["TowageOnArrivalGrossTonnage"]);
|
if (pDict.ContainsKey("TowageOnArrivalGrossTonnage")) towa.TowageOnArrivalGrossTonnage = Int32.Parse(pDict["TowageOnArrivalGrossTonnage"]);
|
||||||
if (vDict.ContainsKey("TowageOnArrivalOperatorCountry")) towa.TowageOnArrivalOperatorCountry = vDict["TowageOnArrivalOperatorCountry"];
|
if (pDict.ContainsKey("TowageOnArrivalOperatorCountry")) towa.TowageOnArrivalOperatorCountry = pDict["TowageOnArrivalOperatorCountry"];
|
||||||
if (vDict.ContainsKey("TowageOnArrivalPurposeOfCall")) towa.TowageOnArrivalPurposeOfCall = vDict["TowageOnArrivalPurposeOfCall"];
|
if (pDict.ContainsKey("TowageOnArrivalPurposeOfCall")) towa.TowageOnArrivalPurposeOfCall = pDict["TowageOnArrivalPurposeOfCall"];
|
||||||
if (vDict.ContainsKey("TowageOnArrivalName")) towa.TowageOnArrivalName = vDict["TowageOnArrivalName"];
|
if (pDict.ContainsKey("TowageOnArrivalName")) towa.TowageOnArrivalName = pDict["TowageOnArrivalName"];
|
||||||
if (vDict.ContainsKey("TowageOnArrivalFlag")) towa.TowageOnArrivalFlag = vDict["TowageOnArrivalFlag"];
|
if (pDict.ContainsKey("TowageOnArrivalFlag")) towa.TowageOnArrivalFlag = pDict["TowageOnArrivalFlag"];
|
||||||
if (vDict.ContainsKey("TowageOnArrivalOperatorCompanyName")) towa.TowageOnArrivalOperatorCompanyName = vDict["TowageOnArrivalOperatorCompanyName"];
|
if (pDict.ContainsKey("TowageOnArrivalOperatorCompanyName")) towa.TowageOnArrivalOperatorCompanyName = pDict["TowageOnArrivalOperatorCompanyName"];
|
||||||
if (vDict.ContainsKey("TowageOnArrivalOperatorStreetAndNumber")) towa.TowageOnArrivalOperatorStreetNameAndNumber = vDict["TowageOnArrivalOperatorStreetAndNumber"];
|
if (pDict.ContainsKey("TowageOnArrivalOperatorStreetAndNumber")) towa.TowageOnArrivalOperatorStreetNameAndNumber = pDict["TowageOnArrivalOperatorStreetAndNumber"];
|
||||||
if (vDict.ContainsKey("TowageOnArrivalOperatorPostalCode")) towa.TowageOnArrivalOperatorPostalCode = vDict["TowageOnArrivalOperatorPostalCode"];
|
if (pDict.ContainsKey("TowageOnArrivalOperatorPostalCode")) towa.TowageOnArrivalOperatorPostalCode = pDict["TowageOnArrivalOperatorPostalCode"];
|
||||||
if (vDict.ContainsKey("TowageOnArrivalOperatorCity")) towa.TowageOnArrivalOperatorCity = vDict["TowageOnArrivalOperatorCity"];
|
if (pDict.ContainsKey("TowageOnArrivalOperatorCity")) towa.TowageOnArrivalOperatorCity = pDict["TowageOnArrivalOperatorCity"];
|
||||||
if (vDict.ContainsKey("TowageOnArrivalOperatorPhone")) towa.TowageOnArrivalOperatorPhone = vDict["TowageOnArrivalOperatorPhone"];
|
if (pDict.ContainsKey("TowageOnArrivalOperatorPhone")) towa.TowageOnArrivalOperatorPhone = pDict["TowageOnArrivalOperatorPhone"];
|
||||||
if (vDict.ContainsKey("TowageOnArrivalOperatorFax")) towa.TowageOnArrivalOperatorFax = vDict["TowageOnArrivalOperatorFax"];
|
if (pDict.ContainsKey("TowageOnArrivalOperatorFax")) towa.TowageOnArrivalOperatorFax = pDict["TowageOnArrivalOperatorFax"];
|
||||||
if (vDict.ContainsKey("TowageOnArrivalOperatorEmail")) towa.TowageOnArrivalOperatorEmail = vDict["TowageOnArrivalOperatorEmail"];
|
if (pDict.ContainsKey("TowageOnArrivalOperatorEmail")) towa.TowageOnArrivalOperatorEmail = pDict["TowageOnArrivalOperatorEmail"];
|
||||||
if (vDict.ContainsKey("TowageOnArrivalRemarks")) towa.TowageOnArrivalRemarks = vDict["TowageOnArrivalRemarks"];
|
if (pDict.ContainsKey("TowageOnArrivalRemarks")) towa.TowageOnArrivalRemarks = pDict["TowageOnArrivalRemarks"];
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
_log.ErrorFormat("Error reading TOWA fields: {0}", ex.Message);
|
_log.ErrorFormat("Error reading TOWA fields: {0}", ex.Message);
|
||||||
}
|
}
|
||||||
|
saveMessages.Add(towa);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region TOWD
|
||||||
case "TOWD":
|
case "TOWD":
|
||||||
if (theMessage.Elements.Count == 0)
|
foreach (int key in nDict.Keys)
|
||||||
{
|
{
|
||||||
TOWD newTOWD = new TOWD();
|
Dictionary<string, string> pDict = nDict[key];
|
||||||
newTOWD.MessageHeader = theMessage;
|
TOWD towd = theMessage.GetSublistElementWithIdentifier(key.ToString()) as TOWD;
|
||||||
|
if (towd == null)
|
||||||
|
{
|
||||||
|
towd = new TOWD();
|
||||||
|
towd.MessageHeader = theMessage;
|
||||||
|
towd.Identifier = key.ToString();
|
||||||
theMessage.MessageNotificationClass = Message.NotificationClass.TOWD;
|
theMessage.MessageNotificationClass = Message.NotificationClass.TOWD;
|
||||||
theMessage.Elements.Add(newTOWD);
|
theMessage.Elements.Add(towd);
|
||||||
}
|
}
|
||||||
TOWD towd = theMessage.Elements[0] as TOWD;
|
|
||||||
derivedMessage = towd;
|
|
||||||
if (towd != null)
|
|
||||||
{
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (vDict.ContainsKey("TowageOnDepartureBeam_MTR")) towd.TowageOnDepartureBeam_MTR = (float)Double.Parse(vDict["TowageOnDepartureBeam_MTR"]);
|
if (pDict.ContainsKey("TowageOnDepartureBeam_MTR")) towd.TowageOnDepartureBeam_MTR = (float)Double.Parse(pDict["TowageOnDepartureBeam_MTR"]);
|
||||||
if (vDict.ContainsKey("TowageOnDepartureDraught_DMT")) towd.TowageOnDepartureDraught_DMT = (float)Double.Parse(vDict["TowageOnDepartureDraught_DMT"]);
|
if (pDict.ContainsKey("TowageOnDepartureDraught_DMT")) towd.TowageOnDepartureDraught_DMT = (float)Double.Parse(pDict["TowageOnDepartureDraught_DMT"]);
|
||||||
if (vDict.ContainsKey("TowageOnDepartureLengthOverall_MTR")) towd.TowageOnDepartureLengthOverall_MTR = (float)Double.Parse(vDict["TowageOnDepartureLengthOverall_MTR"]);
|
if (pDict.ContainsKey("TowageOnDepartureLengthOverall_MTR")) towd.TowageOnDepartureLengthOverall_MTR = (float)Double.Parse(pDict["TowageOnDepartureLengthOverall_MTR"]);
|
||||||
if (vDict.ContainsKey("TowageOnDepartureGrossTonnage")) towd.TowageOnDepartureGrossTonnage = Int32.Parse(vDict["TowageOnDepartureGrossTonnage"]);
|
if (pDict.ContainsKey("TowageOnDepartureOperatorCountry")) towd.TowageOnDepartureOperatorCountry = pDict["TowageOnDepartureOperatorCountry"];
|
||||||
if (vDict.ContainsKey("TowageOnDepartureOperatorCountry")) towd.TowageOnDepartureOperatorCountry = vDict["TowageOnDepartureOperatorCountry"];
|
if (pDict.ContainsKey("TowageOnDepartureName")) towd.TowageOnDepartureName = pDict["TowageOnDepartureName"];
|
||||||
if (vDict.ContainsKey("TowageOnDeparturePurposeOfCall")) towd.TowageOnDeparturePurposeOfCall = vDict["TowageOnDeparturePurposeOfCall"];
|
if (pDict.ContainsKey("TowageOnDepartureFlag")) towd.TowageOnDepartureFlag = pDict["TowageOnDepartureFlag"];
|
||||||
if (vDict.ContainsKey("TowageOnDepartureName")) towd.TowageOnDepartureName = vDict["TowageOnDepartureName"];
|
if (pDict.ContainsKey("TowageOnDepartureOperatorCompanyName")) towd.TowageOnDepartureOperatorCompanyName = pDict["TowageOnDepartureOperatorCompanyName"];
|
||||||
if (vDict.ContainsKey("TowageOnDepartureFlag")) towd.TowageOnDepartureFlag = vDict["TowageOnDepartureFlag"];
|
if (pDict.ContainsKey("TowageOnDepartureOperatorStreetAndNumber")) towd.TowageOnDepartureOperatorStreetNameAndNumber = pDict["TowageOnDepartureOperatorStreetAndNumber"];
|
||||||
if (vDict.ContainsKey("TowageOnDepartureOperatorCompanyName")) towd.TowageOnDepartureOperatorCompanyName = vDict["TowageOnDepartureOperatorCompanyName"];
|
if (pDict.ContainsKey("TowageOnDepartureOperatorPostalCode")) towd.TowageOnDepartureOperatorPostalCode = pDict["TowageOnDepartureOperatorPostalCode"];
|
||||||
if (vDict.ContainsKey("TowageOnDepartureOperatorStreetAndNumber")) towd.TowageOnDepartureOperatorStreetNameAndNumber = vDict["TowageOnDepartureOperatorStreetAndNumber"];
|
if (pDict.ContainsKey("TowageOnDepartureOperatorCity")) towd.TowageOnDepartureOperatorCity = pDict["TowageOnDepartureOperatorCity"];
|
||||||
if (vDict.ContainsKey("TowageOnDepartureOperatorPostalCode")) towd.TowageOnDepartureOperatorPostalCode = vDict["TowageOnDepartureOperatorPostalCode"];
|
if (pDict.ContainsKey("TowageOnDepartureOperatorPhone")) towd.TowageOnDepartureOperatorPhone = pDict["TowageOnDepartureOperatorPhone"];
|
||||||
if (vDict.ContainsKey("TowageOnDepartureOperatorCity")) towd.TowageOnDepartureOperatorCity = vDict["TowageOnDepartureOperatorCity"];
|
if (pDict.ContainsKey("TowageOnDepartureOperatorFax")) towd.TowageOnDepartureOperatorFax = pDict["TowageOnDepartureOperatorFax"];
|
||||||
if (vDict.ContainsKey("TowageOnDepartureOperatorPhone")) towd.TowageOnDepartureOperatorPhone = vDict["TowageOnDepartureOperatorPhone"];
|
if (pDict.ContainsKey("TowageOnDepartureOperatorEmail")) towd.TowageOnDepartureOperatorEmail = pDict["TowageOnDepartureOperatorEmail"];
|
||||||
if (vDict.ContainsKey("TowageOnDepartureOperatorFax")) towd.TowageOnDepartureOperatorFax = vDict["TowageOnDepartureOperatorFax"];
|
if (pDict.ContainsKey("TowageOnDepartureRemarks")) towd.TowageOnDepartureRemarks = pDict["TowageOnDepartureRemarks"];
|
||||||
if (vDict.ContainsKey("TowageOnDepartureOperatorEmail")) towd.TowageOnDepartureOperatorEmail = vDict["TowageOnDepartureOperatorEmail"];
|
|
||||||
if (vDict.ContainsKey("TowageOnDepartureRemarks")) towd.TowageOnDepartureRemarks = vDict["TowageOnDepartureRemarks"];
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
_log.ErrorFormat("Error reading TOWA fields: {0}", ex.Message);
|
_log.ErrorFormat("Error reading TOWA fields: {0}", ex.Message);
|
||||||
}
|
}
|
||||||
|
saveMessages.Add(towd);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region TIEFA
|
||||||
case "TIEFA":
|
case "TIEFA":
|
||||||
{
|
{
|
||||||
if (theMessage.Elements.Count == 0)
|
if (theMessage.Elements.Count == 0)
|
||||||
@ -550,6 +1072,9 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region TIEFD
|
||||||
case "TIEFD":
|
case "TIEFD":
|
||||||
{
|
{
|
||||||
if (theMessage.Elements.Count == 0)
|
if (theMessage.Elements.Count == 0)
|
||||||
@ -574,17 +1099,23 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Die Logik dient dazu, dass bei "leeren" Nachrichten (also z.B. MDH ohne MDH Infos) nicht nur der
|
// Die Logik dient dazu, dass bei "leeren" Nachrichten (also z.B. MDH ohne MDH Infos) nicht nur der
|
||||||
// Header gespeichert wird und danach in der Luft hängt
|
// Header gespeichert wird und danach in der Luft hängt
|
||||||
if ((theMessage.MessageNotificationClass == Message.NotificationClass.VISIT) ||
|
if ((theMessage.MessageNotificationClass == Message.NotificationClass.VISIT) ||
|
||||||
(theMessage.MessageNotificationClass == Message.NotificationClass.TRANSIT) ||
|
(theMessage.MessageNotificationClass == Message.NotificationClass.TRANSIT) ||
|
||||||
(derivedMessage != null))
|
(derivedMessage != null) ||
|
||||||
|
(saveMessages.Count > 0)
|
||||||
|
)
|
||||||
{
|
{
|
||||||
DBManager.Instance.Save(theMessage);
|
DBManager.Instance.Save(theMessage);
|
||||||
if (derivedMessage != null)
|
if (derivedMessage != null)
|
||||||
DBManager.Instance.Save(derivedMessage);
|
DBManager.Instance.Save(derivedMessage);
|
||||||
|
foreach (DatabaseEntity saveEntity in saveMessages)
|
||||||
|
DBManager.Instance.Save(saveEntity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -56,6 +56,7 @@
|
|||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="Enums.cs" />
|
||||||
<Compile Include="FormService.cs">
|
<Compile Include="FormService.cs">
|
||||||
<SubType>Component</SubType>
|
<SubType>Component</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user