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

1404 lines
54 KiB
C#

//
// 這個檔案是 講師 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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
{
///<summary>
/// 講師 資料存取類別
///</ summary>
[DataObject]
public partial class DAC_講師 : WebLib.DAC
{
private const string _tableName = "[講師]";
private const string _allFields = "[編號], [姓名], [出生日期], [性別], [身份證字號], [電話], [手機], [電子郵件], [戶籍地址_郵編], [戶籍地址_縣市], [戶籍地址_鄉鎮市區], [戶籍地址_街道地址], [居住地址_郵編], [居住地址_縣市], [居住地址_鄉鎮市區], [居住地址_街道地址], [現職], [學歷], [授課區域], [授課專長領域], [授課經歷概述], [重要經歷], [重要研究與著作], [照片圖檔], [最高學歷], [最高學歷學校], [最高學歷科系], [合作狀態], [合作狀態說明], [合作方式], [證照資料], [異常標註], [講師來源], [推薦授課主題], [備註], [DB_APPNO], [DB_CRDAT], [DB_CRUSR], [DB_TRDAT], [DB_TRUSR]";
private string _orderBy = "[編號]";
private string _select = "select " + _allFields;
private string _insert = "[姓名], [出生日期], [性別], [身份證字號], [電話], [手機], [電子郵件], [戶籍地址_郵編], [戶籍地址_縣市], [戶籍地址_鄉鎮市區], [戶籍地址_街道地址], [居住地址_郵編], [居住地址_縣市], [居住地址_鄉鎮市區], [居住地址_街道地址], [現職], [學歷], [授課區域], [授課專長領域], [授課經歷概述], [重要經歷], [重要研究與著作], [照片圖檔], [最高學歷], [最高學歷學校], [最高學歷科系], [合作狀態], [合作狀態說明], [合作方式], [證照資料], [異常標註], [講師來源], [推薦授課主題], [備註], [DB_APPNO], [DB_CRDAT], [DB_CRUSR], [DB_TRDAT], [DB_TRUSR]";
private string _insertBak = "[編號], [姓名], [出生日期], [性別], [身份證字號], [電話], [手機], [電子郵件], [戶籍地址_郵編], [戶籍地址_縣市], [戶籍地址_鄉鎮市區], [戶籍地址_街道地址], [居住地址_郵編], [居住地址_縣市], [居住地址_鄉鎮市區], [居住地址_街道地址], [現職], [學歷], [授課區域], [授課專長領域], [授課經歷概述], [重要經歷], [重要研究與著作], [照片圖檔], [最高學歷], [最高學歷學校], [最高學歷科系], [合作狀態], [合作狀態說明], [合作方式], [證照資料], [異常標註], [講師來源], [推薦授課主題], [備註], [DB_APPNO], [DB_CRDAT], [DB_CRUSR], [DB_TRDAT], [DB_TRUSR], [DB_TRMOD]";
private string _insertValue = "@姓名, @出生日期, @性別, @身份證字號, @電話, @手機, @電子郵件, @戶籍地址_郵編, @戶籍地址_縣市, @戶籍地址_鄉鎮市區, @戶籍地址_街道地址, @居住地址_郵編, @居住地址_縣市, @居住地址_鄉鎮市區, @居住地址_街道地址, @現職, @學歷, @授課區域, @授課專長領域, @授課經歷概述, @重要經歷, @重要研究與著作, @照片圖檔, @最高學歷, @最高學歷學校, @最高學歷科系, @合作狀態, @合作狀態說明, @合作方式, @證照資料, @異常標註, @講師來源, @推薦授課主題, @備註, @DB_APPNO, @DB_CRDAT, @DB_CRUSR, @DB_TRDAT, @DB_TRUSR";
private string _insertBakValue = "@編號, @姓名, @出生日期, @性別, @身份證字號, @電話, @手機, @電子郵件, @戶籍地址_郵編, @戶籍地址_縣市, @戶籍地址_鄉鎮市區, @戶籍地址_街道地址, @居住地址_郵編, @居住地址_縣市, @居住地址_鄉鎮市區, @居住地址_街道地址, @現職, @學歷, @授課區域, @授課專長領域, @授課經歷概述, @重要經歷, @重要研究與著作, @照片圖檔, @最高學歷, @最高學歷學校, @最高學歷科系, @合作狀態, @合作狀態說明, @合作方式, @證照資料, @異常標註, @講師來源, @推薦授課主題, @備註, @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 編號)
{
講師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;
}
///<summary>
/// 給查詢畫面用的增加 Where 條件的方法
///</summary>
private void AddWhere(DbCommand cmdSelect, ref bool noInput, string 姓名, string 電話, string 手機)
{
if (姓名 != null && 姓名.Length > 0)
{
noInput = false;
cmdSelect.CommandText += " and 姓名 like @姓名 ";
AddParam(cmdSelect, "姓名", "%" + 姓名 + "%");
}
if (電話 != null && 電話.Length > 0)
{
noInput = false;
cmdSelect.CommandText += " and 電話 like @電話 ";
AddParam(cmdSelect, "電話", "%" + 電話 + "%");
}
if (手機 != null && 手機.Length > 0)
{
noInput = false;
cmdSelect.CommandText += " and 手機 like @手機 ";
AddParam(cmdSelect, "手機", "%" + 手機 + "%");
}
}
///<summary>
/// 給查詢畫面用的 Select 方法
///</summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public 講師List Select(bool noInputReturnAll, string 姓名, string 電話, string 手機, string orderBy = "")
{
講師List result = new 講師List();
bool noInput = true;
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where;
AddWhere(cmdSelect, ref noInput, 姓名, 電話, 手機);
cmdSelect.CommandText += (orderBy == null || orderBy.Length == 0 ? _order : " order by " + orderBy);
if (!noInputReturnAll && noInput)
return result;
Select(cmdSelect, ref list);
return result;
}
///<summary>
/// 給查詢畫面用的 SelectCount 方法
///</summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public int SelectCount(bool noInputReturnAll, string 姓名, string 電話, string 手機, string orderBy = "")
{
bool noInput = true;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = "select count(1) " + _from + _where;
AddWhere(cmdSelect, ref noInput, 姓名, 電話, 手機);
if (!noInputReturnAll && noInput)
return 0;
int i;
ExecuteScalar(cmdSelect, out i);
return i;
}
///<summary>
/// 給查詢畫面用的 SelectPage 方法
///</summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public 講師List SelectPage(bool noInputReturnAll, int startRowIndex, int maximumRows, string 姓名, string 電話, string 手機, string orderBy = "")
{
講師List result = new 講師List();
bool noInput = true;
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;
AddWhere(cmdSelect, ref noInput, 姓名, 電話, 手機);
cmdSelect.CommandText += ") as TMP1 where rowid > @startRowIndex ";
AddParam(cmdSelect, "startRowIndex", startRowIndex);
if (!noInputReturnAll && noInput)
return result;
Select(cmdSelect, ref list);
return result;
}
[DataObjectMethod(DataObjectMethodType.Insert)]
public 講師 InsertOne(講師 value)
{
using (TransactionScope ts = DAC.NewTransactionScope())
{
try
{
if (!BeforeInsertOne(value))
return value;
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, "重要研究與著作", 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.Now);
AddParam(cmdInsert, "DB_CRUSR", CurrentUserId);
AddParam(cmdInsert, "DB_TRDAT", DBNull.Value);
AddParam(cmdInsert, "DB_TRUSR", DBNull.Value);
int newId;
ExecuteScalar(cmdInsert, out newId);
value.編號 = newId;
AfterInsertOne(value);
ts.Complete();
}
catch (Exception error)
{
bool handled;
OnInsertOneError(error, out handled);
if (!handled)
throw error;
}
return value;
}
}
[DataObjectMethod(DataObjectMethodType.Update)]
public 講師 UpdateOne(講師 value)
{
using (TransactionScope ts = DAC.NewTransactionScope())
{
try
{
if (!BeforeUpdateOne(value))
return value;
講師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, "照片圖檔", 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.Now);
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
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 講師 UpdateOne(講師 value, 講師 original_value)
{
using (TransactionScope ts = DAC.NewTransactionScope())
{
try
{
if (!BeforeUpdateOne(value, original_value))
return value;
講師List oldValues = SelectOne(original_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, "照片圖檔", 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.Now);
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
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 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("在刪除 \"講師\" 資料表時發生並行例外:找不到要刪除的資料列");
}
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 = DAC.NewTransactionScope())
{
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>
[Serializable]
public partial class 講師List : List<講師>, IDataList
{
public void Fill(DbDataReader reader)
{
DAC.FillData<講師>(reader, this);
}
//public void Fill(DbDataReader reader)
//{
// while (reader.Read())
// {
// 講師 newItem = new 講師();
// newItem.編號 = DAC.GetInt32(reader[0]);
// newItem.姓名 = DAC.GetString(reader[1]);
// newItem.出生日期 = DAC.GetDateTime(reader[2]);
// newItem.性別 = DAC.GetString(reader[3]);
// newItem.身份證字號 = DAC.GetString(reader[4]);
// newItem.電話 = DAC.GetString(reader[5]);
// newItem.手機 = DAC.GetString(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.GetString(reader[12]);
// newItem.居住地址_縣市 = DAC.GetString(reader[13]);
// newItem.居住地址_鄉鎮市區 = DAC.GetString(reader[14]);
// newItem.居住地址_街道地址 = DAC.GetString(reader[15]);
// newItem.現職 = DAC.GetString(reader[16]);
// newItem.最高學歷 = DAC.GetString(reader[17]);
// newItem.最高學歷學校 = DAC.GetString(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.照片圖檔 = DAC.GetString(reader[25]);
// newItem.合作狀態 = DAC.GetString(reader[26]);
// newItem.合作狀態說明 = DAC.GetString(reader[27]);
// newItem.合作方式 = DAC.GetString(reader[28]);
// newItem.證照資料 = DAC.GetString(reader[29]);
// newItem.異常標註 = DAC.GetString(reader[30]);
// newItem.講師來源 = DAC.GetString(reader[31]);
// newItem.推薦授課主題 = DAC.GetString(reader[32]);
// newItem.DB_APPNO = DAC.GetInt32(reader[33]);
// newItem.DB_CRDAT = DAC.GetDateTime(reader[34]);
// newItem.DB_CRUSR = DAC.GetString(reader[35]);
// newItem.DB_TRDAT = DAC.GetDateTime(reader[36]);
// newItem.DB_TRUSR = DAC.GetString(reader[37]);
// //newItem.編號 = DAC.GetInt32(reader[0]);
// //newItem.姓名 = DAC.GetString(reader[1]);
// //newItem.出生日期 = DAC.GetDateTime(reader[2]);
// //newItem.性別 = DAC.GetString(reader[3]);
// //newItem.身份證字號 = DAC.GetString(reader[4]);
// //newItem.電話 = DAC.GetString(reader[5]);
// //newItem.手機 = DAC.GetString(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.GetString(reader[12]);
// //newItem.居住地址_縣市 = DAC.GetString(reader[13]);
// //newItem.居住地址_鄉鎮市區 = DAC.GetString(reader[14]);
// //newItem.居住地址_街道地址 = DAC.GetString(reader[15]);
// //newItem.現職 = DAC.GetString(reader[16]);
// //newItem.最高學歷 = DAC.GetString(reader[17]);
// //newItem.最高學歷學校 = DAC.GetString(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.照片圖檔 = DAC.GetString(reader[25]);
// //newItem.DB_APPNO = DAC.GetInt32(reader[26]);
// //newItem.DB_CRDAT = DAC.GetDateTime(reader[27]);
// //newItem.DB_CRUSR = DAC.GetString(reader[28]);
// //newItem.DB_TRDAT = DAC.GetDateTime(reader[29]);
// //newItem.DB_TRUSR = DAC.GetString(reader[30]);
// Add(newItem);
// }
//}
}
///<summary>
/// 講師 資料紀錄類別
///</summary>
[Serializable]
public partial class 講師 : DataItemBase
{
private int _編號;
private string _姓名;
private DateTime? _出生日期;
private string _性別;
private string _身份證字號;
private string _電話;
private string _手機;
private string _電子郵件;
private string _戶籍地址_郵編;
private string _戶籍地址_縣市;
private string _戶籍地址_鄉鎮市區;
private string _戶籍地址_街道地址;
private string _居住地址_郵編;
private string _居住地址_縣市;
private string _居住地址_鄉鎮市區;
private string _居住地址_街道地址;
private string _現職;
private string _最高學歷;
private string _最高學歷學校;
private string _最高學歷科系;
private string _授課區域;
private string _授課專長領域;
private string _授課經歷概述;
private string _重要經歷;
private string _重要研究與著作;
private string _照片圖檔;
private string _合作狀態;
private string _合作狀態說明;
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, 30)]
public string 姓名
{
get
{
return _姓名;
}
set
{
if (value != _姓名)
{
_姓名 = value;
OnPropertyChanged("姓名");
}
}
}
///<summary>
/// 出生日期
///</summary>
[DataObjectField(false, false, true)]
public DateTime? 出生日期
{
get
{
return _出生日期;
}
set
{
if (value != _出生日期)
{
_出生日期 = value;
OnPropertyChanged("出生日期");
}
}
}
///<summary>
/// 性別,M=男、F=女
///</summary>
[DataObjectField(false, false, true, 1)]
public string 性別
{
get
{
return _性別;
}
set
{
if (value != _性別)
{
_性別 = value;
OnPropertyChanged("性別");
}
}
}
///<summary>
/// 身份證字號
///</summary>
[DataObjectField(false, false, true, 12)]
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, 100)]
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, 10)]
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, 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, 10)]
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, 500)]
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, 200)]
public string 最高學歷學校
{
get
{
return _最高學歷學校;
}
set
{
if (value != _最高學歷學校)
{
_最高學歷學校 = value;
OnPropertyChanged("最高學歷學校");
}
}
}
///<summary>
/// 最高學歷科系
///</summary>
[DataObjectField(false, false, true, 200)]
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, 2000)]
public string 授課專長領域
{
get
{
return _授課專長領域;
}
set
{
if (value != _授課專長領域)
{
_授課專長領域 = value;
OnPropertyChanged("授課專長領域");
}
}
}
///<summary>
/// 授課經歷概述
///</summary>
[DataObjectField(false, false, true, 2000)]
public string 授課經歷概述
{
get
{
return _授課經歷概述;
}
set
{
if (value != _授課經歷概述)
{
_授課經歷概述 = value;
OnPropertyChanged("授課經歷概述");
}
}
}
///<summary>
/// 重要經歷
///</summary>
[DataObjectField(false, false, true, 2000)]
public string 重要經歷
{
get
{
return _重要經歷;
}
set
{
if (value != _重要經歷)
{
_重要經歷 = value;
OnPropertyChanged("重要經歷");
}
}
}
///<summary>
/// 重要研究與著作
///</summary>
[DataObjectField(false, false, true, 2000)]
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, 1)]
public string 合作狀態
{
get
{
return _合作狀態;
}
set
{
if (value != _合作狀態)
{
_合作狀態 = value;
OnPropertyChanged("合作狀態");
}
}
}
///<summary>
/// 合作狀態說明
///</summary>
[DataObjectField(false, false, true, 2000)]
public string 合作狀態說明
{
get
{
return _合作狀態說明;
}
set
{
if (value != _合作狀態說明)
{
_合作狀態說明 = value;
OnPropertyChanged("合作狀態說明");
}
}
}
///<summary>
/// 合作方式
///</summary>
[DataObjectField(false, false, true, 2000)]
public string 合作方式
{
get
{
return _合作方式;
}
set
{
if (value != _合作方式)
{
_合作方式 = value;
OnPropertyChanged("合作方式");
}
}
}
///<summary>
/// 證照資料
///</summary>
[DataObjectField(false, false, true, 2000)]
public string 證照資料
{
get
{
return _證照資料;
}
set
{
if (value != _證照資料)
{
_證照資料 = value;
OnPropertyChanged("證照資料");
}
}
}
///<summary>
/// 異常標註
///</summary>
[DataObjectField(false, false, true, 2000)]
public string 異常標註
{
get
{
return _異常標註;
}
set
{
if (value != _異常標註)
{
_異常標註 = value;
OnPropertyChanged("異常標註");
}
}
}
///<summary>
/// 講師來源
///</summary>
[DataObjectField(false, false, true, 2000)]
public string 講師來源
{
get
{
return _講師來源;
}
set
{
if (value != _講師來源)
{
_講師來源 = value;
OnPropertyChanged("講師來源");
}
}
}
///<summary>
/// 推薦授課主題
///</summary>
[DataObjectField(false, false, true, 2000)]
public string 推薦授課主題
{
get
{
return _推薦授課主題;
}
set
{
if (value != _推薦授課主題)
{
_推薦授課主題 = value;
OnPropertyChanged("推薦授課主題");
}
}
}
///<summary>
/// 備註
///</summary>
[DataObjectField(false, false, true, 2000)]
public string 備註
{
get
{
return _備註;
}
set
{
if (value != _備註)
{
_備註 = value;
OnPropertyChanged("備註");
}
}
}
#endregion
}
}