129 lines
4.0 KiB
C#
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; }
|
|
} |