// // 這個檔案是 教材遴選 資料表的資料存取類別 檔案一 // 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉 // 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, "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, "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, "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, "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 string _訓練目標相符_A; private string _參訓對象符合_A; private string _課程大綱相符_A; private string _內容正確適切_A; private string _學員理解應用_A; private string _使用方式清楚_A; private string _評選結果_A; private string _教材名稱_B; private string _訓練目標相符_B; private string _參訓對象符合_B; private string _課程大綱相符_B; private string _內容正確適切_B; private string _學員理解應用_B; private string _使用方式清楚_B; private string _評選結果_B; private string _教材名稱_C; private string _訓練目標相符_C; private string _參訓對象符合_C; private string _課程大綱相符_C; private string _內容正確適切_C; private string _學員理解應用_C; private string _使用方式清楚_C; private string _評選結果_C; 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=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 訓練目標相符_A { get { return _訓練目標相符_A; } set { if (value != _訓練目標相符_A) { _訓練目標相符_A = value; OnPropertyChanged("訓練目標相符_A"); } } } /// /// 符合參訓對象之程度、需求及特性_A (1=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 參訓對象符合_A { get { return _參訓對象符合_A; } set { if (value != _參訓對象符合_A) { _參訓對象符合_A = value; OnPropertyChanged("參訓對象符合_A"); } } } /// /// 與課程大綱、授課內容或學習活動相符_A (1=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 課程大綱相符_A { get { return _課程大綱相符_A; } set { if (value != _課程大綱相符_A) { _課程大綱相符_A = value; OnPropertyChanged("課程大綱相符_A"); } } } /// /// 內容正確、適切,相關資訊具時效性_A (1=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 內容正確適切_A { get { return _內容正確適切_A; } set { if (value != _內容正確適切_A) { _內容正確適切_A = value; OnPropertyChanged("內容正確適切_A"); } } } /// /// 有助於學員理解、學習或實際工作應用_A (1=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 學員理解應用_A { get { return _學員理解應用_A; } set { if (value != _學員理解應用_A) { _學員理解應用_A = value; OnPropertyChanged("學員理解應用_A"); } } } /// /// 使用方式、操作流程或內容呈現清楚_A (1=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 使用方式清楚_A { get { return _使用方式清楚_A; } set { if (value != _使用方式清楚_A) { _使用方式清楚_A = value; OnPropertyChanged("使用方式清楚_A"); } } } /// /// 評選結果_A (1=通過,可直接使用 2=修正後使用 3=不建議使用,請重新調整或另行選用) /// [DataObjectField(false, false, true, 10)] 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=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 訓練目標相符_B { get { return _訓練目標相符_B; } set { if (value != _訓練目標相符_B) { _訓練目標相符_B = value; OnPropertyChanged("訓練目標相符_B"); } } } /// /// 符合參訓對象之程度、需求及特性_B (1=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 參訓對象符合_B { get { return _參訓對象符合_B; } set { if (value != _參訓對象符合_B) { _參訓對象符合_B = value; OnPropertyChanged("參訓對象符合_B"); } } } /// /// 與課程大綱、授課內容或學習活動相符_B (1=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 課程大綱相符_B { get { return _課程大綱相符_B; } set { if (value != _課程大綱相符_B) { _課程大綱相符_B = value; OnPropertyChanged("課程大綱相符_B"); } } } /// /// 內容正確、適切,相關資訊具時效性_B (1=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 內容正確適切_B { get { return _內容正確適切_B; } set { if (value != _內容正確適切_B) { _內容正確適切_B = value; OnPropertyChanged("內容正確適切_B"); } } } /// /// 有助於學員理解、學習或實際工作應用_B (1=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 學員理解應用_B { get { return _學員理解應用_B; } set { if (value != _學員理解應用_B) { _學員理解應用_B = value; OnPropertyChanged("學員理解應用_B"); } } } /// /// 使用方式、操作流程或內容呈現清楚_B (1=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 使用方式清楚_B { get { return _使用方式清楚_B; } set { if (value != _使用方式清楚_B) { _使用方式清楚_B = value; OnPropertyChanged("使用方式清楚_B"); } } } /// /// 評選結果_B (1=通過,可直接使用 2=修正後使用 3=不建議使用,請重新調整或另行選用) /// [DataObjectField(false, false, true, 10)] 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=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 訓練目標相符_C { get { return _訓練目標相符_C; } set { if (value != _訓練目標相符_C) { _訓練目標相符_C = value; OnPropertyChanged("訓練目標相符_C"); } } } /// /// 符合參訓對象之程度、需求及特性_C (1=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 參訓對象符合_C { get { return _參訓對象符合_C; } set { if (value != _參訓對象符合_C) { _參訓對象符合_C = value; OnPropertyChanged("參訓對象符合_C"); } } } /// /// 與課程大綱、授課內容或學習活動相符_C (1=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 課程大綱相符_C { get { return _課程大綱相符_C; } set { if (value != _課程大綱相符_C) { _課程大綱相符_C = value; OnPropertyChanged("課程大綱相符_C"); } } } /// /// 內容正確、適切,相關資訊具時效性_C (1=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 內容正確適切_C { get { return _內容正確適切_C; } set { if (value != _內容正確適切_C) { _內容正確適切_C = value; OnPropertyChanged("內容正確適切_C"); } } } /// /// 有助於學員理解、學習或實際工作應用_C (1=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 學員理解應用_C { get { return _學員理解應用_C; } set { if (value != _學員理解應用_C) { _學員理解應用_C = value; OnPropertyChanged("學員理解應用_C"); } } } /// /// 使用方式、操作流程或內容呈現清楚_C (1=符合 2=修正後符合 3=不符合) /// [DataObjectField(false, false, true, 10)] public string 使用方式清楚_C { get { return _使用方式清楚_C; } set { if (value != _使用方式清楚_C) { _使用方式清楚_C = value; OnPropertyChanged("使用方式清楚_C"); } } } /// /// 評選結果_C (1=通過,可直接使用 2=修正後使用 3=不建議使用,請重新調整或另行選用) /// [DataObjectField(false, false, true, 10)] 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)] public int? 選定教材 { get { return _選定教材; } set { if (value != _選定教材) { _選定教材 = value; OnPropertyChanged("選定教材"); } } } #endregion } }