236 lines
6.5 KiB
C#
236 lines
6.5 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
|
|
{
|
|
///<summary>
|
|
/// 給查詢畫面用的 Select 方法
|
|
///</summary>
|
|
[DataObjectMethod(DataObjectMethodType.Select)]
|
|
public 課程List Select(bool noInputReturnAll, string 課程編號, string 課程類別, string 課程名稱, string 訓練對象)
|
|
{
|
|
課程List result = new 課程List();
|
|
|
|
if (!noInputReturnAll
|
|
&& 課程編號 == null
|
|
&& 課程類別 == null
|
|
&& 課程名稱 == null
|
|
&& 訓練對象 == null)
|
|
return result;
|
|
|
|
IDataList list = result as IDataList;
|
|
DbCommand cmdSelect = NewCommand();
|
|
cmdSelect.CommandText = _select + _from + _where;
|
|
|
|
if (課程編號 != null && 課程編號.Length > 0)
|
|
{
|
|
cmdSelect.CommandText += " and 課程編號 like @課程編號 ";
|
|
AddParam(cmdSelect, "課程編號", 課程編號 + "%");
|
|
}
|
|
|
|
if (課程類別 != null && 課程類別.Length > 0)
|
|
{
|
|
cmdSelect.CommandText += " and 課程類別 like @課程類別 ";
|
|
AddParam(cmdSelect, "課程類別", 課程類別 + "%");
|
|
}
|
|
|
|
if (課程名稱 != null && 課程名稱.Length > 0)
|
|
{
|
|
cmdSelect.CommandText += " and 課程名稱 like @課程名稱 ";
|
|
AddParam(cmdSelect, "課程名稱", 課程名稱 + "%");
|
|
}
|
|
|
|
if (訓練對象 != null && 訓練對象.Length > 0)
|
|
{
|
|
cmdSelect.CommandText += " and 訓練對象 like @訓練對象 ";
|
|
AddParam(cmdSelect, "訓練對象", 訓練對象 + "%");
|
|
}
|
|
|
|
cmdSelect.CommandText += _order;
|
|
Select(cmdSelect, ref list);
|
|
return result;
|
|
}
|
|
|
|
[DataObjectMethod(DataObjectMethodType.Select)]
|
|
public 課程List Select(string 課程類別, string 課程名稱, string 課程類型)
|
|
{
|
|
課程List result = new 課程List();
|
|
|
|
if ((課程類別 == null || 課程類別.Length == 0) &&
|
|
(課程名稱 == null || 課程名稱.Length == 0) &&
|
|
(課程類型 == null || 課程類型.Length == 0))
|
|
return result;
|
|
|
|
IDataList list = result as IDataList;
|
|
DbCommand cmdSelect = NewCommand();
|
|
cmdSelect.CommandText = _select + _from + _where;
|
|
|
|
if (課程類別 != null && 課程類別.Length > 0)
|
|
{
|
|
cmdSelect.CommandText += " and 課程類別 = @課程類別 ";
|
|
AddParam(cmdSelect, "課程類別", 課程類別);
|
|
}
|
|
else
|
|
{
|
|
return result;
|
|
}
|
|
|
|
if (課程名稱 != null && 課程名稱.Length > 0)
|
|
{
|
|
cmdSelect.CommandText += " and 課程名稱 like @課程名稱 ";
|
|
AddParam(cmdSelect, "課程名稱", "%" + 課程名稱 + "%");
|
|
}
|
|
|
|
if (課程類型 != null && 課程類型.Length > 0)
|
|
{
|
|
cmdSelect.CommandText += " and 課程類型 = @課程類型 ";
|
|
AddParam(cmdSelect, "課程類型", 課程類型);
|
|
}
|
|
|
|
cmdSelect.CommandText += _order;
|
|
Select(cmdSelect, ref list);
|
|
return result;
|
|
}
|
|
|
|
///<summary>
|
|
/// InsertOne 之前會執行此方法
|
|
/// 在這裡可以做一些檢查或是自動編號等動作
|
|
/// 回傳 false 會打斷 InsertOne 的執行
|
|
///</summary>
|
|
protected virtual bool BeforeInsertOne(課程 value)
|
|
{
|
|
value.課程編號 = Next課程編號(value.課程類別);
|
|
return true;
|
|
}
|
|
|
|
///<summary>
|
|
/// InsertOne 之後會執行此方法
|
|
///</summary>
|
|
protected virtual void AfterInsertOne(課程 value)
|
|
{
|
|
}
|
|
|
|
///<summary>
|
|
/// InsertOne 發生錯誤時會執行此方法
|
|
///</summary>
|
|
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>
|
|
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 DB_APPNO)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
///<summary>
|
|
/// DeleteOne 之後會執行此方法
|
|
///</summary>
|
|
protected virtual void AfterDeleteOne(string 課程編號, int DB_APPNO)
|
|
{
|
|
}
|
|
|
|
///<summary>
|
|
/// DeleteOne 發生錯誤時會執行此方法
|
|
///</summary>
|
|
protected virtual void OnDeleteOneError(Exception error, out bool handled)
|
|
{
|
|
handled = false;
|
|
}
|
|
|
|
// 有另外加上去的屬性及方法,請加在這裡
|
|
protected string Next課程編號(string 課程類別)
|
|
{
|
|
return Next單號(DateTime.UtcNow.AddHours(8).Date, _tableName, "課程編號", String.Format("\"{0}\"<999>", 課程類別), "");
|
|
}
|
|
|
|
public bool IsOccipued(string 課程編號)
|
|
{
|
|
DbCommand cmd = NewCommand(
|
|
@"SELECT COUNT(1) FROM 訓練課程內容 WHERE 課程編號 = @課程編號");
|
|
AddParam(cmd, "課程編號", 課程編號);
|
|
int i;
|
|
ExecuteScalar(cmd, out i);
|
|
return i > 0;
|
|
}
|
|
}
|
|
|
|
///<summary>
|
|
/// 課程 資料集合類別
|
|
///</summary>
|
|
public partial class 課程List : List<課程>
|
|
{
|
|
// 有另外加上去的屬性及方法,請加在這裡
|
|
}
|
|
|
|
///<summary>
|
|
/// 課程 資料紀錄類別
|
|
///</summary>
|
|
public partial class 課程
|
|
{
|
|
// 有另外加上去的屬性及方法,請加在這裡
|
|
}
|
|
}
|