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

257 lines
8.3 KiB
C#

//
// 這個檔案是 付款設定 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using System.Linq;
using WebLib;
using System.Data.SqlClient;
namespace Education
{
///<summary>
/// 付款設定 資料存取類別
///</summary>
public partial class DAC_付款設定 : WebLib.DAC
{
#region 自動產生的資料存取方法
///<summary>
/// InsertOne 之前會執行此方法
/// 在這裡可以做一些檢查或是自動編號等動作
/// 回傳 false 會打斷 InsertOne 的執行
///</summary>
protected virtual bool BeforeInsertOne(付款設定Item value)
{
return true;
}
///<summary>
/// InsertOne 之後會執行此方法
///</summary>
protected virtual void AfterInsertOne(付款設定Item value)
{
}
///<summary>
/// InsertOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnInsertOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///</summary>
protected virtual bool BeforeUpdateOne(付款設定Item value)
{
return true;
}
///<summary>
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///</summary>
protected virtual bool BeforeUpdateOne(付款設定Item value, 付款設定Item original_value)
{
return true;
}
///<summary>
/// UpdateOne 之後會執行此方法
///</summary>
protected virtual void AfterUpdateOne(付款設定Item value)
{
}
///<summary>
/// UpdateOne 之後會執行此方法
///</summary>
protected virtual void AfterUpdateOne(付款設定Item value, 付款設定Item original_value)
{
}
///<summary>
/// UpdateOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnUpdateOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne(付款設定Item value)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(付款設定Item value)
{
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne(int 編號, int DB_APPNO)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(int 編號, int DB_APPNO)
{
}
///<summary>
/// DeleteOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
#endregion
// 有另外加上去的屬性及方法,請加在這裡
[DataObjectMethod(DataObjectMethodType.Select)]
public 付款設定List SelectPageBy講師_非講師編號(int startRowIndex, int maximumRows, string 講師_非講師編號)
{
付款設定List result = new 付款設定List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText =
String.Format("select top {0} * from (", maximumRows)
+ "select " + _allFields
+ ", row_number() over (order by 生效日期 desc) as rowid "
+ _from + _where;
if (!String.IsNullOrEmpty(講師_非講師編號))
{
cmdSelect.CommandText += " and 講師_非講師編號 = @講師_非講師編號 ";
AddParam(cmdSelect, "講師_非講師編號", 講師_非講師編號);
}
cmdSelect.CommandText += ") as TMP1 where rowid > @startRowIndex ";
AddParam(cmdSelect, "startRowIndex", startRowIndex);
Select(cmdSelect, ref list);
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public int SelectCountBy講師_非講師編號(string 講師_非講師編號)
{
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = "select count(1) " + _from + _where;
if (!String.IsNullOrEmpty(講師_非講師編號))
{
cmdSelect.CommandText += " and 講師_非講師編號 = @講師_非講師編號 ";
AddParam(cmdSelect, "講師_非講師編號", 講師_非講師編號);
}
int i;
ExecuteScalar(cmdSelect, out i);
return i;
}
/// <summary>
/// 依照 eventDate 選取生效的付款設定
/// </summary>
/// <param name="講師_非講師編號"></param>
/// <param name="eventDate"></param>
/// <returns></returns>
public 付款設定Item SelectRecentlyActivated(string 講師_非講師編號, DateTime? eventDate)
{
if (String.IsNullOrEmpty(講師_非講師編號) || !eventDate.HasValue)
{
return null;
}
var 編號 = 講師_非講師編號.StartsWith("P") || 講師_非講師編號.StartsWith("T")
? 講師_非講師編號
: string.Format("T{0:0000}", DAC.GetInt32(講師_非講師編號));
付款設定List result = new 付款設定List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = $"select top 1 * {_from} {_where} and 講師_非講師編號 = @講師_非講師編號 and 生效日期 <= @生效日期 order by 生效日期 desc";
AddParam(cmdSelect, "講師_非講師編號", 編號);
AddParam(cmdSelect, "生效日期", eventDate.Value);
Select(cmdSelect, ref list);
return result.FirstOrDefault();
}
}
///<summary>
///付款設定 資料集合類別
///</summary>
public partial class 付款設定List : List<付款設定Item>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
///付款設定 資料紀錄類別
///</summary>
public partial class 付款設定Item
{
// 有另外加上去的屬性及方法,請加在這裡
private DbConnection _conn = null;
private DAC_BPSN _dao_bpsn = null;
private DAC_BPSN dao_bpsn
{
get
{
if (_dao_bpsn == null)
{
if (_conn == null)
{
_conn = DAC.NewConnection();
_conn.Open();
}
_dao_bpsn = new DAC_BPSN(_conn);
}
return _dao_bpsn;
}
}
[DataObjectField(false)]
public string DB_CRUSR_NAME
{
get
{
return dao_bpsn.Get員工姓名(DB_CRUSR);
}
}
[DataObjectField(false)]
public string DB_TRUSR_NAME
{
get
{
return dao_bpsn.Get員工姓名(DB_TRUSR);
}
}
}
}