From 5f56a6c4bf27e7f259de03d9c71e04928e55cd71 Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Fri, 3 Apr 2015 11:19:37 +0000 Subject: [PATCH] =?UTF-8?q?Version=201.0.1:=20Ladelogik=20der=20Message-Ob?= =?UTF-8?q?jekte=20vollst=C3=A4ndig?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Stundensheet.xlsx | Bin 12126 -> 12166 bytes .../SendNSWMessageService.csproj | 7 + nsw/Source/bsmd.dakosy/bsmd.dakosy.csproj | 7 + nsw/Source/bsmd.database/BPOL.cs | 98 ++++++++++ nsw/Source/bsmd.database/DBManager.cs | 138 ++++++++++++-- .../LastTenPortFacilitiesCalled.cs | 129 +++++++++++++ nsw/Source/bsmd.database/Message.cs | 5 +- .../Properties/AssemblyProductInfo.cs | 2 +- .../Properties/AssemblyProjectInfo.cs | 5 +- .../Properties/AssemblyProjectKeyInfo.cs | 6 +- nsw/Source/bsmd.database/SEC.cs | 172 ++++++++++++++++++ ...vitiesDuringLastTenPortFacilitiesCalled.cs | 128 +++++++++++++ nsw/Source/bsmd.database/bsmd.database.csproj | 10 + nsw/Source/bsmd.dbh/bsmd.dbh.csproj | 7 + nsw/Source/bsmdKey.snk | Bin 0 -> 596 bytes 15 files changed, 691 insertions(+), 23 deletions(-) create mode 100644 nsw/Source/bsmd.database/BPOL.cs create mode 100644 nsw/Source/bsmd.database/LastTenPortFacilitiesCalled.cs create mode 100644 nsw/Source/bsmd.database/SEC.cs create mode 100644 nsw/Source/bsmd.database/ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs create mode 100644 nsw/Source/bsmdKey.snk diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx index 9f9dfddbee5aa79316965c5003a7a0f3f7b05662..b6e40248c2a1681c11214cc4b159f578ab194019 100644 GIT binary patch delta 3406 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 4 + + true + + + ..\bsmdKey.snk + ..\packages\log4net.2.0.3\lib\net40-full\log4net.dll @@ -80,6 +86,7 @@ Designer + SettingsSingleFileGenerator diff --git a/nsw/Source/bsmd.dakosy/bsmd.dakosy.csproj b/nsw/Source/bsmd.dakosy/bsmd.dakosy.csproj index 83567b49..e62c1286 100644 --- a/nsw/Source/bsmd.dakosy/bsmd.dakosy.csproj +++ b/nsw/Source/bsmd.dakosy/bsmd.dakosy.csproj @@ -29,6 +29,12 @@ prompt 4 + + true + + + ..\bsmdKey.snk + ..\packages\log4net.2.0.3\lib\net40-full\log4net.dll @@ -55,6 +61,7 @@ + diff --git a/nsw/Source/bsmd.database/BPOL.cs b/nsw/Source/bsmd.database/BPOL.cs new file mode 100644 index 00000000..90a6b5b8 --- /dev/null +++ b/nsw/Source/bsmd.database/BPOL.cs @@ -0,0 +1,98 @@ +// +// Class: BPOL +// Current CLR: 4.0.30319.34209 +// System: Microsoft Visual Studio 10.0 +// Author: dani +// Created: 4/2/2015 9:01:11 PM +// +// Copyright (c) 2015 Informatikbüro Daniel Schick. All rights reserved. + +using System; +using System.Data; +using System.Data.SqlClient; +using System.Collections.Generic; + +namespace bsmd.database +{ + public class BPOL : DatabaseEntity, IMessageClass + { + + private List poi = new List(); + + public BPOL() + { + this.tablename = "[dbo].[BPOL]"; + } + + #region Properties + + public Message MessageHeader { get; set; } + + public bool? StowawaysOnBoard { get; set; } + + public List PortOfItineraries { get { return this.poi; } } + + #endregion + + #region DatabaseEntity implementation + + public override void PrepareSave(System.Data.IDbCommand cmd) + { + + SqlCommand scmd = cmd as SqlCommand; + + scmd.Parameters.AddWithValue("@P1", this.MessageHeader.Id); + scmd.Parameters.AddWithNullableValue("@P2", this.StowawaysOnBoard); + + if (this.IsNew) + { + scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, StowawaysOnBoard) VALUES ( @P1, @P2 )", + this.Tablename); + } + else + { + scmd.Parameters.AddWithValue(@"ID", this.Id); + scmd.CommandText = string.Format("UPDATE {0} SET StowawaysOnBoard = @P2 WHERE Id = @ID", this.Tablename); + } + } + + public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria) + { + string query = string.Format("SELECT Id, StowawaysOnBoard FROM {0}", this.Tablename); + + switch (filter) + { + case Message.LoadFilter.MESSAGEHEADER: + query += "WHERE MessageHeaderId = @MHID"; + ((SqlCommand)cmd).Parameters.AddWithValue("@MHID", criteria[0]); + break; + case Message.LoadFilter.ALL: + default: + + break; + } + + cmd.CommandText = query; + } + + public override List LoadList(System.Data.IDataReader reader) + { + List result = new List(); + + while (reader.Read()) + { + BPOL bpol = new BPOL(); + + bpol.id = reader.GetGuid(0); + if (!reader.IsDBNull(1)) bpol.StowawaysOnBoard = reader.GetBoolean(1); + result.Add(bpol); + } + reader.Close(); + return result; + } + + #endregion + + } +} + diff --git a/nsw/Source/bsmd.database/DBManager.cs b/nsw/Source/bsmd.database/DBManager.cs index ebd6c593..92fc2fb2 100644 --- a/nsw/Source/bsmd.database/DBManager.cs +++ b/nsw/Source/bsmd.database/DBManager.cs @@ -19,7 +19,7 @@ namespace bsmd.database { private SqlConnection _con; private static DBManager _instance; - private ILog _log = LogManager.GetLogger(typeof(DBManager)); + private static ILog _log = LogManager.GetLogger(typeof(DBManager)); #region Properties @@ -170,6 +170,8 @@ namespace bsmd.database } } + #region CreateMessage() + /// /// factory method for messages by type /// @@ -178,14 +180,41 @@ namespace bsmd.database DatabaseEntity result = null; switch (notificationClass) { + case Message.NotificationClass.NOA_NOD: result = new NOA_NOD(); break; + case Message.NotificationClass.ATA: result = new ATA(); break; + case Message.NotificationClass.ATD: result = new ATD(); break; + case Message.NotificationClass.SEC: result = new SEC(); break; + case Message.NotificationClass.POBA: result = new POBA(); break; + case Message.NotificationClass.POBD: result = new POBD(); break; + case Message.NotificationClass.NAME: result = new NAME(); break; + case Message.NotificationClass.TIEFA: result = new TIEFA(); break; + case Message.NotificationClass.TIEFD: result = new TIEFD(); break; + case Message.NotificationClass.BKRA: result = new BRKA(); break; + case Message.NotificationClass.BKRD: result = new BRKD(); break; case Message.NotificationClass.STAT: result = new STAT(); break; - case Message.NotificationClass.NOA_NOD: result = new NOA_NOD(); break; + case Message.NotificationClass.LADG: result = new LADG(); break; + case Message.NotificationClass.INFO: result = new INFO(); break; + case Message.NotificationClass.SERV: result = new SERV(); break; + case Message.NotificationClass.PRE72H: result = new PRE72H(); break; case Message.NotificationClass.MDH: result = new MDH(); break; - default: break; + case Message.NotificationClass.WAS: result = new WAS(); break; + case Message.NotificationClass.CREW: result = new CREW(); break; + case Message.NotificationClass.PAS: result = new PAS(); break; + case Message.NotificationClass.BPOL: result = new BPOL(); break; + case Message.NotificationClass.TOWA: result = new TOWA(); break; + case Message.NotificationClass.TOWD: result = new TOWD(); break; + + case Message.NotificationClass.HAZA: + case Message.NotificationClass.HAZD: + default: + _log.WarnFormat("CreateMessage: message type {0} is not supported", notificationClass.ToString()); + break; } return result; } + #endregion + /// /// Loads inner lists / collections /// @@ -193,32 +222,109 @@ namespace bsmd.database { SqlCommand cmd = new SqlCommand(); - if(databaseEntity.GetType().IsAssignableFrom(typeof(MDH))) + #region MDH + + if (databaseEntity.GetType().IsAssignableFrom(typeof(MDH))) { MDH mdh = databaseEntity as MDH; - mdh.PrepareLoadCommand(cmd, Message.LoadFilter.MDH_ID); + PortOfCallLast30Days poc30 = new PortOfCallLast30Days(); + poc30.PrepareLoadCommand(cmd, Message.LoadFilter.MDH_ID, mdh.Id); SqlDataReader reader = this.PerformCommand(cmd); - List poc30s = mdh.LoadList(reader); - foreach (PortOfCallLast30Days poc30 in poc30s) + List poc30s = poc30.LoadList(reader); + foreach (PortOfCallLast30Days apoc30 in poc30s) { - mdh.PortOfCallLast30Days.Add(poc30); - poc30.MDH = mdh; - this.LoadDependingLists(poc30); - } + mdh.PortOfCallLast30Days.Add(apoc30); + apoc30.MDH = mdh; + this.LoadDependingLists(apoc30); + } } - if(databaseEntity.GetType().IsAssignableFrom(typeof(PortOfCallLast30Days))) + #endregion + + #region PortOfCallLast30Days + + if (databaseEntity.GetType().IsAssignableFrom(typeof(PortOfCallLast30Days))) { PortOfCallLast30Days poc30 = databaseEntity as PortOfCallLast30Days; - poc30.PrepareLoadCommand(cmd, Message.LoadFilter.POC30_ID); + PortOfCallLast30DaysCrewJoinedShip poc30s = new PortOfCallLast30DaysCrewJoinedShip(); + poc30s.PrepareLoadCommand(cmd, Message.LoadFilter.POC30_ID, poc30.Id); SqlDataReader reader = this.PerformCommand(cmd); - List poc30Names = poc30.LoadList(reader); + List poc30Names = poc30s.LoadList(reader); foreach (PortOfCallLast30DaysCrewJoinedShip poc30Name in poc30Names) { poc30.CrewJoinedShip.Add(poc30Name); poc30Name.PortOfCallLast30Days = poc30; } } + + #endregion + + #region SEC + + if (databaseEntity.GetType().IsAssignableFrom(typeof(SEC))) + { + SEC sec = databaseEntity as SEC; + LastTenPortFacilitiesCalled ltp = new LastTenPortFacilitiesCalled(); + ltp.PrepareLoadCommand(cmd, Message.LoadFilter.SEC_ID, sec.Id); + SqlDataReader reader = this.PerformCommand(cmd); + List ltps = ltp.LoadList(reader); + foreach (LastTenPortFacilitiesCalled altp in ltps) + { + sec.LastTenPortFacilitesCalled.Add(altp); + altp.SEC = sec; + } + + cmd = new SqlCommand(); + ShipToShipActivitiesDuringLastTenPortFacilitiesCalled sts = new ShipToShipActivitiesDuringLastTenPortFacilitiesCalled(); + sts.PrepareLoadCommand(cmd, Message.LoadFilter.SEC_ID, sec.Id); + reader = this.PerformCommand(cmd); + List stss = sts.LoadList(reader); + foreach (ShipToShipActivitiesDuringLastTenPortFacilitiesCalled asts in stss) + { + sec.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.Add(asts); + asts.SEC = sec; + } + } + + #endregion + + #region WAS + + if(databaseEntity.GetType().IsAssignableFrom(typeof(WAS))) + { + WAS was = databaseEntity as WAS; + WasteDisposalServiceProvider wdsp = new WasteDisposalServiceProvider(); + wdsp.PrepareLoadCommand(cmd, Message.LoadFilter.WAS_ID, was.Id); + SqlDataReader reader = this.PerformCommand(cmd); + List wdsps = wdsp.LoadList(reader); + foreach (WasteDisposalServiceProvider awdsp in wdsps) + { + was.WasteDisposalServiceProvider.Add(awdsp); + awdsp.WAS = was; + this.LoadDependingLists(awdsp); + } + } + + #endregion + + #region WasteDisposalServiceProvider + + if(databaseEntity.GetType().IsAssignableFrom(typeof(WasteDisposalServiceProvider))) + { + WasteDisposalServiceProvider wdsp = databaseEntity as WasteDisposalServiceProvider; + Waste waste = new Waste(); + waste.PrepareLoadCommand(cmd, Message.LoadFilter.WDSP_ID, wdsp.Id); + SqlDataReader reader = this.PerformCommand(cmd); + List wastes = wdsp.LoadList(reader); + foreach (Waste aWaste in wastes) + { + wdsp.Waste.Add(aWaste); + aWaste.WasteDisposalServiceProvider = wdsp; + } + } + + #endregion + } internal void LoadErrorList(Message message) @@ -243,6 +349,7 @@ namespace bsmd.database message.ViolationList.Add(violation); } + #region DB access methods internal SqlDataReader PerformCommand(SqlCommand cmd) { @@ -272,9 +379,10 @@ namespace bsmd.database System.Diagnostics.Trace.WriteLine("SQL Exception:" + ex.Message); _log.Error("Error performing command", ex); return -1; - } + } } + #endregion #endregion diff --git a/nsw/Source/bsmd.database/LastTenPortFacilitiesCalled.cs b/nsw/Source/bsmd.database/LastTenPortFacilitiesCalled.cs new file mode 100644 index 00000000..12641649 --- /dev/null +++ b/nsw/Source/bsmd.database/LastTenPortFacilitiesCalled.cs @@ -0,0 +1,129 @@ +// +// Class: LastTenPortFacilitiesCalled +// Current CLR: 4.0.30319.34209 +// System: Microsoft Visual Studio 10.0 +// Author: dani +// Created: 4/3/2015 10:11:28 AM +// +// Copyright (c) 2015 Informatikbüro Daniel Schick. All rights reserved. + +using System; +using System.Data; +using System.Data.SqlClient; +using System.Collections.Generic; + +namespace bsmd.database +{ + public class LastTenPortFacilitiesCalled : DatabaseEntity + { + + public LastTenPortFacilitiesCalled() + { + this.tablename = "[dbo].[LastTenPortFacilitiesCalled]"; + } + + #region Properties + + public SEC SEC { get; set; } + + public string PortFacilityPortName { get; set; } + + public string PortFacilityPortCode { get; set; } + + public string PortFacilityPortLoCode { get; set; } + + public DateTime? PortFacilityDateOfArrival { get; set; } + + public DateTime? PortFacilityDateOfDeparture { get; set; } + + public byte? PortFacilityShipSecurityLevel { get; set; } + + public string PortFacilitySecurityMattersToReport { get; set; } + + public string PortFacilityGISISCode { get; set; } + + #endregion + + #region DatabaseEntity implementation + + public override void PrepareSave(System.Data.IDbCommand cmd) + { + + SqlCommand scmd = cmd as SqlCommand; + + scmd.Parameters.AddWithValue("@P1", this.SEC.Id); + scmd.Parameters.AddWithNullableValue("@P2", this.PortFacilityPortName); + scmd.Parameters.AddWithNullableValue("@P3", this.PortFacilityPortCode); + scmd.Parameters.AddWithNullableValue("@P4", this.PortFacilityPortLoCode); + scmd.Parameters.AddWithNullableValue("@P5", this.PortFacilityDateOfArrival); + scmd.Parameters.AddWithNullableValue("@P6", this.PortFacilityDateOfDeparture); + scmd.Parameters.AddWithNullableValue("@P7", this.PortFacilityShipSecurityLevel); + scmd.Parameters.AddWithNullableValue("@P8", this.PortFacilitySecurityMattersToReport); + scmd.Parameters.AddWithNullableValue("@P9", this.PortFacilityGISISCode); + + if (this.IsNew) + { + scmd.CommandText = string.Format("INSERT INTO {0} (SEC_Id, PortFacilityPortName, PortFacilityPortCode, " + + "PortFacilityPortLoCode, PortFacilityDateOfArrival, PortFacilityDateOfDeparture, PortFacilityShipSecurityLevel, " + + "PortFacilitySecurityMattersToReport, PortFacilityGISISCode) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9)", + this.Tablename); + } + else + { + scmd.Parameters.AddWithValue(@"ID", this.Id); + scmd.CommandText = string.Format("UPDATE {0} SET PortFacilityPortName = @P2, PortFacilityPortCode = @P3, " + + "PortFacilityPortLoCode = @P4, PortFacilityDateOfArrival = @P5, PortFacilityDateOfDeparture = @P6," + + "PortFacilityShipSecurityLevel = @P7, PortFacilitySecurityMattersToReport = @8, PortFacilityGISISCode = @P9 " + + " WHERE Id = @ID", this.Tablename); + } + } + + public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria) + { + string query = string.Format("SELECT Id, PortFacilityPortName, PortFacilityPortCode, PortFacilityPortLoCode, " + + "PortFacilityDateOfArrival, PortFacilityDateOfDeparture, PortFacilityShipSecurityLevel, PortFacilitySecurityMattersToReport, " + + "PortFacilityGISISCode FROM {0}", this.Tablename); + + switch (filter) + { + case Message.LoadFilter.SEC_ID: + query += "WHERE SEC_Id = @SECID"; + ((SqlCommand)cmd).Parameters.AddWithValue("@SECID", criteria[0]); + break; + case Message.LoadFilter.ALL: + default: + + break; + } + + cmd.CommandText = query; + } + + public override List LoadList(System.Data.IDataReader reader) + { + List result = new List(); + + while (reader.Read()) + { + LastTenPortFacilitiesCalled ltpfc = new LastTenPortFacilitiesCalled(); + + ltpfc.id = reader.GetGuid(0); + if (!reader.IsDBNull(1)) ltpfc.PortFacilityPortName = reader.GetString(1); + if (!reader.IsDBNull(2)) ltpfc.PortFacilityPortCode = reader.GetString(2); + if (!reader.IsDBNull(3)) ltpfc.PortFacilityPortLoCode = reader.GetString(3); + if (!reader.IsDBNull(4)) ltpfc.PortFacilityDateOfArrival = reader.GetDateTime(4); + if (!reader.IsDBNull(5)) ltpfc.PortFacilityDateOfDeparture = reader.GetDateTime(5); + if (!reader.IsDBNull(6)) ltpfc.PortFacilityShipSecurityLevel = reader.GetByte(6); + if (!reader.IsDBNull(7)) ltpfc.PortFacilitySecurityMattersToReport = reader.GetString(7); + if (!reader.IsDBNull(8)) ltpfc.PortFacilityGISISCode = reader.GetString(8); + result.Add(ltpfc); + } + reader.Close(); + return result; + } + + #endregion + + } +} + diff --git a/nsw/Source/bsmd.database/Message.cs b/nsw/Source/bsmd.database/Message.cs index 65492815..cce40054 100644 --- a/nsw/Source/bsmd.database/Message.cs +++ b/nsw/Source/bsmd.database/Message.cs @@ -51,7 +51,8 @@ namespace bsmd.database POC30_ID, WAS_ID, WDSP_ID, - BPOL_ID + BPOL_ID, + SEC_ID } /// @@ -87,7 +88,7 @@ namespace bsmd.database this.tablename = "[dbo].[MessageHeader]"; } - #region Properties + #region Properties /// /// Dieser Wert wird vom NSW / HIS vergeben diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs index 2fb5c93c..b9c7b103 100644 --- a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs +++ b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs @@ -2,6 +2,6 @@ [assembly: AssemblyCompany("Informatikbüro Daniel Schick")] [assembly: AssemblyProduct("bsmd.database")] -[assembly: AssemblyInformationalVersion("1.0.0")] +[assembly: AssemblyInformationalVersion("1.0.1")] [assembly: AssemblyCopyright("Copyright © 2014-2015 Informatikbüro Daniel Schick. All rights reserved.")] [assembly: AssemblyTrademark("")] \ No newline at end of file diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs index dcb97ccc..c0768bed 100644 --- a/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs +++ b/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs @@ -4,5 +4,6 @@ // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.*")] -[assembly: AssemblyFileVersion("1.0.0.*")] +[assembly: AssemblyVersion("1.0.1.*")] +// wenn das nicht auskommentiert wird erhalten wir eine Warnung +// [assembly: AssemblyFileVersion("1.0.0.*")] diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProjectKeyInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProjectKeyInfo.cs index d446e9b0..cd26f977 100644 --- a/nsw/Source/bsmd.database/Properties/AssemblyProjectKeyInfo.cs +++ b/nsw/Source/bsmd.database/Properties/AssemblyProjectKeyInfo.cs @@ -26,6 +26,6 @@ using System.Runtime.CompilerServices; // (*) Delay Signing is an advanced option - see the Microsoft .NET Framework // documentation for more information on this. // -[assembly: AssemblyDelaySign(false)] -[assembly: AssemblyKeyFile("")] -[assembly: AssemblyKeyName("")] \ No newline at end of file +// [assembly: AssemblyDelaySign(false)] +// [assembly: AssemblyKeyFile("..\bsmdKey.snk")] +// [assembly: AssemblyKeyName("")] \ No newline at end of file diff --git a/nsw/Source/bsmd.database/SEC.cs b/nsw/Source/bsmd.database/SEC.cs new file mode 100644 index 00000000..d608fb1f --- /dev/null +++ b/nsw/Source/bsmd.database/SEC.cs @@ -0,0 +1,172 @@ +// +// Class: SEC +// Current CLR: 4.0.30319.34209 +// System: Microsoft Visual Studio 10.0 +// Author: dani +// Created: 4/3/2015 10:11:02 AM +// +// Copyright (c) 2015 Informatikbüro Daniel Schick. All rights reserved. + +using System; +using System.Data; +using System.Data.SqlClient; +using System.Collections.Generic; + +namespace bsmd.database +{ + public class SEC : DatabaseEntity, IMessageClass + { + + private List ltpfc = new List(); + + private List lsts = new List(); + + public SEC() + { + this.tablename = "[dbo].[SEC]"; + } + + #region Properties + + public Message MessageHeader { get; set; } + + public string SECSimplification { get; set; } + + public string PortOfCallWhereCompleteSECNotified { get; set; } + + public string CSOLastName { get; set; } + + public string CSOFirstName { get; set; } + + public string CSOPhone { get; set; } + + public string CSOEMail { get; set; } + + public bool? ValidISSCOnBoard { get; set; } + + public string ReasonsForNoValidISSC { get; set; } + + public byte? ISSCType { get; set; } + + public byte? ISSCIssuerType { get; set; } + + public string ISSCIssuerName { get; set; } + + public DateTime? ISSCDateOfExpiration { get; set; } + + public bool? ApprovedSecurityPlanOnBoard { get; set; } + + public byte? CurrentShipSecurityLevel { get; set; } + + public string PortFacilityOfArrival { get; set; } + + public byte? GeneralDescriptionOfCargo { get; set; } + + public List LastTenPortFacilitesCalled { get { return this.ltpfc; } } + + public List ShipToShipActivitiesDuringLastTenPortFacilitiesCalled { get { return this.lsts; } } + + #endregion + + #region DatabaseEntity implementation + + public override void PrepareSave(System.Data.IDbCommand cmd) + { + + SqlCommand scmd = cmd as SqlCommand; + + scmd.Parameters.AddWithValue("@P1", this.MessageHeader.Id); + scmd.Parameters.AddWithNullableValue("@P2", this.SECSimplification); + scmd.Parameters.AddWithNullableValue("@P3", this.PortOfCallWhereCompleteSECNotified); + scmd.Parameters.AddWithNullableValue("@P4", this.CSOLastName); + scmd.Parameters.AddWithNullableValue("@P5", this.CSOFirstName); + scmd.Parameters.AddWithNullableValue("@P6", this.CSOPhone); + scmd.Parameters.AddWithNullableValue("@P7", this.CSOEMail); + scmd.Parameters.AddWithNullableValue("@P8", this.ValidISSCOnBoard); + scmd.Parameters.AddWithNullableValue("@P9", this.ReasonsForNoValidISSC); + scmd.Parameters.AddWithNullableValue("@P10", this.ISSCType); + scmd.Parameters.AddWithNullableValue("@P11", this.ISSCIssuerType); + scmd.Parameters.AddWithNullableValue("@P12", this.ISSCIssuerName); + scmd.Parameters.AddWithNullableValue("@P13", this.ISSCDateOfExpiration); + scmd.Parameters.AddWithNullableValue("@P14", this.ApprovedSecurityPlanOnBoard); + scmd.Parameters.AddWithNullableValue("@P15", this.CurrentShipSecurityLevel); + scmd.Parameters.AddWithNullableValue("@P16", this.PortFacilityOfArrival); + scmd.Parameters.AddWithNullableValue("@P17", this.GeneralDescriptionOfCargo); + + if (this.IsNew) + { + scmd.CommandText = string.Format("INSERT INTO {0} (MessageHeaderId, SECSimplification, PortOfCallWhereCompleteSECNotified, " + + "CSOLastName, CSOFirstName, CSOPhone, CSOEMail, ValidISSCOnBoard, ReasonsForNoValidISSC, " + + "ISSCType, ISSCIssuerType, ISSCIssuerName,ISSCDateOfExpiration, ApprovedSecurityPlanOnBoard, " + + "CurrentShipSecurityLevel, PortFacilityOfArrival, GeneralDescriptionOfCargo) " + + "VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, @P17 )", this.Tablename); + } + else + { + scmd.Parameters.AddWithValue(@"ID", this.Id); + scmd.CommandText = string.Format("UPDATE {0} SET SECSimplification = @P2, PortOfCallWhereCompleteSECNotified = @P3, " + + "CSOLastName = @P4, CSOFirstName = @P5, CSOPhone = @P6," + + "CSOEMail = @P7, ValidISSCOnBoard = @8, ReasonsForNoValidISSC = @P9, " + + "ISSCType = @P10, ISSCIssuerType = @P11, ISSCIssuerName = @P12, ISSCDateOfExpiration = @P13, " + + "ApprovedSecurityPlanOnBoard = @P14, CurrentShipSecurityLevel = @P15, PortFacilityOfArrival = @P16, " + + "GeneralDescriptionOfCargo = @P17 WHERE Id = @ID", this.Tablename); + } + } + + public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria) + { + string query = string.Format("SELECT Id, SECSimplification, PortOfCallWhereCompleteSECNotified, CSOLastName, " + + "CSOFirstName, CSOPhone, CSOEMail, ValidISSCOnBoard, ReasonsForNoValidISSC, " + + "ISSCType, ISSCIssuerType, ISSCIssuerName, ISSCDateOfExpiration, ApprovedSecurityPlanOnBoard, " + + "CurrentShipSecurityLevel, PortFacilityOfArrival, GeneralDescriptionOfCargo FROM {0}", this.Tablename); + + switch (filter) + { + case Message.LoadFilter.MESSAGEHEADER: + query += "WHERE MessageHeaderId = @MHID"; + ((SqlCommand)cmd).Parameters.AddWithValue("@MHID", criteria[0]); + break; + case Message.LoadFilter.ALL: + default: + + break; + } + + cmd.CommandText = query; + } + + public override List LoadList(System.Data.IDataReader reader) + { + List result = new List(); + + while (reader.Read()) + { + SEC sec = new SEC(); + + sec.id = reader.GetGuid(0); + if (!reader.IsDBNull(1)) sec.SECSimplification = reader.GetString(1); + if (!reader.IsDBNull(2)) sec.PortOfCallWhereCompleteSECNotified = reader.GetString(2); + if (!reader.IsDBNull(3)) sec.CSOLastName = reader.GetString(3); + if (!reader.IsDBNull(4)) sec.CSOFirstName = reader.GetString(4); + if (!reader.IsDBNull(5)) sec.CSOPhone = reader.GetString(5); + if (!reader.IsDBNull(6)) sec.CSOEMail = reader.GetString(6); + if (!reader.IsDBNull(7)) sec.ValidISSCOnBoard = reader.GetBoolean(7); + if (!reader.IsDBNull(8)) sec.ReasonsForNoValidISSC = reader.GetString(8); + if (!reader.IsDBNull(9)) sec.ISSCType = reader.GetByte(9); + if (!reader.IsDBNull(9)) sec.ISSCIssuerType = reader.GetByte(9); + if (!reader.IsDBNull(9)) sec.ISSCIssuerName = reader.GetString(9); + if (!reader.IsDBNull(9)) sec.ISSCDateOfExpiration = reader.GetDateTime(9); + if (!reader.IsDBNull(9)) sec.ApprovedSecurityPlanOnBoard = reader.GetBoolean(9); + if (!reader.IsDBNull(9)) sec.CurrentShipSecurityLevel = reader.GetByte(9); + if (!reader.IsDBNull(9)) sec.PortFacilityOfArrival = reader.GetString(9); + if (!reader.IsDBNull(9)) sec.GeneralDescriptionOfCargo = reader.GetByte(9); + result.Add(sec); + } + reader.Close(); + return result; + } + + #endregion + + } +} diff --git a/nsw/Source/bsmd.database/ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs b/nsw/Source/bsmd.database/ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs new file mode 100644 index 00000000..a8b3a581 --- /dev/null +++ b/nsw/Source/bsmd.database/ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs @@ -0,0 +1,128 @@ +// +// Class: ShipToShipActivitiesDuringLastTenPortFacilitiesCalled +// Current CLR: 4.0.30319.34209 +// System: Microsoft Visual Studio 10.0 +// Author: dani +// Created: 4/3/2015 12:01:28 PM +// +// Copyright (c) 2015 Informatikbüro Daniel Schick. All rights reserved. + +using System; +using System.Data; +using System.Data.SqlClient; +using System.Collections.Generic; + +namespace bsmd.database +{ + public class ShipToShipActivitiesDuringLastTenPortFacilitiesCalled : DatabaseEntity + { + + public ShipToShipActivitiesDuringLastTenPortFacilitiesCalled() + { + this.tablename = "[dbo].[ShipToShipActivitiesDuringLastTenPortFacilitiesCalled]"; + } + + #region Properties + + public SEC SEC { get; set; } + + public string ShipToShipActivityLocationName { get; set; } + + public string ShipToShipActivityLocationLoCode { get; set; } + + public int? ShipToShipActivityLocationCoordinatesLatitude { get; set; } + + public int? ShipToShipActivityLocationCoordinatesLongitude { get; set; } + + public DateTime? ShipToShipActivityDateFrom { get; set; } + + public DateTime? ShipToShipActivityDateTo { get; set; } + + public string ShipToShipActivityType { get; set; } + + public string ShipToShipActivitySecurityMattersToReport { get; set; } + + #endregion + + #region DatabaseEntity implementation + + public override void PrepareSave(System.Data.IDbCommand cmd) + { + + SqlCommand scmd = cmd as SqlCommand; + + scmd.Parameters.AddWithValue("@P1", this.SEC.Id); + scmd.Parameters.AddWithNullableValue("@P2", this.ShipToShipActivityLocationName); + scmd.Parameters.AddWithNullableValue("@P3", this.ShipToShipActivityLocationLoCode); + scmd.Parameters.AddWithNullableValue("@P4", this.ShipToShipActivityLocationCoordinatesLatitude); + scmd.Parameters.AddWithNullableValue("@P5", this.ShipToShipActivityLocationCoordinatesLongitude); + scmd.Parameters.AddWithNullableValue("@P6", this.ShipToShipActivityDateFrom); + scmd.Parameters.AddWithNullableValue("@P7", this.ShipToShipActivityDateTo); + scmd.Parameters.AddWithNullableValue("@P8", this.ShipToShipActivityType); + scmd.Parameters.AddWithNullableValue("@P9", this.ShipToShipActivitySecurityMattersToReport); + + if (this.IsNew) + { + scmd.CommandText = string.Format("INSERT INTO {0} (SEC_Id, ShipToShipActivityLocationName, ShipToShipActivityLocationLoCode, " + + "ShipToShipActivityLocationCoordinatesLatitude, ShipToShipActivityLocationCoordinatesLongitude, ShipToShipActivityDateFrom, ShipToShipActivityDateTo, " + + "ShipToShipActivityType, ShipToShipActivitySecurityMattersToReport) VALUES ( @P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9)", + this.Tablename); + } + else + { + scmd.Parameters.AddWithValue(@"ID", this.Id); + scmd.CommandText = string.Format("UPDATE {0} SET ShipToShipActivityLocationName = @P2, ShipToShipActivityLocationLoCode = @P3, " + + "ShipToShipActivityLocationCoordinatesLatitude = @P4, ShipToShipActivityLocationCoordinatesLongitude = @P5, ShipToShipActivityDateFrom = @P6," + + "ShipToShipActivityDateTo = @P7, ShipToShipActivityType = @8, ShipToShipActivitySecurityMattersToReport = @P9 " + + " WHERE Id = @ID", this.Tablename); + } + } + + public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria) + { + string query = string.Format("SELECT Id, ShipToShipActivityLocationName, ShipToShipActivityLocationLoCode, ShipToShipActivityLocationCoordinatesLatitude, " + + "ShipToShipActivityLocationCoordinatesLongitude, ShipToShipActivityDateFrom, ShipToShipActivityDateTo, ShipToShipActivityType, " + + "ShipToShipActivitySecurityMattersToReport FROM {0}", this.Tablename); + + switch (filter) + { + case Message.LoadFilter.SEC_ID: + query += "WHERE SEC_Id = @SECID"; + ((SqlCommand)cmd).Parameters.AddWithValue("@SECID", criteria[0]); + break; + case Message.LoadFilter.ALL: + default: + + break; + } + + cmd.CommandText = query; + } + + public override List LoadList(System.Data.IDataReader reader) + { + List result = new List(); + + while (reader.Read()) + { + ShipToShipActivitiesDuringLastTenPortFacilitiesCalled sts = new ShipToShipActivitiesDuringLastTenPortFacilitiesCalled(); + + sts.id = reader.GetGuid(0); + if (!reader.IsDBNull(1)) sts.ShipToShipActivityLocationName = reader.GetString(1); + if (!reader.IsDBNull(2)) sts.ShipToShipActivityLocationLoCode = reader.GetString(2); + if (!reader.IsDBNull(3)) sts.ShipToShipActivityLocationCoordinatesLatitude = reader.GetInt32(3); + if (!reader.IsDBNull(4)) sts.ShipToShipActivityLocationCoordinatesLongitude = reader.GetInt32(4); + if (!reader.IsDBNull(5)) sts.ShipToShipActivityDateFrom = reader.GetDateTime(5); + if (!reader.IsDBNull(6)) sts.ShipToShipActivityDateTo = reader.GetDateTime(6); + if (!reader.IsDBNull(7)) sts.ShipToShipActivityType = reader.GetString(7); + if (!reader.IsDBNull(8)) sts.ShipToShipActivitySecurityMattersToReport = reader.GetString(8); + result.Add(sts); + } + reader.Close(); + return result; + } + + #endregion + + } +} \ No newline at end of file diff --git a/nsw/Source/bsmd.database/bsmd.database.csproj b/nsw/Source/bsmd.database/bsmd.database.csproj index bdb16dd4..9cdabfe6 100644 --- a/nsw/Source/bsmd.database/bsmd.database.csproj +++ b/nsw/Source/bsmd.database/bsmd.database.csproj @@ -29,6 +29,12 @@ prompt 4 + + true + + + ..\bsmdKey.snk + ..\packages\log4net.2.0.3\lib\net40-full\log4net.dll @@ -45,6 +51,7 @@ + @@ -75,7 +82,9 @@ + + @@ -88,6 +97,7 @@ + diff --git a/nsw/Source/bsmd.dbh/bsmd.dbh.csproj b/nsw/Source/bsmd.dbh/bsmd.dbh.csproj index d5726798..06c9c83d 100644 --- a/nsw/Source/bsmd.dbh/bsmd.dbh.csproj +++ b/nsw/Source/bsmd.dbh/bsmd.dbh.csproj @@ -29,6 +29,12 @@ prompt 4 + + true + + + ..\bsmdKey.snk + ..\packages\log4net.2.0.3\lib\net40-full\log4net.dll @@ -64,6 +70,7 @@ + diff --git a/nsw/Source/bsmdKey.snk b/nsw/Source/bsmdKey.snk new file mode 100644 index 0000000000000000000000000000000000000000..fd20ba2478f6be8546c5c627d54f8c29dcf08704 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50096^w~D#ZJcsCVr_mlR{gfkLlChM=o!wmj z_0L-E)hBSQO!7Jt^2!N~i>W4$uhp*Wb1j;`hk&bOKL`)w$Qww}9rO9B|3rVUTee(z zIbyJ1k%+Dr)CC3XYY7;!ifxRX01#k3)IF|f3^VZxq=j5&dw%SX_yDJI*lt2ig@DkeH8aMo%Vm}kdG%dt{jWR=@9d+Y6TkU^kCvqUCPuVRU{CCCh5vzI z(+TIR2?nDe6V}{wEYF1WuvC7DelFTx&DUMHyZ9Q3`EYW3T%-ZYXFCiMt1ug_7 z&-}+RvNuyUl+rWY$USV#^QjLKSa4pDHRXi)n!}3uxq+s_VS+qK!Kg&Fj@Cx#Q z@(8jx!>p(j|L!2KP)SZbUS4{YCezIKr8_ON1mM{?k-}?}i_!VssrhAPyh2#o|BVJ` zip6OpHWtCLqU{y5Ekp28#avr3vC9OH@OuV9s)KrXiU+`$=_9RozK2`;K~v8Ns}`aj z{APJB!8Ip^N6V{+4kXpSao{ldM6{51F_()VrTA7E53;cM6wnOCdH~F$m&^M*y$fh; zYm=X883N!s9!ihtBHCBq%#oCZlR$sJrfbofYP$5j`61XfOx!+m(0kAJ0Zbe#aul?i imspOFTZRS^gusS+bXmWEj+uzsUo$gRK=#>Kqs_M{J|x)y literal 0 HcmV?d00001