// // 這個檔案是 講師遴選 資料表的資料存取類別 檔案二 // 您可以修改這個檔案,加入您自訂的屬性與方法 // 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() { 講師遴選List result = new 講師遴選List(); IDataList list = result as IDataList; DbCommand cmdSelect = NewCommand(); cmdSelect.CommandText = _select + _from + _where; cmdSelect.CommandText += _order; Select(cmdSelect, ref list); return result; } /// /// InsertOne 之前會執行此方法 /// 在這裡可以做一些檢查或是自動編號等動作 /// 回傳 false 會打斷 InsertOne 的執行 /// protected virtual bool BeforeInsertOne(講師遴選 value) { value.合計_A = value.專業背景_A + value.講授經驗_A + value.口碑與評價_A + value.費用_A + value.配合度_A; value.合計_B = value.專業背景_B + value.講授經驗_B + value.口碑與評價_B + value.費用_B + value.配合度_B; value.合計_C = value.專業背景_C + value.講授經驗_C + value.口碑與評價_C + value.費用_C + value.配合度_C; 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) { value.合計_A = value.專業背景_A + value.講授經驗_A + value.口碑與評價_A + value.費用_A + value.配合度_A; value.合計_B = value.專業背景_B + value.講授經驗_B + value.口碑與評價_B + value.費用_B + value.配合度_B; value.合計_C = value.專業背景_C + value.講授經驗_C + value.口碑與評價_C + value.費用_C + value.配合度_C; 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 DB_APPNO) { return true; } /// /// DeleteOne 之後會執行此方法 /// protected virtual void AfterDeleteOne(int 課程企劃編號, int 課程序號, int DB_APPNO) { } /// /// DeleteOne 發生錯誤時會執行此方法 /// protected virtual void OnDeleteOneError(Exception error, out bool handled) { handled = false; } // 有另外加上去的屬性及方法,請加在這裡 public void UpdateTeacher(int 課程企劃編號, int 課程序號, string 講師別, int 講師編號, string 學歷, string 現職, string 師資來源, int 專業背景, int 講授經驗, int 口碑與評價, int 費用, int 配合度) { if (SelectOne(課程企劃編號, 課程序號).Count == 0) { 講師遴選 newValue = new 講師遴選(); newValue.課程企劃編號 = 課程企劃編號; newValue.課程序號 = 課程序號; newValue.DB_CRDAT = DateTime.UtcNow.AddHours(8); newValue.DB_CRUSR = CurrentUserId; InsertOne(newValue); } DbCommand cmdUpdate = NewCommand(); cmdUpdate.CommandText = String.Format( "UPDATE " + _tableName + " SET 講師編號_{0} = @講師編號 , " + " 學歷_{0} = @學歷 , " + " 現職_{0} = @現職 , " + " 師資來源_{0} = @師資來源 , " + " 專業背景_{0} = @專業背景 , " + " 講授經驗_{0} = @講授經驗 , " + " 口碑與評價_{0} = @口碑與評價 , " + " 費用_{0} = @費用 , " + " 配合度_{0} = @配合度 , " + " 合計_{0} = @合計 , " + " DB_APPNO = DB_APPNO + 1 , " + " DB_TRDAT = GetDate() , " + " DB_TRUSR = @DB_TRUSR " + " WHERE 課程企劃編號 = @課程企劃編號" + " AND 課程序號 = @課程序號", 講師別); AddParam(cmdUpdate, "講師編號", 講師編號); AddParam(cmdUpdate, "學歷", 學歷); AddParam(cmdUpdate, "現職", 現職); AddParam(cmdUpdate, "師資來源", 師資來源); AddParam(cmdUpdate, "專業背景", 專業背景); AddParam(cmdUpdate, "講授經驗", 講授經驗); AddParam(cmdUpdate, "口碑與評價", 口碑與評價); AddParam(cmdUpdate, "費用", 費用); AddParam(cmdUpdate, "配合度", 配合度); AddParam(cmdUpdate, "合計", 專業背景 + 講授經驗 + 口碑與評價 + 費用 + 配合度); AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId); AddParam(cmdUpdate, "課程企劃編號", 課程企劃編號); AddParam(cmdUpdate, "課程序號", 課程序號); ExecuteNonQuery(cmdUpdate); } public void UpdateComment(int 課程企劃編號, int 課程序號, string 總評, string 備註) { if (SelectOne(課程企劃編號, 課程序號).Count == 0) { 講師遴選 newValue = new 講師遴選(); newValue.課程企劃編號 = 課程企劃編號; newValue.課程序號 = 課程序號; newValue.DB_CRDAT = DateTime.UtcNow.AddHours(8); newValue.DB_CRUSR = CurrentUserId; InsertOne(newValue); } DbCommand cmdUpdate = NewCommand(); cmdUpdate.CommandText = "UPDATE " + _tableName + " SET 總評 = @總評 , " + " 備註 = @備註 , " + " DB_APPNO = DB_APPNO + 1 , " + " DB_TRDAT = GetDate() , " + " DB_TRUSR = @DB_TRUSR " + " WHERE 課程企劃編號 = @課程企劃編號" + " AND 課程序號 = @課程序號"; AddParam(cmdUpdate, "總評", 總評); AddParam(cmdUpdate, "備註", 備註); AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId); AddParam(cmdUpdate, "課程企劃編號", 課程企劃編號); AddParam(cmdUpdate, "課程序號", 課程序號); ExecuteNonQuery(cmdUpdate); } public void ClearTeacher(int 課程企劃編號, int 課程序號, string 講師別) { if (SelectOne(課程企劃編號, 課程序號).Count == 0) return; DbCommand cmdUpdate = NewCommand(); cmdUpdate.CommandText = "UPDATE " + _tableName + " SET 講師編號_" + 講師別 + " = null, " + " 師資來源_" + 講師別 + " = null, " + " 專業背景_" + 講師別 + " = null, " + " 講授經驗_" + 講師別 + " = null, " + " 口碑與評價_" + 講師別 + " = null, " + " 費用_" + 講師別 + " = null, " + " 配合度_" + 講師別 + " = null, " + " 合計_" + 講師別 + " = null, " + " DB_APPNO = DB_APPNO + 1 , " + " DB_TRDAT = GetDate() , " + " DB_TRUSR = @DB_TRUSR " + " WHERE 課程企劃編號 = @課程企劃編號" + " AND 課程序號 = @課程序號"; AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId); AddParam(cmdUpdate, "課程企劃編號", 課程企劃編號); AddParam(cmdUpdate, "課程序號", 課程序號); ExecuteNonQuery(cmdUpdate); } [DataObjectMethod(DataObjectMethodType.Delete)] public int DeleteBy課程企劃(int 課程企劃編號) { DbCommand cmdDelete = NewCommand(); cmdDelete.CommandText = @"delete from 講師遴選 where 1=1 and 課程企劃編號 = @課程企劃編號"; AddParam(cmdDelete, "課程企劃編號", 課程企劃編號); int rowsAffected = ExecuteNonQuery(cmdDelete); return rowsAffected; } public int Select選定講師(int 課程企劃編號, int 課程序號) { 講師遴選List d = SelectOne(課程企劃編號, 課程序號); if (d.Count == 0) return 0; switch (d[0].選定講師) { case 1: return d[0].講師編號_A; case 2: return d[0].講師編號_B; case 3: return d[0].講師編號_C; default: if (d[0].合計_A >= d[0].合計_B && d[0].合計_A >= d[0].合計_C) return d[0].講師編號_A; if (d[0].合計_B >= d[0].合計_A && d[0].合計_B >= d[0].合計_C) return d[0].講師編號_B; else return d[0].講師編號_C; } } public string Select選定講師名稱(int 課程企劃編號, int 課程序號) { 講師遴選List d = SelectOne(課程企劃編號, 課程序號); if (d.Count == 0) return ""; int 編號; string 姓名; switch (d[0].選定講師) { case 1: 編號 = d[0].講師編號_A; 姓名 = d[0].講師姓名_A; break; case 2: 編號 = d[0].講師編號_B; 姓名 = d[0].講師姓名_B; break; case 3: 編號 = d[0].講師編號_C; 姓名 = d[0].講師姓名_C; break; default: if (d[0].合計_A >= d[0].合計_B && d[0].合計_A >= d[0].合計_C) { 編號 = d[0].講師編號_A; 姓名 = d[0].講師姓名_A; } else if (d[0].合計_B >= d[0].合計_A && d[0].合計_B >= d[0].合計_C) { 編號 = d[0].講師編號_B; 姓名 = d[0].講師姓名_B; } else { 編號 = d[0].講師編號_C; 姓名 = d[0].講師姓名_C; } break; } if (編號 > 0) return new DAC_講師(conn).Get姓名(編號); return 姓名 ?? ""; } } /// /// 講師遴選 資料集合類別 /// public partial class 講師遴選List : List<講師遴選> { // 有另外加上去的屬性及方法,請加在這裡 } /// /// 講師遴選 資料紀錄類別 /// public partial class 講師遴選 { // 有另外加上去的屬性及方法,請加在這裡 } }