// // 這個檔案是 教材遴選 資料表的資料存取類別 檔案一 // 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉 // using System; using System.Collections.Generic; using System.Text; using System.ComponentModel; using System.Data; using System.Data.Common; using System.Linq; using System.Transactions; using WebLib; using System.Data.SqlClient; namespace Education { /// /// 教材遴選 資料存取類別 /// [DataObject] public partial class DAC_教材遴選 : WebLib.DAC { private const string _tableName = "[教材遴選]"; private const string _allFields = "[課程企劃編號], [課程序號], [教材名稱_A], [符合訓練目標_A], [架構規劃完整性_A], [符合課程時數_A], [引起學習興趣_A], [未來工作參考運用_A], [合計_A], [教材評選綜合評估_A], [教材名稱_B], [符合訓練目標_B], [架構規劃完整性_B], [符合課程時數_B], [引起學習興趣_B], [未來工作參考運用_B], [合計_B], [教材評選綜合評估_B], [教材名稱_C], [符合訓練目標_C], [架構規劃完整性_C], [符合課程時數_C], [引起學習興趣_C], [未來工作參考運用_C], [合計_C], [教材評選綜合評估_C], [訓練單位回饋與建議], [總評], [備註], [選定教材], [DB_APPNO], [DB_CRDAT], [DB_CRUSR], [DB_TRDAT], [DB_TRUSR]"; private string _orderBy = "[課程企劃編號], [課程序號]"; private string _select = "select " + _allFields; private string _insert = "[課程企劃編號], [課程序號], [教材名稱_A], [符合訓練目標_A], [架構規劃完整性_A], [符合課程時數_A], [引起學習興趣_A], [未來工作參考運用_A], [合計_A], [教材評選綜合評估_A], [教材名稱_B], [符合訓練目標_B], [架構規劃完整性_B], [符合課程時數_B], [引起學習興趣_B], [未來工作參考運用_B], [合計_B], [教材評選綜合評估_B], [教材名稱_C], [符合訓練目標_C], [架構規劃完整性_C], [符合課程時數_C], [引起學習興趣_C], [未來工作參考運用_C], [合計_C], [教材評選綜合評估_C], [訓練單位回饋與建議], [總評], [備註], [選定教材], [DB_APPNO], [DB_CRDAT], [DB_CRUSR], [DB_TRDAT], [DB_TRUSR]"; private string _insertBak = "[課程企劃編號], [課程序號], [教材名稱_A], [符合訓練目標_A], [架構規劃完整性_A], [符合課程時數_A], [引起學習興趣_A], [未來工作參考運用_A], [合計_A], [教材評選綜合評估_A], [教材名稱_B], [符合訓練目標_B], [架構規劃完整性_B], [符合課程時數_B], [引起學習興趣_B], [未來工作參考運用_B], [合計_B], [教材評選綜合評估_B], [教材名稱_C], [符合訓練目標_C], [架構規劃完整性_C], [符合課程時數_C], [引起學習興趣_C], [未來工作參考運用_C], [合計_C], [教材評選綜合評估_C], [訓練單位回饋與建議], [總評], [備註], [選定教材], [DB_APPNO], [DB_CRDAT], [DB_CRUSR], [DB_TRDAT], [DB_TRUSR], [DB_TRMOD]"; private string _insertValue = "@課程企劃編號, @課程序號, @教材名稱_A, @符合訓練目標_A, @架構規劃完整性_A, @符合課程時數_A, @引起學習興趣_A, @未來工作參考運用_A, @合計_A, @教材評選綜合評估_A, @教材名稱_B, @符合訓練目標_B, @架構規劃完整性_B, @符合課程時數_B, @引起學習興趣_B, @未來工作參考運用_B, @合計_B, @教材評選綜合評估_B, @教材名稱_C, @符合訓練目標_C, @架構規劃完整性_C, @符合課程時數_C, @引起學習興趣_C, @未來工作參考運用_C, @合計_C, @教材評選綜合評估_C, @訓練單位回饋與建議, @總評, @備註, @選定教材, @DB_APPNO, @DB_CRDAT, @DB_CRUSR, @DB_TRDAT, @DB_TRUSR"; private string _insertBakValue = "@課程企劃編號, @課程序號, @教材名稱_A, @符合訓練目標_A, @架構規劃完整性_A, @符合課程時數_A, @引起學習興趣_A, @未來工作參考運用_A, @合計_A, @教材評選綜合評估_A, @教材名稱_B, @符合訓練目標_B, @架構規劃完整性_B, @符合課程時數_B, @引起學習興趣_B, @未來工作參考運用_B, @合計_B, @教材評選綜合評估_B, @教材名稱_C, @符合訓練目標_C, @架構規劃完整性_C, @符合課程時數_C, @引起學習興趣_C, @未來工作參考運用_C, @合計_C, @教材評選綜合評估_C, @訓練單位回饋與建議, @總評, @備註, @選定教材, @DB_APPNO, @DB_CRDAT, @DB_CRUSR, @DB_TRDAT, @DB_TRUSR, @DB_TRMOD"; private string _from = " from " + _tableName + " "; private string _where = " where 1=1 "; private string _order = " order by [課程企劃編號], [課程序號] "; public DAC_教材遴選() : base() { } public DAC_教材遴選(DbConnection conn) : base(conn) { } [DataObjectMethod(DataObjectMethodType.Select)] public 教材遴選List SelectAll(string orderBy = "") { 教材遴選List result = new 教材遴選List(); IDataList list = result as IDataList; DbCommand cmdSelect = NewCommand(); cmdSelect.CommandText = _select + _from + _where + (orderBy == null || orderBy.Length == 0 ? _order : " order by " + orderBy); Select(cmdSelect, ref list); return result; } public int SelectAllCount() { DbCommand cmdSelect = NewCommand(); cmdSelect.CommandText = "select count(1) " + _from; int i; ExecuteScalar(cmdSelect, out i); return i; } [DataObjectMethod(DataObjectMethodType.Select)] public 教材遴選List SelectAllPage(int startRowIndex, int maximumRows, string orderBy = "") { 教材遴選List result = new 教材遴選List(); IDataList list = result as IDataList; DbCommand cmdSelect = NewCommand(); cmdSelect.CommandText = String.Format("select top {0} * from (", maximumRows) + "select " + _allFields + ", row_number() over (order by " + (orderBy == null || orderBy.Length == 0 ? _orderBy : orderBy) + ") as rowid " + _from + _where + ") as TMP1 where rowid > @startRowIndex "; AddParam(cmdSelect, "startRowIndex", startRowIndex); Select(cmdSelect, ref list); return result; } [DataObjectMethod(DataObjectMethodType.Select)] public 教材遴選List SelectOne(int 課程企劃編號, 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; } [DataObjectMethod(DataObjectMethodType.Insert)] public 教材遴選Item InsertOne(教材遴選Item value) { using (TransactionScope ts = DAC.NewTransactionScope()) { try { if (!BeforeInsertOne(value)) return value; DbCommand cmdInsert = NewCommand(); cmdInsert.CommandText = "insert into [教材遴選]" + " (" + _insert + ")" + "values " + " (" + _insertValue + ");" ; AddParam(cmdInsert, "課程企劃編號", value.課程企劃編號); AddParam(cmdInsert, "課程序號", value.課程序號); AddParam(cmdInsert, "教材名稱_A", value.教材名稱_A); AddParam(cmdInsert, "符合訓練目標_A", value.符合訓練目標_A); AddParam(cmdInsert, "架構規劃完整性_A", value.架構規劃完整性_A); AddParam(cmdInsert, "符合課程時數_A", value.符合課程時數_A); AddParam(cmdInsert, "引起學習興趣_A", value.引起學習興趣_A); AddParam(cmdInsert, "未來工作參考運用_A", value.未來工作參考運用_A); AddParam(cmdInsert, "合計_A", value.合計_A); AddParam(cmdInsert, "教材評選綜合評估_A", value.教材評選綜合評估_A); AddParam(cmdInsert, "教材名稱_B", value.教材名稱_B); AddParam(cmdInsert, "符合訓練目標_B", value.符合訓練目標_B); AddParam(cmdInsert, "架構規劃完整性_B", value.架構規劃完整性_B); AddParam(cmdInsert, "符合課程時數_B", value.符合課程時數_B); AddParam(cmdInsert, "引起學習興趣_B", value.引起學習興趣_B); AddParam(cmdInsert, "未來工作參考運用_B", value.未來工作參考運用_B); AddParam(cmdInsert, "合計_B", value.合計_B); AddParam(cmdInsert, "教材評選綜合評估_B", value.教材評選綜合評估_B); AddParam(cmdInsert, "教材名稱_C", value.教材名稱_C); AddParam(cmdInsert, "符合訓練目標_C", value.符合訓練目標_C); AddParam(cmdInsert, "架構規劃完整性_C", value.架構規劃完整性_C); AddParam(cmdInsert, "符合課程時數_C", value.符合課程時數_C); AddParam(cmdInsert, "引起學習興趣_C", value.引起學習興趣_C); AddParam(cmdInsert, "未來工作參考運用_C", value.未來工作參考運用_C); AddParam(cmdInsert, "合計_C", value.合計_C); AddParam(cmdInsert, "教材評選綜合評估_C", value.教材評選綜合評估_C); AddParam(cmdInsert, "訓練單位回饋與建議", value.訓練單位回饋與建議); AddParam(cmdInsert, "總評", value.總評); AddParam(cmdInsert, "備註", value.備註); AddParam(cmdInsert, "選定教材", value.選定教材); AddParam(cmdInsert, "DB_APPNO", 1); AddParam(cmdInsert, "DB_CRDAT", DateTime.Now); AddParam(cmdInsert, "DB_CRUSR", CurrentUserId); AddParam(cmdInsert, "DB_TRDAT", DBNull.Value); AddParam(cmdInsert, "DB_TRUSR", DBNull.Value); ExecuteNonQuery(cmdInsert); AfterInsertOne(value); ts.Complete(); } catch (Exception error) { bool handled; OnInsertOneError(error, out handled); if(!handled) throw error; } return value; } } [DataObjectMethod(DataObjectMethodType.Update)] public 教材遴選Item UpdateOne(教材遴選Item value) { using (TransactionScope ts = DAC.NewTransactionScope()) { try { if (!BeforeUpdateOne(value)) return value; 教材遴選List oldValues = SelectOne(value.課程企劃編號, value.課程序號); if (oldValues.Count == 0 || oldValues[0].DB_APPNO != value.DB_APPNO) { throw new DBConcurrencyException("在更新 \"教材遴選\" 資料表時發生並行例外:找不到要更新的資料列"); } else { DoBackup(oldValues[0], "UPDATE"); } DbCommand cmdUpdate = NewCommand(); cmdUpdate.CommandText = @"update [教材遴選] set [教材名稱_A] = @教材名稱_A , [符合訓練目標_A] = @符合訓練目標_A , [架構規劃完整性_A] = @架構規劃完整性_A , [符合課程時數_A] = @符合課程時數_A , [引起學習興趣_A] = @引起學習興趣_A , [未來工作參考運用_A] = @未來工作參考運用_A , [合計_A] = @合計_A , [教材評選綜合評估_A] = @教材評選綜合評估_A , [教材名稱_B] = @教材名稱_B , [符合訓練目標_B] = @符合訓練目標_B , [架構規劃完整性_B] = @架構規劃完整性_B , [符合課程時數_B] = @符合課程時數_B , [引起學習興趣_B] = @引起學習興趣_B , [未來工作參考運用_B] = @未來工作參考運用_B , [合計_B] = @合計_B , [教材評選綜合評估_B] = @教材評選綜合評估_B , [教材名稱_C] = @教材名稱_C , [符合訓練目標_C] = @符合訓練目標_C , [架構規劃完整性_C] = @架構規劃完整性_C , [符合課程時數_C] = @符合課程時數_C , [引起學習興趣_C] = @引起學習興趣_C , [未來工作參考運用_C] = @未來工作參考運用_C , [合計_C] = @合計_C , [教材評選綜合評估_C] = @教材評選綜合評估_C , [訓練單位回饋與建議] = @訓練單位回饋與建議 , [總評] = @總評 , [備註] = @備註 , [選定教材] = @選定教材 , DB_APPNO = DB_APPNO + 1, DB_TRDAT = @DB_TRDAT, DB_TRUSR = @DB_TRUSR where 1=1 and [課程企劃編號] = @original_課程企劃編號 and [課程序號] = @original_課程序號 and DB_APPNO = @original_DB_APPNO "; AddParam(cmdUpdate, "教材名稱_A", value.教材名稱_A); AddParam(cmdUpdate, "符合訓練目標_A", value.符合訓練目標_A); AddParam(cmdUpdate, "架構規劃完整性_A", value.架構規劃完整性_A); AddParam(cmdUpdate, "符合課程時數_A", value.符合課程時數_A); AddParam(cmdUpdate, "引起學習興趣_A", value.引起學習興趣_A); AddParam(cmdUpdate, "未來工作參考運用_A", value.未來工作參考運用_A); AddParam(cmdUpdate, "合計_A", value.合計_A); AddParam(cmdUpdate, "教材評選綜合評估_A", value.教材評選綜合評估_A); AddParam(cmdUpdate, "教材名稱_B", value.教材名稱_B); AddParam(cmdUpdate, "符合訓練目標_B", value.符合訓練目標_B); AddParam(cmdUpdate, "架構規劃完整性_B", value.架構規劃完整性_B); AddParam(cmdUpdate, "符合課程時數_B", value.符合課程時數_B); AddParam(cmdUpdate, "引起學習興趣_B", value.引起學習興趣_B); AddParam(cmdUpdate, "未來工作參考運用_B", value.未來工作參考運用_B); AddParam(cmdUpdate, "合計_B", value.合計_B); AddParam(cmdUpdate, "教材評選綜合評估_B", value.教材評選綜合評估_B); AddParam(cmdUpdate, "教材名稱_C", value.教材名稱_C); AddParam(cmdUpdate, "符合訓練目標_C", value.符合訓練目標_C); AddParam(cmdUpdate, "架構規劃完整性_C", value.架構規劃完整性_C); AddParam(cmdUpdate, "符合課程時數_C", value.符合課程時數_C); AddParam(cmdUpdate, "引起學習興趣_C", value.引起學習興趣_C); AddParam(cmdUpdate, "未來工作參考運用_C", value.未來工作參考運用_C); AddParam(cmdUpdate, "合計_C", value.合計_C); AddParam(cmdUpdate, "教材評選綜合評估_C", value.教材評選綜合評估_C); AddParam(cmdUpdate, "訓練單位回饋與建議", value.訓練單位回饋與建議); AddParam(cmdUpdate, "總評", value.總評); AddParam(cmdUpdate, "備註", value.備註); AddParam(cmdUpdate, "選定教材", value.選定教材); AddParam(cmdUpdate, "DB_TRDAT", DateTime.Now); AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId); AddParam(cmdUpdate, "original_課程企劃編號", value.課程企劃編號); AddParam(cmdUpdate, "original_課程序號", value.課程序號); AddParam(cmdUpdate, "original_DB_APPNO", value.DB_APPNO); ExecuteNonQuery(cmdUpdate); AfterUpdateOne(value); ts.Complete(); return value; } catch (Exception error) { bool handled; OnUpdateOneError(error, out handled); if(!handled) throw error; return value; } } } [DataObjectMethod(DataObjectMethodType.Update)] public 教材遴選Item UpdateOne(教材遴選Item value, 教材遴選Item original_value) { using (TransactionScope ts = DAC.NewTransactionScope()) { try { if (!BeforeUpdateOne(value, original_value)) return value; 教材遴選List oldValues = SelectOne(original_value.課程企劃編號, original_value.課程序號); if (oldValues.Count == 0 || oldValues[0].DB_APPNO != value.DB_APPNO) { throw new DBConcurrencyException("在更新 \"教材遴選\" 資料表時發生並行例外:找不到要更新的資料列"); } else { DoBackup(oldValues[0], "UPDATE"); } DbCommand cmdUpdate = NewCommand(); cmdUpdate.CommandText = @"update [教材遴選] set [課程企劃編號] = @課程企劃編號 , [課程序號] = @課程序號 , [教材名稱_A] = @教材名稱_A , [符合訓練目標_A] = @符合訓練目標_A , [架構規劃完整性_A] = @架構規劃完整性_A , [符合課程時數_A] = @符合課程時數_A , [引起學習興趣_A] = @引起學習興趣_A , [未來工作參考運用_A] = @未來工作參考運用_A , [合計_A] = @合計_A , [教材評選綜合評估_A] = @教材評選綜合評估_A , [教材名稱_B] = @教材名稱_B , [符合訓練目標_B] = @符合訓練目標_B , [架構規劃完整性_B] = @架構規劃完整性_B , [符合課程時數_B] = @符合課程時數_B , [引起學習興趣_B] = @引起學習興趣_B , [未來工作參考運用_B] = @未來工作參考運用_B , [合計_B] = @合計_B , [教材評選綜合評估_B] = @教材評選綜合評估_B , [教材名稱_C] = @教材名稱_C , [符合訓練目標_C] = @符合訓練目標_C , [架構規劃完整性_C] = @架構規劃完整性_C , [符合課程時數_C] = @符合課程時數_C , [引起學習興趣_C] = @引起學習興趣_C , [未來工作參考運用_C] = @未來工作參考運用_C , [合計_C] = @合計_C , [教材評選綜合評估_C] = @教材評選綜合評估_C , [訓練單位回饋與建議] = @訓練單位回饋與建議 , [總評] = @總評 , [備註] = @備註 , [選定教材] = @選定教材 , DB_APPNO = DB_APPNO + 1, DB_TRDAT = @DB_TRDAT, DB_TRUSR = @DB_TRUSR where 1=1 and [課程企劃編號] = @original_課程企劃編號 and [課程序號] = @original_課程序號 and DB_APPNO = @original_DB_APPNO "; AddParam(cmdUpdate, "課程企劃編號", value.課程企劃編號); AddParam(cmdUpdate, "課程序號", value.課程序號); AddParam(cmdUpdate, "教材名稱_A", value.教材名稱_A); AddParam(cmdUpdate, "符合訓練目標_A", value.符合訓練目標_A); AddParam(cmdUpdate, "架構規劃完整性_A", value.架構規劃完整性_A); AddParam(cmdUpdate, "符合課程時數_A", value.符合課程時數_A); AddParam(cmdUpdate, "引起學習興趣_A", value.引起學習興趣_A); AddParam(cmdUpdate, "未來工作參考運用_A", value.未來工作參考運用_A); AddParam(cmdUpdate, "合計_A", value.合計_A); AddParam(cmdUpdate, "教材評選綜合評估_A", value.教材評選綜合評估_A); AddParam(cmdUpdate, "教材名稱_B", value.教材名稱_B); AddParam(cmdUpdate, "符合訓練目標_B", value.符合訓練目標_B); AddParam(cmdUpdate, "架構規劃完整性_B", value.架構規劃完整性_B); AddParam(cmdUpdate, "符合課程時數_B", value.符合課程時數_B); AddParam(cmdUpdate, "引起學習興趣_B", value.引起學習興趣_B); AddParam(cmdUpdate, "未來工作參考運用_B", value.未來工作參考運用_B); AddParam(cmdUpdate, "合計_B", value.合計_B); AddParam(cmdUpdate, "教材評選綜合評估_B", value.教材評選綜合評估_B); AddParam(cmdUpdate, "教材名稱_C", value.教材名稱_C); AddParam(cmdUpdate, "符合訓練目標_C", value.符合訓練目標_C); AddParam(cmdUpdate, "架構規劃完整性_C", value.架構規劃完整性_C); AddParam(cmdUpdate, "符合課程時數_C", value.符合課程時數_C); AddParam(cmdUpdate, "引起學習興趣_C", value.引起學習興趣_C); AddParam(cmdUpdate, "未來工作參考運用_C", value.未來工作參考運用_C); AddParam(cmdUpdate, "合計_C", value.合計_C); AddParam(cmdUpdate, "教材評選綜合評估_C", value.教材評選綜合評估_C); AddParam(cmdUpdate, "訓練單位回饋與建議", value.訓練單位回饋與建議); AddParam(cmdUpdate, "總評", value.總評); AddParam(cmdUpdate, "備註", value.備註); AddParam(cmdUpdate, "選定教材", value.選定教材); AddParam(cmdUpdate, "DB_TRDAT", DateTime.Now); AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId); AddParam(cmdUpdate, "original_課程企劃編號", original_value.課程企劃編號); AddParam(cmdUpdate, "original_課程序號", original_value.課程序號); AddParam(cmdUpdate, "original_DB_APPNO", original_value.DB_APPNO); ExecuteNonQuery(cmdUpdate); AfterUpdateOne(value, original_value); ts.Complete(); return value; } catch (Exception error) { bool handled; OnUpdateOneError(error, out handled); if(!handled) throw error; return value; } } } [DataObjectMethod(DataObjectMethodType.Delete)] public int DeleteOne(int 課程企劃編號, int 課程序號, int DB_APPNO) { using (TransactionScope ts = DAC.NewTransactionScope()) { try { if (!BeforeDeleteOne(課程企劃編號, 課程序號, DB_APPNO)) return -1; 教材遴選List oldValues = SelectOne(課程企劃編號, 課程序號); if (oldValues.Count == 0 || oldValues[0].DB_APPNO != DB_APPNO) { throw new DBConcurrencyException("在刪除 \"教材遴選\" 資料表時發生並行例外:找不到要刪除的資料列"); } else { DoBackup(oldValues[0], "DELETE"); } DbCommand cmdDelete = NewCommand(); cmdDelete.CommandText = @"delete from [教材遴選] where 1=1 and 課程企劃編號 = @課程企劃編號 and 課程序號 = @課程序號 and DB_APPNO = @DB_APPNO "; AddParam(cmdDelete, "課程企劃編號", 課程企劃編號); AddParam(cmdDelete, "課程序號", 課程序號); AddParam(cmdDelete, "DB_APPNO", DB_APPNO); int rowsAffected = ExecuteNonQuery(cmdDelete); AfterDeleteOne(課程企劃編號, 課程序號, DB_APPNO); ts.Complete(); return rowsAffected; } catch (Exception error) { bool handled; OnDeleteOneError(error, out handled); if(!handled) throw error; return -1; } } } [DataObjectMethod(DataObjectMethodType.Delete)] public int DeleteOne(教材遴選Item value) { using (TransactionScope ts = DAC.NewTransactionScope()) { try { if (!BeforeDeleteOne(value)) return -1; 教材遴選List oldValues = SelectOne(value.課程企劃編號, value.課程序號); if (oldValues.Count == 0 || oldValues[0].DB_APPNO != value.DB_APPNO) { throw new DBConcurrencyException("在刪除 \"教材遴選\" 資料表時發生並行例外:找不到要刪除的資料列"); } else { DoBackup(oldValues[0], "DELETE"); } DbCommand cmdDelete = NewCommand(); cmdDelete.CommandText = @"delete from [教材遴選] where 1=1 and 課程企劃編號 = @課程企劃編號 and 課程序號 = @課程序號 and DB_APPNO = @DB_APPNO "; AddParam(cmdDelete, "課程企劃編號", value.課程企劃編號); AddParam(cmdDelete, "課程序號", value.課程序號); AddParam(cmdDelete, "DB_APPNO", value.DB_APPNO); int rowsAffected = ExecuteNonQuery(cmdDelete); AfterDeleteOne(value); ts.Complete(); return rowsAffected; } catch (Exception error) { bool handled; OnDeleteOneError(error, out handled); if(!handled) throw error; return -1; } } } public bool IsDuplicate(int 課程企劃編號, int 課程序號) { DbCommand cmdSelect = NewCommand(); cmdSelect.CommandText = "select count(1)" + _from + _where + " and 課程企劃編號 = @課程企劃編號 " + " and 課程序號 = @課程序號 " ; AddParam(cmdSelect, "課程企劃編號", 課程企劃編號); AddParam(cmdSelect, "課程序號", 課程序號); int count; ExecuteScalar(cmdSelect, out count); return count > 0; } public void DoBackup(教材遴選Item value, string updateMode) { DbCommand cmdBak = NewCommand(); cmdBak.CommandText = "insert into [教材遴選_BAK]" + " (" + _insertBak + ")" + "values " + " (" + _insertBakValue + ");" ; AddParam(cmdBak, "課程企劃編號", value.課程企劃編號); AddParam(cmdBak, "課程序號", value.課程序號); AddParam(cmdBak, "教材名稱_A", value.教材名稱_A); AddParam(cmdBak, "符合訓練目標_A", value.符合訓練目標_A); AddParam(cmdBak, "架構規劃完整性_A", value.架構規劃完整性_A); AddParam(cmdBak, "符合課程時數_A", value.符合課程時數_A); AddParam(cmdBak, "引起學習興趣_A", value.引起學習興趣_A); AddParam(cmdBak, "未來工作參考運用_A", value.未來工作參考運用_A); AddParam(cmdBak, "合計_A", value.合計_A); AddParam(cmdBak, "教材評選綜合評估_A", value.教材評選綜合評估_A); AddParam(cmdBak, "教材名稱_B", value.教材名稱_B); AddParam(cmdBak, "符合訓練目標_B", value.符合訓練目標_B); AddParam(cmdBak, "架構規劃完整性_B", value.架構規劃完整性_B); AddParam(cmdBak, "符合課程時數_B", value.符合課程時數_B); AddParam(cmdBak, "引起學習興趣_B", value.引起學習興趣_B); AddParam(cmdBak, "未來工作參考運用_B", value.未來工作參考運用_B); AddParam(cmdBak, "合計_B", value.合計_B); AddParam(cmdBak, "教材評選綜合評估_B", value.教材評選綜合評估_B); AddParam(cmdBak, "教材名稱_C", value.教材名稱_C); AddParam(cmdBak, "符合訓練目標_C", value.符合訓練目標_C); AddParam(cmdBak, "架構規劃完整性_C", value.架構規劃完整性_C); AddParam(cmdBak, "符合課程時數_C", value.符合課程時數_C); AddParam(cmdBak, "引起學習興趣_C", value.引起學習興趣_C); AddParam(cmdBak, "未來工作參考運用_C", value.未來工作參考運用_C); AddParam(cmdBak, "合計_C", value.合計_C); AddParam(cmdBak, "教材評選綜合評估_C", value.教材評選綜合評估_C); AddParam(cmdBak, "訓練單位回饋與建議", value.訓練單位回饋與建議); AddParam(cmdBak, "總評", value.總評); AddParam(cmdBak, "備註", value.備註); AddParam(cmdBak, "選定教材", value.選定教材); AddParam(cmdBak, "DB_APPNO", value.DB_APPNO); AddParam(cmdBak, "DB_CRDAT", value.DB_CRDAT); AddParam(cmdBak, "DB_CRUSR", value.DB_CRUSR); AddParam(cmdBak, "DB_TRDAT", DateTime.Now); AddParam(cmdBak, "DB_TRUSR", CurrentUserId); AddParam(cmdBak, "DB_TRMOD", updateMode); ExecuteNonQuery(cmdBak); } } /// ///教材遴選 資料集合類別 /// [Serializable] public partial class 教材遴選List : List<教材遴選Item>, IDataList { public void Fill(DbDataReader reader) { DAC.FillData<教材遴選Item>(reader, this); } } /// /// 教材遴選 資料紀錄類別 /// [Serializable] public partial class 教材遴選Item : DataItemBase { private int _課程企劃編號; private int _課程序號; private string _教材名稱_A; private int? _符合訓練目標_A; private int? _架構規劃完整性_A; private int? _符合課程時數_A; private int? _引起學習興趣_A; private int? _未來工作參考運用_A; private int? _合計_A; private string _教材評選綜合評估_A; private string _教材名稱_B; private int? _符合訓練目標_B; private int? _架構規劃完整性_B; private int? _符合課程時數_B; private int? _引起學習興趣_B; private int? _未來工作參考運用_B; private int? _合計_B; private string _教材評選綜合評估_B; private string _教材名稱_C; private int? _符合訓練目標_C; private int? _架構規劃完整性_C; private int? _符合課程時數_C; private int? _引起學習興趣_C; private int? _未來工作參考運用_C; private int? _合計_C; private string _教材評選綜合評估_C; private string _訓練單位回饋與建議; private string _總評; private string _備註; private int? _選定教材; #region 資料欄位 /// /// 課程企劃編號 /// [DataObjectField(true, false, false)] public int 課程企劃編號 { get { return _課程企劃編號; } set { if (value != _課程企劃編號) { _課程企劃編號 = value; OnPropertyChanged("課程企劃編號"); } } } /// /// 課程序號 /// [DataObjectField(true, false, false)] public int 課程序號 { get { return _課程序號; } set { if (value != _課程序號) { _課程序號 = value; OnPropertyChanged("課程序號"); } } } /// /// 教材一名稱 /// [DataObjectField(false, false, true, 100)] public string 教材名稱_A { get { return _教材名稱_A; } set { if (value != _教材名稱_A) { _教材名稱_A = value; OnPropertyChanged("教材名稱_A"); } } } /// /// 教材設計符合訓練目標_A (1-10) /// [DataObjectField(false, false, true)] public int? 符合訓練目標_A { get { return _符合訓練目標_A; } set { if (value != _符合訓練目標_A) { _符合訓練目標_A = value; OnPropertyChanged("符合訓練目標_A"); } } } /// /// 教材設計整體架構規劃完整性_A (1-10) /// [DataObjectField(false, false, true)] public int? 架構規劃完整性_A { get { return _架構規劃完整性_A; } set { if (value != _架構規劃完整性_A) { _架構規劃完整性_A = value; OnPropertyChanged("架構規劃完整性_A"); } } } /// /// 教材設計符合課程規劃時數_A (1-10) /// [DataObjectField(false, false, true)] public int? 符合課程時數_A { get { return _符合課程時數_A; } set { if (value != _符合課程時數_A) { _符合課程時數_A = value; OnPropertyChanged("符合課程時數_A"); } } } /// /// 教學方法能引起學員的學習興趣_A (1-10) /// [DataObjectField(false, false, true)] public int? 引起學習興趣_A { get { return _引起學習興趣_A; } set { if (value != _引起學習興趣_A) { _引起學習興趣_A = value; OnPropertyChanged("引起學習興趣_A"); } } } /// /// 教材設計可做為學員未來工作參考/運用_A (1-10) /// [DataObjectField(false, false, true)] public int? 未來工作參考運用_A { get { return _未來工作參考運用_A; } set { if (value != _未來工作參考運用_A) { _未來工作參考運用_A = value; OnPropertyChanged("未來工作參考運用_A"); } } } /// /// 合計_A (公式:符合訓練目標+架構規劃完整性+符合課程時數+引起學習興趣+未來工作參考運用) /// [DataObjectField(false, false, true)] public int? 合計_A { get { return _合計_A; } set { if (value != _合計_A) { _合計_A = value; OnPropertyChanged("合計_A"); } } } /// /// 1=不符合目標;2=符合目標;3=符合目標且能引起學習興趣 /// [DataObjectField(false, false, true, 1)] public string 教材評選綜合評估_A { get { return _教材評選綜合評估_A; } set { if (value != _教材評選綜合評估_A) { _教材評選綜合評估_A = value; OnPropertyChanged("教材評選綜合評估_A"); } } } /// /// 教材二名稱 /// [DataObjectField(false, false, true, 100)] public string 教材名稱_B { get { return _教材名稱_B; } set { if (value != _教材名稱_B) { _教材名稱_B = value; OnPropertyChanged("教材名稱_B"); } } } /// /// 教材設計符合訓練目標_B (1-10) /// [DataObjectField(false, false, true)] public int? 符合訓練目標_B { get { return _符合訓練目標_B; } set { if (value != _符合訓練目標_B) { _符合訓練目標_B = value; OnPropertyChanged("符合訓練目標_B"); } } } /// /// 教材設計整體架構規劃完整性_B (1-10) /// [DataObjectField(false, false, true)] public int? 架構規劃完整性_B { get { return _架構規劃完整性_B; } set { if (value != _架構規劃完整性_B) { _架構規劃完整性_B = value; OnPropertyChanged("架構規劃完整性_B"); } } } /// /// 教材設計符合課程規劃時數_B (1-10) /// [DataObjectField(false, false, true)] public int? 符合課程時數_B { get { return _符合課程時數_B; } set { if (value != _符合課程時數_B) { _符合課程時數_B = value; OnPropertyChanged("符合課程時數_B"); } } } /// /// 教學方法能引起學員的學習興趣_B (1-10) /// [DataObjectField(false, false, true)] public int? 引起學習興趣_B { get { return _引起學習興趣_B; } set { if (value != _引起學習興趣_B) { _引起學習興趣_B = value; OnPropertyChanged("引起學習興趣_B"); } } } /// /// 教材設計可做為學員未來工作參考/運用_B (1-10) /// [DataObjectField(false, false, true)] public int? 未來工作參考運用_B { get { return _未來工作參考運用_B; } set { if (value != _未來工作參考運用_B) { _未來工作參考運用_B = value; OnPropertyChanged("未來工作參考運用_B"); } } } /// /// 合計_B (公式:符合訓練目標+架構規劃完整性+符合課程時數+引起學習興趣+未來工作參考運用) /// [DataObjectField(false, false, true)] public int? 合計_B { get { return _合計_B; } set { if (value != _合計_B) { _合計_B = value; OnPropertyChanged("合計_B"); } } } /// /// 1=不符合目標;2=符合目標;3=符合目標且能引起學習興趣 /// [DataObjectField(false, false, true, 1)] public string 教材評選綜合評估_B { get { return _教材評選綜合評估_B; } set { if (value != _教材評選綜合評估_B) { _教材評選綜合評估_B = value; OnPropertyChanged("教材評選綜合評估_B"); } } } /// /// 教材三名稱 /// [DataObjectField(false, false, true, 100)] public string 教材名稱_C { get { return _教材名稱_C; } set { if (value != _教材名稱_C) { _教材名稱_C = value; OnPropertyChanged("教材名稱_C"); } } } /// /// 教材設計符合訓練目標_C (1-10) /// [DataObjectField(false, false, true)] public int? 符合訓練目標_C { get { return _符合訓練目標_C; } set { if (value != _符合訓練目標_C) { _符合訓練目標_C = value; OnPropertyChanged("符合訓練目標_C"); } } } /// /// 教材設計整體架構規劃完整性_C (1-10) /// [DataObjectField(false, false, true)] public int? 架構規劃完整性_C { get { return _架構規劃完整性_C; } set { if (value != _架構規劃完整性_C) { _架構規劃完整性_C = value; OnPropertyChanged("架構規劃完整性_C"); } } } /// /// 教材設計符合課程規劃時數_C (1-10) /// [DataObjectField(false, false, true)] public int? 符合課程時數_C { get { return _符合課程時數_C; } set { if (value != _符合課程時數_C) { _符合課程時數_C = value; OnPropertyChanged("符合課程時數_C"); } } } /// /// 教學方法能引起學員的學習興趣_C (1-10) /// [DataObjectField(false, false, true)] public int? 引起學習興趣_C { get { return _引起學習興趣_C; } set { if (value != _引起學習興趣_C) { _引起學習興趣_C = value; OnPropertyChanged("引起學習興趣_C"); } } } /// /// 教材設計可做為學員未來工作參考/運用_C (1-10) /// [DataObjectField(false, false, true)] public int? 未來工作參考運用_C { get { return _未來工作參考運用_C; } set { if (value != _未來工作參考運用_C) { _未來工作參考運用_C = value; OnPropertyChanged("未來工作參考運用_C"); } } } /// /// 合計_C (公式:符合訓練目標+架構規劃完整性+符合課程時數+引起學習興趣+未來工作參考運用) /// [DataObjectField(false, false, true)] public int? 合計_C { get { return _合計_C; } set { if (value != _合計_C) { _合計_C = value; OnPropertyChanged("合計_C"); } } } /// /// 1=不符合目標;2=符合目標;3=符合目標且能引起學習興趣 /// [DataObjectField(false, false, true, 1)] public string 教材評選綜合評估_C { get { return _教材評選綜合評估_C; } set { if (value != _教材評選綜合評估_C) { _教材評選綜合評估_C = value; OnPropertyChanged("教材評選綜合評估_C"); } } } /// /// 訓練單位回饋與建議 /// [DataObjectField(false, false, true, 2000)] public string 訓練單位回饋與建議 { get { return _訓練單位回饋與建議; } set { if (value != _訓練單位回饋與建議) { _訓練單位回饋與建議 = value; OnPropertyChanged("訓練單位回饋與建議"); } } } /// /// 總評 /// [DataObjectField(false, false, true, 2000)] public string 總評 { get { return _總評; } set { if (value != _總評) { _總評 = value; OnPropertyChanged("總評"); } } } /// /// 備註 /// [DataObjectField(false, false, true, 2000)] public string 備註 { get { return _備註; } set { if (value != _備註) { _備註 = value; OnPropertyChanged("備註"); } } } /// /// 選定教材 /// [DataObjectField(false, false, true)] public int? 選定教材 { get { return _選定教材; } set { if (value != _選定教材) { _選定教材 = value; OnPropertyChanged("選定教材"); } } } #endregion } }