Files
sryang 577060bc78 chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
2026-09-10 09:42:37 +08:00

129 lines
4.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using Wellan.Data;
using Wellan.Common;
using System.ComponentModel;
/// <summary>
/// 班表的資料處理類別
/// </summary>
[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<BtmeItem> SelectAll()
{
var cmd = Query.NewCommand();
cmd.CommandText = "SELECT * FROM BTME ORDER BY BTTID";
return Query.Select<BtmeItem>(cmd);
}
[DataObjectMethod(DataObjectMethodType.Select)]
public List<BtmeItem> SelectOne(string BTTID)
{
var cmd = Query.NewCommand();
cmd.CommandText = "SELECT * FROM BTME WHERE BTTID=@BTTID";
AddParam(cmd, "BTTID", BTTID);
return Query.Select<BtmeItem>(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);
}
/// <summary>
/// 取出班表選擇下拉選單的資料,包含預設班表
/// </summary>
/// <returns></returns>
public List<BtmeItem> 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<BtmeItem>(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; }
}