using System; using System.Collections.Generic; using System.Linq; using Wellan.Data; using Wellan.Common; using System.ComponentModel; /// /// 班表的資料處理類別 /// [DataObject] public class BtmeDAC : WDAC { public BtmeDAC() { } public BtmeDAC(string connectionConfig, string connectionConfigName) : this() { this._connectionConfig = connectionConfig; this._connectionConfigName = connectionConfigName; } public BtmeDAC(WQuery query) { this._query = query; } [DataObjectMethod(DataObjectMethodType.Select)] public List SelectAll() { var cmd = Query.NewCommand(); cmd.CommandText = "SELECT * FROM BTME ORDER BY BTTID"; return Query.Select(cmd); } [DataObjectMethod(DataObjectMethodType.Select)] public List SelectOne(string BTTID) { var cmd = Query.NewCommand(); cmd.CommandText = "SELECT * FROM BTME WHERE BTTID=@BTTID"; AddParam(cmd, "BTTID", BTTID); return Query.Select(cmd); } [DataObjectMethod(DataObjectMethodType.Insert)] public void InsertOne(BtmeItem value) { var cmd = Query.NewCommand(); cmd.CommandText = @"INSERT INTO dbo.BTME (BTTID, BTNME, BTSTM, BTETM, BTRST, BTRED, TRDAT, TRMOD, TRUSR) VALUES (@BTTID, @BTNME, @BTSTM, @BTETM, @BTRST, @BTRED, GETDATE(), 'INSERT', @TRUSR)"; AddParam(cmd, "BTTID", WGuard1.WNextRen(DateTime.UtcNow.AddHours(8).Date, "BTME", "BTTID", "<9999>", "") ); AddParam(cmd, "BTNME", value.BTNME); AddParam(cmd, "BTSTM", value.BTSTM); AddParam(cmd, "BTETM", value.BTETM); AddParam(cmd, "BTRST", value.BTRST); AddParam(cmd, "BTRED", value.BTRED); AddParam(cmd, "TRUSR", value.TRUSR); Query.ExecuteNonQuery(cmd); } [DataObjectMethod(DataObjectMethodType.Update)] public void UpdateOne(BtmeItem value) { var cmd = Query.NewCommand(); cmd.CommandText = @"UPDATE dbo.BTME SET BTNME = @BTNME, BTSTM = @BTSTM, BTETM = @BTETM, BTRST = @BTRST, BTRED = @BTRED, TRDAT = GETDATE(), TRMOD = 'MODIFY', TRUSR = @TRUSR WHERE BTTID = @OLD_BTTID"; AddParam(cmd, "BTNME", value.BTNME); AddParam(cmd, "BTSTM", value.BTSTM); AddParam(cmd, "BTETM", value.BTETM); AddParam(cmd, "BTRST", value.BTRST); AddParam(cmd, "BTRED", value.BTRED); AddParam(cmd, "TRUSR", value.TRUSR); AddParam(cmd, "OLD_BTTID", value.BTTID); Query.ExecuteNonQuery(cmd); } [DataObjectMethod(DataObjectMethodType.Delete)] public void DeleteOne(BtmeItem value) { var cmd = Query.NewCommand(); cmd.CommandText = @"DELETE FROM dbo.BTME WHERE BTTID = @OLD_BTTID"; AddParam(cmd, "OLD_BTTID", value.BTTID); Query.ExecuteNonQuery(cmd); } /// /// 取出班表選擇下拉選單的資料,包含預設班表 /// /// public List SelectForDropdown() { var cmd = Query.NewCommand(); cmd.CommandText = @"SELECT NULL BTTID, '預設班表 (08:00-17:00)' BTNME UNION ALL SELECT BTTID, CONCAT(BTNME, ' (', BTSTM, '-', BTETM, ')') BTNME FROM BTME WHERE BTSTM <> '' AND BTSTM IS NOT NULL ORDER BY BTTID"; return Query.Select(cmd); } } public class BtmeItem { public string BTTID { get; set; } public string BTNME { get; set; } public string BTSTM { get; set; } public string BTETM { get; set; } public string BTRST { get; set; } public string BTRED { get; set; } public DateTime TRDAT { get; set; } public string TRMOD { get; set; } public string TRUSR { get; set; } }