using System; using System.Data; using System.Data.SqlClient; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace bsmd.database { public class MessageCore : DatabaseEntity { private Guid? previous; private Guid? next; private Guid? customerId; private int? wetris_zz_56_datensatz_id; public MessageCore() { this.tablename = "[dbo].[MessageCore]"; } #region Properties public string VisitId { get; set; } public string TransitId { get; set; } public string IMO { get; set; } public string ENI { get; set; } public string PoC { get; set; } public string Portname { get; set; } public DateTime? ETA { get; set; } public bool IsTransit { get; set; } public Message.BSMDStatus BSMDStatus { get; set; } public Message.NSWProvider InitialHIS { get; set; } public Guid? HerbergFormGuid { get; set; } public Guid? HerbergFormTemplateGuid { get; set; } #endregion public override void PrepareSave(IDbCommand cmd) { SqlCommand scmd = cmd as SqlCommand; if (this.VisitId != null) scmd.Parameters.AddWithValue("@P1", this.VisitId); else scmd.Parameters.AddWithValue("@P1", DBNull.Value); if (this.TransitId != null) scmd.Parameters.AddWithValue("@P2", this.TransitId); else scmd.Parameters.AddWithValue("@P2", DBNull.Value); if (this.IMO != null) scmd.Parameters.AddWithValue("@P3", this.IMO); else scmd.Parameters.AddWithValue("@P3", DBNull.Value); if (this.ENI != null) scmd.Parameters.AddWithValue("@P4", this.ENI); else scmd.Parameters.AddWithValue("@P4", DBNull.Value); if (this.PoC != null) scmd.Parameters.AddWithValue("@P5", this.PoC); else scmd.Parameters.AddWithValue("@P5", DBNull.Value); if (this.Portname != null) scmd.Parameters.AddWithValue("@P6", this.Portname); else scmd.Parameters.AddWithValue("@P6", DBNull.Value); if (this.ETA.HasValue) scmd.Parameters.AddWithValue("@P7", this.ETA); else scmd.Parameters.AddWithValue("@P7", DBNull.Value); if (this.customerId.HasValue) scmd.Parameters.AddWithValue("@P8", this.customerId); else scmd.Parameters.AddWithValue("@P8", DBNull.Value); if (this.previous.HasValue) scmd.Parameters.AddWithValue("@P9", this.previous); else scmd.Parameters.AddWithValue("@P9", DBNull.Value); if (this.next.HasValue) scmd.Parameters.AddWithValue("@P10", this.next); else scmd.Parameters.AddWithValue("@P10", DBNull.Value); scmd.Parameters.AddWithValue("@P11", this.IsTransit ? 1 : 0); if (this.wetris_zz_56_datensatz_id.HasValue) scmd.Parameters.AddWithValue("@P12", this.wetris_zz_56_datensatz_id); else scmd.Parameters.AddWithValue("@P12", DBNull.Value); scmd.Parameters.AddWithValue("@P13", this.BSMDStatus); scmd.Parameters.AddWithValue("@P14", this.InitialHIS); scmd.Parameters.AddWithNullableValue("@P15", this.HerbergFormGuid); scmd.Parameters.AddWithNullableValue("@P16", this.HerbergFormTemplateGuid); if (this.IsNew) { string query = string.Format("INSERT INTO {0} (VisitId, TransitId, IMO, ENI, PoC, Portname, ETA, CustomerId, " + "Previous, Next, IsTransit, Wetris_zz_56_datensatz_id, BSMDStatus, InitialHIS, HerbergFormGuid, " + "HerbergFormTemplateGuid) VALUES " + "(@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16)", this.Tablename); scmd.CommandText = query; } else { scmd.Parameters.AddWithValue("@ID", this.Id); string query = string.Format("UPDATE {0} SET VisitId = @P1, TransitId = @P2, IMO = @P3, ENI = @P4, Poc = @P5, " + "Portname = @P6, ETA = @P7, CustomerId = @P8, Previous = @P9, Next = @P10, IsTransit = @P11, " + "Wetris_zz_56_datensatz_id = @P12, BSMDStatus = @P13, InitialHIS = @P14, HerbergFormGuid = @P15, " + "HerbergFormTemplateGuid = @P16 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, VisitId, TransitId, IMO, ENI, PoC, Portname, " + "ETA, CustomerId, Previous, Next, IsTransit, Wetris_zz_56_datensatz_id, BSMDStatus, InitialHIS, " + "HerbergFormGuid, HerbergFormTemplateGuid FROM {0} ", this.Tablename); switch (filter) { case Message.LoadFilter.WETRIS_SHIP_ID: { query += "WHERE Wetris_zz_56_datensatz_id = @WETRIS"; ((SqlCommand)cmd).Parameters.AddWithValue("@WETRIS", criteria[0]); break; } case Message.LoadFilter.HERBERG_FORMGUID: { query += "WHERE HerbergFormGuid = @HFG"; ((SqlCommand)cmd).Parameters.AddWithValue("@HFG", criteria[0]); break; } case Message.LoadFilter.ALL: default: break; } cmd.CommandText = query; } public override List LoadList(IDataReader reader) { List result = new List(); while(reader.Read()) { MessageCore core = new MessageCore(); core.id = reader.GetGuid(0); if (!reader.IsDBNull(1)) core.VisitId = reader.GetString(1); if (!reader.IsDBNull(2)) core.TransitId = reader.GetString(2); if (!reader.IsDBNull(3)) core.IMO = reader.GetString(3); if (!reader.IsDBNull(4)) core.ENI = reader.GetString(4); if (!reader.IsDBNull(5)) core.PoC = reader.GetString(5); if (!reader.IsDBNull(6)) core.Portname = reader.GetString(6); if (!reader.IsDBNull(7)) core.ETA = reader.GetDateTime(7); if (!reader.IsDBNull(8)) core.customerId = reader.GetGuid(8); if (!reader.IsDBNull(9)) core.previous = reader.GetGuid(9); if (!reader.IsDBNull(10)) core.next = reader.GetGuid(10); core.IsTransit = reader.GetBoolean(11); if (!reader.IsDBNull(12)) core.wetris_zz_56_datensatz_id = reader.GetInt32(12); core.BSMDStatus = (Message.BSMDStatus) Enum.ToObject(typeof(Message.BSMDStatus), reader.GetByte(13)); core.InitialHIS = (Message.NSWProvider) Enum.ToObject(typeof(Message.NSWProvider), reader.GetByte(14)); if (!reader.IsDBNull(15)) core.HerbergFormGuid = reader.GetGuid(15); if (!reader.IsDBNull(16)) core.HerbergFormTemplateGuid = reader.GetGuid(16); result.Add(core); } reader.Close(); return result; } } }