Files
sryang 577060bc78 chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
2026-09-10 09:42:37 +08:00

898 lines
24 KiB
C#

//
// 這個檔案是 場地 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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
{
///<summary>
/// 場地 資料存取類別
///</ summary>
[DataObject]
public partial class DAC_場地 : WebLib.DAC
{
private string _tableName = "場地";
private string _select = "select 編號, 單位名稱, 場地名稱, 場地類型, 價格, 坪數, 容納人數, 地址_郵編, 地址_縣市, 地址_鄉鎮市區, 地址_街道地址, 捷運可到, 捷運分鐘, 公車可到, 公車分鐘, 火車可到, 火車分鐘, 步行可到, 步行分鐘, 設備提供, 聯絡人, 聯絡人電話, 電子郵件, 傳真, 備註, DB_APPNO, DB_CRDAT, DB_CRUSR, DB_TRDAT, DB_TRUSR";
private string _insert = "單位名稱, 場地名稱, 場地類型, 價格, 坪數, 容納人數, 地址_郵編, 地址_縣市, 地址_鄉鎮市區, 地址_街道地址, 捷運可到, 捷運分鐘, 公車可到, 公車分鐘, 火車可到, 火車分鐘, 步行可到, 步行分鐘, 設備提供, 聯絡人, 聯絡人電話, 電子郵件, 傳真, 備註, DB_APPNO, DB_CRDAT, DB_CRUSR, DB_TRDAT, DB_TRUSR";
private string _insertValue = "@單位名稱, @場地名稱, @場地類型, @價格, @坪數, @容納人數, @地址_郵編, @地址_縣市, @地址_鄉鎮市區, @地址_街道地址, @捷運可到, @捷運分鐘, @公車可到, @公車分鐘, @火車可到, @火車分鐘, @步行可到, @步行分鐘, @設備提供, @聯絡人, @聯絡人電話, @電子郵件, @傳真, @備註, @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 int InsertOne(場地 value)
{
using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
{
try
{
if (!BeforeInsertOne(value))
return -1;
DbCommand cmdInsert = NewCommand();
cmdInsert.CommandText =
"insert into 場地"
+ " (" + _insert + ")"
+ "values "
+ " (" + _insertValue + ");"
+ "select @@identity"
;
AddParam(cmdInsert, "單位名稱", value.單位名稱);
AddParam(cmdInsert, "場地名稱", value.場地名稱);
AddParam(cmdInsert, "場地類型", value.場地類型);
AddParam(cmdInsert, "價格", value.價格);
AddParam(cmdInsert, "坪數", value.坪數);
AddParam(cmdInsert, "容納人數", value.容納人數);
AddParam(cmdInsert, "地址_郵編", value.地址_郵編);
AddParam(cmdInsert, "地址_縣市", value.地址_縣市);
AddParam(cmdInsert, "地址_鄉鎮市區", value.地址_鄉鎮市區);
AddParam(cmdInsert, "地址_街道地址", value.地址_街道地址);
AddParam(cmdInsert, "捷運可到", value.捷運可到);
AddParam(cmdInsert, "捷運分鐘", value.捷運分鐘);
AddParam(cmdInsert, "公車可到", value.公車可到);
AddParam(cmdInsert, "公車分鐘", value.公車分鐘);
AddParam(cmdInsert, "火車可到", value.火車可到);
AddParam(cmdInsert, "火車分鐘", value.火車分鐘);
AddParam(cmdInsert, "步行可到", value.步行可到);
AddParam(cmdInsert, "步行分鐘", value.步行分鐘);
AddParam(cmdInsert, "設備提供", value.設備提供);
AddParam(cmdInsert, "聯絡人", value.聯絡人);
AddParam(cmdInsert, "聯絡人電話", value.聯絡人電話);
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);
int newId;
ExecuteScalar(cmdInsert, out newId);
AfterInsertOne(value);
ts.Complete();
return newId;
}
catch (Exception error)
{
bool handled;
OnInsertOneError(error, out handled);
if(!handled)
throw error;
return -1;
}
}
}
[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
單位名稱 = @單位名稱 ,
場地名稱 = @場地名稱 ,
場地類型 = @場地類型 ,
價格 = @價格 ,
坪數 = @坪數 ,
容納人數 = @容納人數 ,
地址_郵編 = @地址_郵編 ,
地址_縣市 = @地址_縣市 ,
地址_鄉鎮市區 = @地址_鄉鎮市區 ,
地址_街道地址 = @地址_街道地址 ,
捷運可到 = @捷運可到 ,
捷運分鐘 = @捷運分鐘 ,
公車可到 = @公車可到 ,
公車分鐘 = @公車分鐘 ,
火車可到 = @火車可到 ,
火車分鐘 = @火車分鐘 ,
步行可到 = @步行可到 ,
步行分鐘 = @步行分鐘 ,
設備提供 = @設備提供 ,
聯絡人 = @聯絡人 ,
聯絡人電話 = @聯絡人電話 ,
電子郵件 = @電子郵件 ,
傳真 = @傳真 ,
備註 = @備註 ,
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, "單位名稱", value.單位名稱);
AddParam(cmdUpdate, "場地名稱", value.場地名稱);
AddParam(cmdUpdate, "場地類型", value.場地類型);
AddParam(cmdUpdate, "價格", value.價格);
AddParam(cmdUpdate, "坪數", value.坪數);
AddParam(cmdUpdate, "容納人數", value.容納人數);
AddParam(cmdUpdate, "地址_郵編", value.地址_郵編);
AddParam(cmdUpdate, "地址_縣市", value.地址_縣市);
AddParam(cmdUpdate, "地址_鄉鎮市區", value.地址_鄉鎮市區);
AddParam(cmdUpdate, "地址_街道地址", value.地址_街道地址);
AddParam(cmdUpdate, "捷運可到", value.捷運可到);
AddParam(cmdUpdate, "捷運分鐘", value.捷運分鐘);
AddParam(cmdUpdate, "公車可到", value.公車可到);
AddParam(cmdUpdate, "公車分鐘", value.公車分鐘);
AddParam(cmdUpdate, "火車可到", value.火車可到);
AddParam(cmdUpdate, "火車分鐘", value.火車分鐘);
AddParam(cmdUpdate, "步行可到", value.步行可到);
AddParam(cmdUpdate, "步行分鐘", value.步行分鐘);
AddParam(cmdUpdate, "設備提供", value.設備提供);
AddParam(cmdUpdate, "聯絡人", value.聯絡人);
AddParam(cmdUpdate, "聯絡人電話", value.聯絡人電話);
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;
}
}
///<summary>
/// 場地 資料集合類別
///</summary>
public partial class 場地List : List<場地>, IDataList
{
public void Fill(DbDataReader reader)
{
while (reader.Read())
{
場地 newItem = new 場地();
newItem.編號 = DAC.GetInt32(reader[0]);
newItem.單位名稱 = DAC.GetString(reader[1]);
newItem.場地名稱 = DAC.GetString(reader[2]);
newItem.場地類型 = DAC.GetString(reader[3]);
newItem.價格 = DAC.GetInt32(reader[4]);
newItem.坪數 = DAC.GetInt32(reader[5]);
newItem.容納人數 = DAC.GetInt32(reader[6]);
newItem.地址_郵編 = DAC.GetString(reader[7]);
newItem.地址_縣市 = DAC.GetString(reader[8]);
newItem.地址_鄉鎮市區 = DAC.GetString(reader[9]);
newItem.地址_街道地址 = DAC.GetString(reader[10]);
newItem.捷運可到 = DAC.GetString(reader[11]);
newItem.捷運分鐘 = DAC.GetInt32(reader[12]);
newItem.公車可到 = DAC.GetString(reader[13]);
newItem.公車分鐘 = DAC.GetInt32(reader[14]);
newItem.火車可到 = DAC.GetString(reader[15]);
newItem.火車分鐘 = DAC.GetInt32(reader[16]);
newItem.步行可到 = DAC.GetString(reader[17]);
newItem.步行分鐘 = DAC.GetInt32(reader[18]);
newItem.設備提供 = DAC.GetString(reader[19]);
newItem.聯絡人 = DAC.GetString(reader[20]);
newItem.聯絡人電話 = DAC.GetString(reader[21]);
newItem.電子郵件 = DAC.GetString(reader[22]);
newItem.傳真 = DAC.GetString(reader[23]);
newItem.備註 = DAC.GetString(reader[24]);
newItem.DB_APPNO = DAC.GetInt32(reader[25]);
newItem.DB_CRDAT = DAC.GetDateTime(reader[26]);
newItem.DB_CRUSR = DAC.GetString(reader[27]);
newItem.DB_TRDAT = DAC.GetDateTime(reader[28]);
newItem.DB_TRUSR = DAC.GetString(reader[29]);
Add(newItem);
}
}
}
///<summary>
/// 場地 資料紀錄類別
///</summary>
[Serializable]
public partial class 場地 : DataItemBase
{
private int _編號;
private string _單位名稱;
private string _場地名稱;
private string _場地類型;
private int _價格;
private int _坪數;
private int _容納人數;
private string _地址_郵編;
private string _地址_縣市;
private string _地址_鄉鎮市區;
private string _地址_街道地址;
private string _捷運可到;
private int _捷運分鐘;
private string _公車可到;
private int _公車分鐘;
private string _火車可到;
private int _火車分鐘;
private string _步行可到;
private int _步行分鐘;
private string _設備提供;
private string _聯絡人;
private string _聯絡人電話;
private string _電子郵件;
private string _傳真;
private string _備註;
#region 資料欄位
///<summary>
/// 編號
///</summary>
[DataObjectField(true, false, false)]
public int 編號
{
get
{
return _編號;
}
set
{
if (value != _編號)
{
_編號 = value;
OnPropertyChanged("編號");
}
}
}
///<summary>
/// 單位名稱
///</summary>
[DataObjectField(false, false, true, 50)]
public string 單位名稱
{
get
{
return _單位名稱;
}
set
{
if (value != _單位名稱)
{
_單位名稱 = value;
OnPropertyChanged("單位名稱");
}
}
}
///<summary>
/// 場地名稱
///</summary>
[DataObjectField(false, false, true, 50)]
public string 場地名稱
{
get
{
return _場地名稱;
}
set
{
if (value != _場地名稱)
{
_場地名稱 = value;
OnPropertyChanged("場地名稱");
}
}
}
///<summary>
/// 場地類型
///</summary>
[DataObjectField(false, false, true, 20)]
public string 場地類型
{
get
{
return _場地類型;
}
set
{
if (value != _場地類型)
{
_場地類型 = value;
OnPropertyChanged("場地類型");
}
}
}
///<summary>
/// 價格
///</summary>
[DataObjectField(false, false, true)]
public int 價格
{
get
{
return _價格;
}
set
{
if (value != _價格)
{
_價格 = value;
OnPropertyChanged("價格");
}
}
}
///<summary>
/// 坪數
///</summary>
[DataObjectField(false, false, true)]
public int 坪數
{
get
{
return _坪數;
}
set
{
if (value != _坪數)
{
_坪數 = value;
OnPropertyChanged("坪數");
}
}
}
///<summary>
/// 容納人數
///</summary>
[DataObjectField(false, false, true)]
public int 容納人數
{
get
{
return _容納人數;
}
set
{
if (value != _容納人數)
{
_容納人數 = value;
OnPropertyChanged("容納人數");
}
}
}
///<summary>
/// 地址_郵編
///</summary>
[DataObjectField(false, false, true, 5)]
public string 地址_郵編
{
get
{
return _地址_郵編;
}
set
{
if (value != _地址_郵編)
{
_地址_郵編 = value;
OnPropertyChanged("地址_郵編");
}
}
}
///<summary>
/// 地址_縣市
///</summary>
[DataObjectField(false, false, true, 10)]
public string 地址_縣市
{
get
{
return _地址_縣市;
}
set
{
if (value != _地址_縣市)
{
_地址_縣市 = value;
OnPropertyChanged("地址_縣市");
}
}
}
///<summary>
/// 地址_鄉鎮市區
///</summary>
[DataObjectField(false, false, true, 10)]
public string 地址_鄉鎮市區
{
get
{
return _地址_鄉鎮市區;
}
set
{
if (value != _地址_鄉鎮市區)
{
_地址_鄉鎮市區 = value;
OnPropertyChanged("地址_鄉鎮市區");
}
}
}
///<summary>
/// 地址_街道地址
///</summary>
[DataObjectField(false, false, true, 30)]
public string 地址_街道地址
{
get
{
return _地址_街道地址;
}
set
{
if (value != _地址_街道地址)
{
_地址_街道地址 = value;
OnPropertyChanged("地址_街道地址");
}
}
}
///<summary>
/// 捷運可到
///</summary>
[DataObjectField(false, false, true, 1)]
public string 捷運可到
{
get
{
return _捷運可到;
}
set
{
if (value != _捷運可到)
{
_捷運可到 = value;
OnPropertyChanged("捷運可到");
}
}
}
///<summary>
/// 捷運分鐘
///</summary>
[DataObjectField(false, false, true)]
public int 捷運分鐘
{
get
{
return _捷運分鐘;
}
set
{
if (value != _捷運分鐘)
{
_捷運分鐘 = value;
OnPropertyChanged("捷運分鐘");
}
}
}
///<summary>
/// 公車可到
///</summary>
[DataObjectField(false, false, true, 1)]
public string 公車可到
{
get
{
return _公車可到;
}
set
{
if (value != _公車可到)
{
_公車可到 = value;
OnPropertyChanged("公車可到");
}
}
}
///<summary>
/// 公車分鐘
///</summary>
[DataObjectField(false, false, true)]
public int 公車分鐘
{
get
{
return _公車分鐘;
}
set
{
if (value != _公車分鐘)
{
_公車分鐘 = value;
OnPropertyChanged("公車分鐘");
}
}
}
///<summary>
/// 火車可到
///</summary>
[DataObjectField(false, false, true, 1)]
public string 火車可到
{
get
{
return _火車可到;
}
set
{
if (value != _火車可到)
{
_火車可到 = value;
OnPropertyChanged("火車可到");
}
}
}
///<summary>
/// 火車分鐘
///</summary>
[DataObjectField(false, false, true)]
public int 火車分鐘
{
get
{
return _火車分鐘;
}
set
{
if (value != _火車分鐘)
{
_火車分鐘 = value;
OnPropertyChanged("火車分鐘");
}
}
}
///<summary>
/// 步行可到
///</summary>
[DataObjectField(false, false, true, 1)]
public string 步行可到
{
get
{
return _步行可到;
}
set
{
if (value != _步行可到)
{
_步行可到 = value;
OnPropertyChanged("步行可到");
}
}
}
///<summary>
/// 步行分鐘
///</summary>
[DataObjectField(false, false, true)]
public int 步行分鐘
{
get
{
return _步行分鐘;
}
set
{
if (value != _步行分鐘)
{
_步行分鐘 = value;
OnPropertyChanged("步行分鐘");
}
}
}
///<summary>
/// 設備提供
///</summary>
[DataObjectField(false, false, true, 1000)]
public string 設備提供
{
get
{
return _設備提供;
}
set
{
if (value != _設備提供)
{
_設備提供 = value;
OnPropertyChanged("設備提供");
}
}
}
///<summary>
/// 聯絡人
///</summary>
[DataObjectField(false, false, true, 50)]
public string 聯絡人
{
get
{
return _聯絡人;
}
set
{
if (value != _聯絡人)
{
_聯絡人 = value;
OnPropertyChanged("聯絡人");
}
}
}
///<summary>
/// 聯絡人電話
///</summary>
[DataObjectField(false, false, true, 50)]
public string 聯絡人電話
{
get
{
return _聯絡人電話;
}
set
{
if (value != _聯絡人電話)
{
_聯絡人電話 = value;
OnPropertyChanged("聯絡人電話");
}
}
}
///<summary>
/// 電子郵件
///</summary>
[DataObjectField(false, false, true, 50)]
public string 電子郵件
{
get
{
return _電子郵件;
}
set
{
if (value != _電子郵件)
{
_電子郵件 = value;
OnPropertyChanged("電子郵件");
}
}
}
///<summary>
/// 傳真
///</summary>
[DataObjectField(false, false, true, 50)]
public string 傳真
{
get
{
return _傳真;
}
set
{
if (value != _傳真)
{
_傳真 = value;
OnPropertyChanged("傳真");
}
}
}
///<summary>
/// 備註
///</summary>
[DataObjectField(false, false, true, 1000)]
public string 備註
{
get
{
return _備註;
}
set
{
if (value != _備註)
{
_備註 = value;
OnPropertyChanged("備註");
}
}
}
#endregion
}
}