207 lines
6.0 KiB
C#
207 lines
6.0 KiB
C#
//
|
|
// 這個檔案是 學員出席 資料表的資料存取類別 檔案二
|
|
// 您可以修改這個檔案,加入您自訂的屬性與方法
|
|
//
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Data.Common;
|
|
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(學員出席 value)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
///<summary>
|
|
/// InsertOne 之後會執行此方法
|
|
///</summary>
|
|
protected virtual void AfterInsertOne(學員出席 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(學員出席 value)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
///<summary>
|
|
/// UpdateOne 之後會執行此方法
|
|
///</summary>
|
|
protected virtual void AfterUpdateOne(學員出席 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(學員出席 value)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
///<summary>
|
|
/// DeleteOne 之後會執行此方法
|
|
///</summary>
|
|
protected virtual void AfterDeleteOne(學員出席 value)
|
|
{
|
|
}
|
|
|
|
///<summary>
|
|
/// DeleteOne 之前會執行此方法
|
|
/// 在這裡可以做一些檢查
|
|
/// 回傳 false 會打斷 DeleteOne 的執行
|
|
///</summary>
|
|
protected virtual bool BeforeDeleteOne(string 學員編號, int 訓練課程編號, DateTime 課程日期, int DB_APPNO)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
///<summary>
|
|
/// DeleteOne 之後會執行此方法
|
|
///</summary>
|
|
protected virtual void AfterDeleteOne(string 學員編號, int 訓練課程編號, DateTime 課程日期, 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 Select(string 學員編號, int 訓練課程編號)
|
|
{
|
|
學員出席List result = new 學員出席List();
|
|
IDataList list = result as IDataList;
|
|
DbCommand cmdSelect = NewCommand();
|
|
cmdSelect.CommandText = _select + _from + _where
|
|
+ " and 學員編號 = @學員編號 "
|
|
+ " and 訓練課程編號 = @訓練課程編號 "
|
|
;
|
|
AddParam(cmdSelect, "學員編號", 學員編號);
|
|
AddParam(cmdSelect, "訓練課程編號", 訓練課程編號);
|
|
Select(cmdSelect, ref list);
|
|
return result;
|
|
}
|
|
|
|
public void Update(學員出席 value)
|
|
{
|
|
學員出席List oldValue = SelectOne(value.學員編號, value.訓練課程編號, value.課程日期);
|
|
if (oldValue.Count == 0)
|
|
{
|
|
InsertOne(value);
|
|
}
|
|
else
|
|
{
|
|
oldValue[0].出席狀況 = value.出席狀況;
|
|
oldValue[0].請假事由 = value.請假事由;
|
|
UpdateOne(oldValue[0]);
|
|
}
|
|
}
|
|
|
|
public int Get出席人次(int 訓練課程編號)
|
|
{
|
|
DbCommand cmdSelect = NewCommand();
|
|
cmdSelect.CommandText =
|
|
@"select count(1) from 學員出席
|
|
where 訓練課程編號 = @訓練課程編號
|
|
and 出席狀況='Y'";
|
|
AddParam(cmdSelect, "訓練課程編號", 訓練課程編號);
|
|
int i;
|
|
ExecuteScalar(cmdSelect, out i);
|
|
return i;
|
|
}
|
|
|
|
public int Get參與人數(int 訓練課程編號)
|
|
{
|
|
DbCommand cmdSelect = NewCommand();
|
|
cmdSelect.CommandText =
|
|
@"select distinct count(學員編號) from 學員出席
|
|
where 訓練課程編號 = @訓練課程編號
|
|
and 出席狀況='Y'";
|
|
AddParam(cmdSelect, "訓練課程編號", 訓練課程編號);
|
|
int i;
|
|
ExecuteScalar(cmdSelect, out i);
|
|
return i;
|
|
}
|
|
|
|
[DataObjectMethod(DataObjectMethodType.Select)]
|
|
public DataTable Select出席狀況(string 學員編號, int 訓練課程編號)
|
|
{
|
|
DbCommand cmdSelect = NewCommand();
|
|
cmdSelect.CommandText = "select 課程日期, 出席狀況, 請假事由 " + _from + _where
|
|
+ " and 學員編號 = @學員編號 "
|
|
+ " and 訓練課程編號 = @訓練課程編號 "
|
|
+ " order by 課程日期 ";
|
|
AddParam(cmdSelect, "學員編號", 學員編號);
|
|
AddParam(cmdSelect, "訓練課程編號", 訓練課程編號);
|
|
return Select(cmdSelect);
|
|
}
|
|
}
|
|
|
|
///<summary>
|
|
/// 學員出席 資料集合類別
|
|
///</summary>
|
|
public partial class 學員出席List : List<學員出席>
|
|
{
|
|
// 有另外加上去的屬性及方法,請加在這裡
|
|
}
|
|
|
|
///<summary>
|
|
/// 學員出席 資料紀錄類別
|
|
///</summary>
|
|
public partial class 學員出席
|
|
{
|
|
// 有另外加上去的屬性及方法,請加在這裡
|
|
}
|
|
}
|