// // 這個檔案是 講師異動 資料表的資料存取類別 檔案二 // 您可以修改這個檔案,加入您自訂的屬性與方法 // 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 { #region 自動產生的資料存取方法 /// /// InsertOne 之前會執行此方法 /// 在這裡可以做一些檢查或是自動編號等動作 /// 回傳 false 會打斷 InsertOne 的執行 /// protected virtual bool BeforeInsertOne(講師異動 value) { value.異動日期 = DateTime.UtcNow.AddHours(8); value.異動次數 = Next異動次數(value.課程企劃編號, 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(int 課程企劃編號, int 課程序號, int 異動次數, int DB_APPNO) { return true; } /// /// DeleteOne 之後會執行此方法 /// protected virtual void AfterDeleteOne(int 課程企劃編號, int 課程序號, int 異動次數, int DB_APPNO) { } /// /// DeleteOne 發生錯誤時會執行此方法 /// ///錯誤是否已經處理妥當 protected virtual void OnDeleteOneError(Exception error, out bool handled) { handled = false; } #endregion // 有另外加上去的屬性及方法,請加在這裡 private int Next異動次數(int 課程企劃編號, int 課程序號) { DbCommand cmdSelect = NewCommand(); cmdSelect.CommandText = "select isnull(max(異動次數), 0) + 1 from " + _tableName + " where 課程企劃編號 = @課程企劃編號 " + " and 課程序號 = @課程序號 " ; AddParam(cmdSelect, "課程企劃編號", 課程企劃編號); AddParam(cmdSelect, "課程序號", 課程序號); int i; ExecuteScalar(cmdSelect, out i); return i; } [DataObjectMethod(DataObjectMethodType.Select)] public 講師異動List Select異動(int 課程企劃編號, int 課程序號) { 講師異動List result = new 講師異動List(); IDataList list = result as IDataList; DbCommand cmdSelect = NewCommand(); cmdSelect.CommandText = _select + _from + _where + " and 課程企劃編號 = @課程企劃編號 " + " and 課程序號 = @課程序號 " + " order by 異動次數 " ; AddParam(cmdSelect, "課程企劃編號", 課程企劃編號); AddParam(cmdSelect, "課程序號", 課程序號); Select(cmdSelect, ref list); return result; } public 講師異動List Select最後異動(int 課程企劃編號, int 課程序號) { 講師異動List result = new 講師異動List(); IDataList list = result as IDataList; DbCommand cmdSelect = NewCommand(); cmdSelect.CommandText = "select top 1 " + _insert + _from + _where + " and 課程企劃編號 = @課程企劃編號 " + " and 課程序號 = @課程序號 " + " order by 異動次數 desc " ; AddParam(cmdSelect, "課程企劃編號", 課程企劃編號); AddParam(cmdSelect, "課程序號", 課程序號); Select(cmdSelect, ref list); return result; } } /// /// 講師異動 資料集合類別 /// public partial class 講師異動List : List<講師異動> { // 有另外加上去的屬性及方法,請加在這裡 } /// /// 講師異動 資料紀錄類別 /// public partial class 講師異動 { // 有另外加上去的屬性及方法,請加在這裡 } }