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; }
}