// Copyright (c) 2023-present schick Informatik // Description: Shadow class to track predefined waste disposal providers using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; namespace bsmd.database { public class WasteDisposalServiceProvider_Template : DatabaseEntityAsync, IComparable { #region Construction public WasteDisposalServiceProvider_Template() { this.tablename = "[dbo].[WasteDisposalServiceProvider_Template]"; } #endregion #region Properties [MaxLength(99)] public string WasteDisposalServiceProviderName { get; set; } [MaxLength(255)] public string Remark { get; set; } #endregion #region DatabaseEntity implementation public override List LoadList(IDataReader reader) { List result = new List(); while (reader.Read()) { WasteDisposalServiceProvider_Template wdsp_t = new WasteDisposalServiceProvider_Template(); wdsp_t.id = reader.GetGuid(0); if (!reader.IsDBNull(1)) wdsp_t.WasteDisposalServiceProviderName = reader.GetString(1); if (!reader.IsDBNull(2)) wdsp_t.Remark = reader.GetString(2); result.Add(wdsp_t); } reader.Close(); return result; } public override void PrepareLoadCommand(IDbCommand cmd, Message.LoadFilter filter, params object[] criteria) { cmd.CommandText = string.Format("SELECT Id, WasteDisposalServiceProviderName, Remark FROM {0} ", this.Tablename); } public override void PrepareSave(IDbCommand cmd) { SqlCommand scmd = cmd as SqlCommand; if (!this.WasteDisposalServiceProviderName.IsNullOrEmpty()) scmd.Parameters.AddWithValue("@P1", this.WasteDisposalServiceProviderName); else scmd.Parameters.AddWithValue("@P1", DBNull.Value); if (!this.Remark.IsNullOrEmpty()) scmd.Parameters.AddWithValue("@P2", this.Remark); else scmd.Parameters.AddWithValue("@P2", DBNull.Value); if (this.IsNew) { this.CreateId(); scmd.Parameters.AddWithValue("@ID", this.Id); cmd.CommandText = string.Format("INSERT INTO {0} (Id, WasteDisposalServiceProviderName, Remark) VALUES (@ID, @P1, @P2)", this.Tablename); } else { cmd.CommandText = string.Format("UPDATE {0} SET WasteDisposalServiceProviderName = @P1, Remark = @P2 WHERE Id = @ID", this.Tablename); scmd.Parameters.AddWithValue("@ID", this.Id); } } protected override DatabaseEntityAsync ReadRowFromReader(IDataReader reader) { WasteDisposalServiceProvider_Template wdsp_t = null; if (reader != null) { wdsp_t = new WasteDisposalServiceProvider_Template(); wdsp_t.id = reader.GetGuid(0); if (!reader.IsDBNull(1)) wdsp_t.WasteDisposalServiceProviderName = reader.GetString(1); if (!reader.IsDBNull(2)) wdsp_t.Remark = reader.GetString(2); } return wdsp_t; } #endregion #region IComparable implementation public int CompareTo(object obj) { if (obj is WasteDisposalServiceProvider_Template template) return this.Remark?.CompareTo(template.Remark ?? "") ?? 0; return 0; } #endregion } }