// // 這個檔案是 場地遴選 資料表的資料存取類別 檔案一 // 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉 // using System; using System.Collections.Generic; using System.Text; using System.ComponentModel; using System.Data; using System.Data.Common; using System.Transactions; using WebLib; using System.Data.SqlClient; namespace Education { /// /// 場地遴選 資料存取類別 /// [DataObject] public partial class DAC_場地遴選 : WebLib.DAC { private string _tableName = "場地遴選"; private string _select = "select 課程企劃編號, 場地編號_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 _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 _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 _from = " from 場地遴選 "; 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() { 場地遴選List result = new 場地遴選List(); IDataList list = result as IDataList; DbCommand cmdSelect = NewCommand(); cmdSelect.CommandText = _select + _from + _where + _order; Select(cmdSelect, ref list); return result; } [DataObjectMethod(DataObjectMethodType.Select)] public 場地遴選List SelectOne(int 課程企劃編號) { 場地遴選List result = new 場地遴選List(); IDataList list = result as IDataList; DbCommand cmdSelect = NewCommand(); cmdSelect.CommandText = _select + _from + _where + " and 課程企劃編號 = @課程企劃編號 " ; AddParam(cmdSelect, "課程企劃編號", 課程企劃編號); Select(cmdSelect, ref list); return result; } [DataObjectMethod(DataObjectMethodType.Insert)] public void InsertOne(場地遴選 value) { using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required)) { try { if (!BeforeInsertOne(value)) return; DbCommand cmdInsert = NewCommand(); cmdInsert.CommandText = "insert into 場地遴選" + " (" + _insert + ")" + "values " + " (" + _insertValue + ");" ; 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.UtcNow.AddHours(8)); 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; } } } [DataObjectMethod(DataObjectMethodType.Update)] public int UpdateOne(場地遴選 value) { using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required)) { try { if (!BeforeUpdateOne(value)) return -1; 場地遴選List oldValues = SelectOne(value.課程企劃編號); if (oldValues.Count == 0 || oldValues[0].DB_APPNO != value.DB_APPNO) { throw new DBConcurrencyException("在更新 \"場地遴選\" 資料表時發生並行例外:找不到要更新的資料列"); } 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 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.UtcNow.AddHours(8)); AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId); AddParam(cmdUpdate, "original_課程企劃編號", value.課程企劃編號); AddParam(cmdUpdate, "original_DB_APPNO", value.DB_APPNO); int rowsAffected = ExecuteNonQuery(cmdUpdate); AfterUpdateOne(value); ts.Complete(); return rowsAffected; } catch (Exception error) { bool handled; OnUpdateOneError(error, out handled); if(!handled) throw error; return -1; } } } [DataObjectMethod(DataObjectMethodType.Delete)] public int DeleteOne(int 課程企劃編號, int DB_APPNO) { using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required)) { try { if (!BeforeDeleteOne(課程企劃編號, DB_APPNO)) return -1; 場地遴選List oldValues = SelectOne(課程企劃編號); if (oldValues.Count == 0 || oldValues[0].DB_APPNO != DB_APPNO) { throw new DBConcurrencyException("在刪除 \"場地遴選\" 資料表時發生並行例外:找不到要刪除的資料列"); } DbCommand cmdDelete = NewCommand(); cmdDelete.CommandText = @"delete from 場地遴選 where 1=1 and 課程企劃編號 = @課程企劃編號 and DB_APPNO = @DB_APPNO "; 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(場地遴選 value) { using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required)) { try { if (!BeforeDeleteOne(value)) return -1; 場地遴選List oldValues = SelectOne(value.課程企劃編號); if (oldValues.Count == 0 || oldValues[0].DB_APPNO != value.DB_APPNO) { throw new DBConcurrencyException("在刪除 \"場地遴選\" 資料表時發生並行例外:找不到要刪除的資料列"); } DbCommand cmdDelete = NewCommand(); cmdDelete.CommandText = @"delete from 場地遴選 where 1=1 and 課程企劃編號 = @課程企劃編號 and DB_APPNO = @DB_APPNO "; 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 課程企劃編號) { DbCommand cmdSelect = NewCommand(); cmdSelect.CommandText = "select count(1)" + _from + _where + " and 課程企劃編號 = @課程企劃編號 " ; AddParam(cmdSelect, "課程企劃編號", 課程企劃編號); int count; ExecuteScalar(cmdSelect, out count); return count > 0; } } /// /// 場地遴選 資料集合類別 /// public partial class 場地遴選List : List<場地遴選>, IDataList { public void Fill(DbDataReader reader) { while (reader.Read()) { 場地遴選 newItem = new 場地遴選(); newItem.課程企劃編號 = DAC.GetInt32(reader[0]); newItem.場地編號_A = DAC.GetInt32(reader[1]); newItem.場地名稱_A = DAC.GetString(reader[2]); newItem.安全舒適_A = DAC.GetInt32(reader[3]); newItem.空間大小_A = DAC.GetInt32(reader[4]); newItem.價格合理_A = DAC.GetInt32(reader[5]); newItem.交通便利_A = DAC.GetInt32(reader[6]); newItem.設備完善_A = DAC.GetInt32(reader[7]); newItem.合計_A = DAC.GetInt32(reader[8]); newItem.場地編號_B = DAC.GetInt32(reader[9]); newItem.場地名稱_B = DAC.GetString(reader[10]); newItem.安全舒適_B = DAC.GetInt32(reader[11]); newItem.空間大小_B = DAC.GetInt32(reader[12]); newItem.價格合理_B = DAC.GetInt32(reader[13]); newItem.交通便利_B = DAC.GetInt32(reader[14]); newItem.設備完善_B = DAC.GetInt32(reader[15]); newItem.合計_B = DAC.GetInt32(reader[16]); newItem.場地編號_C = DAC.GetInt32(reader[17]); newItem.場地名稱_C = DAC.GetString(reader[18]); newItem.安全舒適_C = DAC.GetInt32(reader[19]); newItem.空間大小_C = DAC.GetInt32(reader[20]); newItem.價格合理_C = DAC.GetInt32(reader[21]); newItem.交通便利_C = DAC.GetInt32(reader[22]); newItem.設備完善_C = DAC.GetInt32(reader[23]); newItem.合計_C = DAC.GetInt32(reader[24]); newItem.總評 = DAC.GetString(reader[25]); newItem.備註 = DAC.GetString(reader[26]); newItem.選定場地 = DAC.GetInt32(reader[27]); newItem.DB_APPNO = DAC.GetInt32(reader[28]); newItem.DB_CRDAT = DAC.GetDateTime(reader[29]); newItem.DB_CRUSR = DAC.GetString(reader[30]); newItem.DB_TRDAT = DAC.GetDateTime(reader[31]); newItem.DB_TRUSR = DAC.GetString(reader[32]); Add(newItem); } } } /// /// 場地遴選 資料紀錄類別 /// [Serializable] public partial class 場地遴選 : DataItemBase { private int _課程企劃編號; private int _場地編號_A; private string _場地名稱_A; private int _安全舒適_A; private int _空間大小_A; private int _價格合理_A; private int _交通便利_A; private int _設備完善_A; private int _合計_A; private int _場地編號_B; private string _場地名稱_B; private int _安全舒適_B; private int _空間大小_B; private int _價格合理_B; private int _交通便利_B; private int _設備完善_B; private int _合計_B; private int _場地編號_C; private string _場地名稱_C; private int _安全舒適_C; private int _空間大小_C; private int _價格合理_C; private int _交通便利_C; private int _設備完善_C; private int _合計_C; private string _總評; private string _備註; private int _選定場地; #region 資料欄位 /// /// 課程企劃編號 /// [DataObjectField(true, false, false)] public int 課程企劃編號 { get { return _課程企劃編號; } set { if (value != _課程企劃編號) { _課程企劃編號 = value; OnPropertyChanged("課程企劃編號"); } } } /// /// 場地編號_A /// [DataObjectField(false, false, true)] public int 場地編號_A { get { return _場地編號_A; } set { if (value != _場地編號_A) { _場地編號_A = value; OnPropertyChanged("場地編號_A"); } } } /// /// 場地名稱_A /// [DataObjectField(false, false, true, 200)] public string 場地名稱_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"); } } } /// /// 空間大小_A /// [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"); } } } /// /// 交通便利_A /// [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"); } } } /// /// 合計_A /// [DataObjectField(false, false, true)] public int 合計_A { get { return _合計_A; } set { if (value != _合計_A) { _合計_A = value; OnPropertyChanged("合計_A"); } } } /// /// 場地編號_B /// [DataObjectField(false, false, true)] public int 場地編號_B { get { return _場地編號_B; } set { if (value != _場地編號_B) { _場地編號_B = value; OnPropertyChanged("場地編號_B"); } } } /// /// 場地名稱_B /// [DataObjectField(false, false, true, 200)] public string 場地名稱_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"); } } } /// /// 空間大小_B /// [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"); } } } /// /// 交通便利_B /// [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"); } } } /// /// 合計_B /// [DataObjectField(false, false, true)] public int 合計_B { get { return _合計_B; } set { if (value != _合計_B) { _合計_B = value; OnPropertyChanged("合計_B"); } } } /// /// 場地編號_C /// [DataObjectField(false, false, true)] public int 場地編號_C { get { return _場地編號_C; } set { if (value != _場地編號_C) { _場地編號_C = value; OnPropertyChanged("場地編號_C"); } } } /// /// 場地名稱_C /// [DataObjectField(false, false, true, 200)] public string 場地名稱_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"); } } } /// /// 空間大小_C /// [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"); } } } /// /// 交通便利_C /// [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"); } } } /// /// 合計_C /// [DataObjectField(false, false, true)] public int 合計_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 } }