// // 這個檔案是 課程 資料表的資料存取類別 檔案二 // 您可以修改這個檔案,加入您自訂的屬性與方法 // 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 { /// /// 課程 資料存取類別 /// public partial class DAC_課程 : WebLib.DAC { /// /// 給查詢畫面用的 Select 方法 /// [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; } /// /// InsertOne 之前會執行此方法 /// 在這裡可以做一些檢查或是自動編號等動作 /// 回傳 false 會打斷 InsertOne 的執行 /// protected virtual bool BeforeInsertOne(課程 value) { value.課程編號 = Next課程編號(value.課程類別); return true; } /// /// InsertOne 之後會執行此方法 /// protected virtual void AfterInsertOne(課程 value) { } /// /// InsertOne 發生錯誤時會執行此方法 /// protected virtual void OnInsertOneError(Exception error, out bool handled) { handled = false; } /// /// UpdateOne 之前會執行此方法 /// 在這裡可以做一些檢查 /// 回傳 false 會打斷 UpdateOne 的執行 /// protected virtual bool BeforeUpdateOne(課程 value) { return true; } /// /// UpdateOne 之後會執行此方法 /// protected virtual void AfterUpdateOne(課程 value) { } /// /// UpdateOne 發生錯誤時會執行此方法 /// protected virtual void OnUpdateOneError(Exception error, out bool handled) { handled = false; } /// /// DeleteOne 之前會執行此方法 /// 在這裡可以做一些檢查 /// 回傳 false 會打斷 DeleteOne 的執行 /// protected virtual bool BeforeDeleteOne(課程 value) { return true; } /// /// DeleteOne 之後會執行此方法 /// protected virtual void AfterDeleteOne(課程 value) { } /// /// DeleteOne 之前會執行此方法 /// 在這裡可以做一些檢查 /// 回傳 false 會打斷 DeleteOne 的執行 /// protected virtual bool BeforeDeleteOne(string 課程編號, int DB_APPNO) { return true; } /// /// DeleteOne 之後會執行此方法 /// protected virtual void AfterDeleteOne(string 課程編號, int DB_APPNO) { } /// /// DeleteOne 發生錯誤時會執行此方法 /// 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; } } /// /// 課程 資料集合類別 /// public partial class 課程List : List<課程> { // 有另外加上去的屬性及方法,請加在這裡 } /// /// 課程 資料紀錄類別 /// public partial class 課程 { // 有另外加上去的屬性及方法,請加在這裡 } }