chore: 首次簽入 Thinkyu ASP.NET 專案

- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
2026-09-10 09:42:37 +08:00
commit 577060bc78
2496 changed files with 501389 additions and 0 deletions
@@ -0,0 +1,927 @@
//
// 這個檔案是 教學日誌 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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 課程企劃編號, 課程序號, 填表日期, 填表人員, 應到人數, 實到人數, 缺席人數, 教學概要, 學員反應, 異常情形, 處理經過與結果, 課程執行觀察_01, 課程執行觀察_02, 課程執行觀察_03, 課程執行觀察_04, 課程執行觀察_05, 課程執行觀察_06, 課程執行觀察_07, 課程執行觀察_08, 課程執行觀察說明_01, 課程觀察紀錄_1, 課程觀察紀錄_2, 有無異常事項, 是否需後續追蹤, 追蹤事項, 處理結果追蹤, DB_APPNO, DB_CRDAT, DB_CRUSR, DB_TRDAT, DB_TRUSR";
private string _insert = "課程企劃編號, 課程序號, 填表日期, 填表人員, 應到人數, 實到人數, 缺席人數, 教學概要, 學員反應, 異常情形, 處理經過與結果, 課程執行觀察_01, 課程執行觀察_02, 課程執行觀察_03, 課程執行觀察_04, 課程執行觀察_05, 課程執行觀察_06, 課程執行觀察_07, 課程執行觀察_08, 課程執行觀察說明_01, 課程觀察紀錄_1, 課程觀察紀錄_2, 有無異常事項, 是否需後續追蹤, 追蹤事項, 處理結果追蹤, DB_APPNO, DB_CRDAT, DB_CRUSR, DB_TRDAT, DB_TRUSR";
private string _insertValue = "@課程企劃編號, @課程序號, @填表日期, @填表人員, @應到人數, @實到人數, @缺席人數, @教學概要, @學員反應, @異常情形, @處理經過與結果, @課程執行觀察_01, @課程執行觀察_02, @課程執行觀察_03, @課程執行觀察_04, @課程執行觀察_05, @課程執行觀察_06, @課程執行觀察_07, @課程執行觀察_08, @課程執行觀察說明_01, @課程觀察紀錄_1, @課程觀察紀錄_2, @有無異常事項, @是否需後續追蹤, @追蹤事項, @處理結果追蹤, @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 , 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 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, "課程序號", 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, "課程執行觀察_01", value._01);
AddParam(cmdInsert, "課程執行觀察_02", value._02);
AddParam(cmdInsert, "課程執行觀察_03", value._03);
AddParam(cmdInsert, "課程執行觀察_04", value._04);
AddParam(cmdInsert, "課程執行觀察_05", value._05);
AddParam(cmdInsert, "課程執行觀察_06", value._06);
AddParam(cmdInsert, "課程執行觀察_07", value._07);
AddParam(cmdInsert, "課程執行觀察_08", value._08);
AddParam(cmdInsert, "課程執行觀察說明_01", value._01);
AddParam(cmdInsert, "課程觀察紀錄_1", value._1);
AddParam(cmdInsert, "課程觀察紀錄_2", value._2);
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);
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., value.);
if (oldValues.Count == 0 || oldValues[0].DB_APPNO != value.DB_APPNO)
{
throw new DBConcurrencyException("在更新 \"教學日誌\" 資料表時發生並行例外:找不到要更新的資料列");
}
DbCommand cmdUpdate = NewCommand();
cmdUpdate.CommandText =
@"update 教學日誌
set
填表日期 = @填表日期 ,
填表人員 = @填表人員 ,
應到人數 = @應到人數 ,
實到人數 = @實到人數 ,
缺席人數 = @缺席人數 ,
教學概要 = @教學概要 ,
學員反應 = @學員反應 ,
異常情形 = @異常情形 ,
處理經過與結果 = @處理經過與結果 ,
課程執行觀察_01 = @課程執行觀察_01 ,
課程執行觀察_02 = @課程執行觀察_02 ,
課程執行觀察_03 = @課程執行觀察_03 ,
課程執行觀察_04 = @課程執行觀察_04 ,
課程執行觀察_05 = @課程執行觀察_05 ,
課程執行觀察_06 = @課程執行觀察_06 ,
課程執行觀察_07 = @課程執行觀察_07 ,
課程執行觀察_08 = @課程執行觀察_08 ,
課程執行觀察說明_01 = @課程執行觀察說明_01 ,
課程觀察紀錄_1 = @課程觀察紀錄_1 ,
課程觀察紀錄_2 = @課程觀察紀錄_2 ,
有無異常事項 = @有無異常事項 ,
是否需後續追蹤 = @是否需後續追蹤 ,
追蹤事項 = @追蹤事項 ,
處理結果追蹤 = @處理結果追蹤 ,
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, "應到人數", value.);
AddParam(cmdUpdate, "實到人數", value.);
AddParam(cmdUpdate, "缺席人數", value.);
AddParam(cmdUpdate, "教學概要", value.);
AddParam(cmdUpdate, "學員反應", value.);
AddParam(cmdUpdate, "異常情形", value.);
AddParam(cmdUpdate, "處理經過與結果", value.);
AddParam(cmdUpdate, "課程執行觀察_01", value._01);
AddParam(cmdUpdate, "課程執行觀察_02", value._02);
AddParam(cmdUpdate, "課程執行觀察_03", value._03);
AddParam(cmdUpdate, "課程執行觀察_04", value._04);
AddParam(cmdUpdate, "課程執行觀察_05", value._05);
AddParam(cmdUpdate, "課程執行觀察_06", value._06);
AddParam(cmdUpdate, "課程執行觀察_07", value._07);
AddParam(cmdUpdate, "課程執行觀察_08", value._08);
AddParam(cmdUpdate, "課程執行觀察說明_01", value._01);
AddParam(cmdUpdate, "課程觀察紀錄_1", value._1);
AddParam(cmdUpdate, "課程觀察紀錄_2", value._2);
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_課程序號", 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 , 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 課程序號 = @課程序號
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( value)
{
using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
{
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("在刪除 \"教學日誌\" 資料表時發生並行例外:找不到要刪除的資料列");
}
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;
}
}
///<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.GetInt32(reader[1]);
newItem. = DAC.GetDateTime(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._01 = DAC.GetString(reader[11]);
newItem._02 = DAC.GetString(reader[12]);
newItem._03 = DAC.GetString(reader[13]);
newItem._04 = DAC.GetString(reader[14]);
newItem._05 = DAC.GetString(reader[15]);
newItem._06 = DAC.GetString(reader[16]);
newItem._07 = DAC.GetString(reader[17]);
newItem._08 = DAC.GetString(reader[18]);
newItem._01 = DAC.GetString(reader[19]);
newItem._1 = DAC.GetString(reader[20]);
newItem._2 = 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 int _課程序號;
private DateTime _填表日期;
private string _填表人員;
private int _應到人數;
private int _實到人數;
private int _缺席人數;
private string _教學概要;
private string _學員反應;
private string _異常情形;
private string _處理經過與結果;
private string _課程執行觀察_01;
private string _課程執行觀察_02;
private string _課程執行觀察_03;
private string _課程執行觀察_04;
private string _課程執行觀察_05;
private string _課程執行觀察_06;
private string _課程執行觀察_07;
private string _課程執行觀察_08;
private string _課程執行觀察說明_01;
private string _課程觀察紀錄_1;
private string _課程觀察紀錄_2;
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(true, false, false)]
public int
{
get
{
return _課程序號;
}
set
{
if (value != _課程序號)
{
_課程序號 = value;
OnPropertyChanged("課程序號");
}
}
}
///<summary>
/// 填表日期
///</summary>
[DataObjectField(false, false, true)]
public DateTime
{
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, 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>
/// 課程執行觀察_01
///</summary>
[DataObjectField(false, false, true, 1)]
public string _01
{
get
{
return _課程執行觀察_01;
}
set
{
if (value != _課程執行觀察_01)
{
_課程執行觀察_01 = value;
OnPropertyChanged("課程執行觀察_01");
}
}
}
///<summary>
/// 課程執行觀察_02
///</summary>
[DataObjectField(false, false, true, 1)]
public string _02
{
get
{
return _課程執行觀察_02;
}
set
{
if (value != _課程執行觀察_02)
{
_課程執行觀察_02 = value;
OnPropertyChanged("課程執行觀察_02");
}
}
}
///<summary>
/// 課程執行觀察_03
///</summary>
[DataObjectField(false, false, true, 1)]
public string _03
{
get
{
return _課程執行觀察_03;
}
set
{
if (value != _課程執行觀察_03)
{
_課程執行觀察_03 = value;
OnPropertyChanged("課程執行觀察_03");
}
}
}
///<summary>
/// 課程執行觀察_04
///</summary>
[DataObjectField(false, false, true, 1)]
public string _04
{
get
{
return _課程執行觀察_04;
}
set
{
if (value != _課程執行觀察_04)
{
_課程執行觀察_04 = value;
OnPropertyChanged("課程執行觀察_04");
}
}
}
///<summary>
/// 課程執行觀察_05
///</summary>
[DataObjectField(false, false, true, 1)]
public string _05
{
get
{
return _課程執行觀察_05;
}
set
{
if (value != _課程執行觀察_05)
{
_課程執行觀察_05 = value;
OnPropertyChanged("課程執行觀察_05");
}
}
}
///<summary>
/// 課程執行觀察_06
///</summary>
[DataObjectField(false, false, true, 1)]
public string _06
{
get
{
return _課程執行觀察_06;
}
set
{
if (value != _課程執行觀察_06)
{
_課程執行觀察_06 = value;
OnPropertyChanged("課程執行觀察_06");
}
}
}
///<summary>
/// 課程執行觀察_07
///</summary>
[DataObjectField(false, false, true, 1)]
public string _07
{
get
{
return _課程執行觀察_07;
}
set
{
if (value != _課程執行觀察_07)
{
_課程執行觀察_07 = value;
OnPropertyChanged("課程執行觀察_07");
}
}
}
///<summary>
/// 課程執行觀察_08
///</summary>
[DataObjectField(false, false, true, 1)]
public string _08
{
get
{
return _課程執行觀察_08;
}
set
{
if (value != _課程執行觀察_08)
{
_課程執行觀察_08 = value;
OnPropertyChanged("課程執行觀察_08");
}
}
}
///<summary>
/// 課程執行觀察說明_01
///</summary>
[DataObjectField(false, false, true, 200)]
public string _01
{
get
{
return _課程執行觀察說明_01;
}
set
{
if (value != _課程執行觀察說明_01)
{
_課程執行觀察說明_01 = value;
OnPropertyChanged("課程執行觀察說明_01");
}
}
}
///<summary>
/// 課程觀察紀錄_1
///</summary>
[DataObjectField(false, false, true, 200)]
public string _1
{
get
{
return _課程觀察紀錄_1;
}
set
{
if (value != _課程觀察紀錄_1)
{
_課程觀察紀錄_1 = value;
OnPropertyChanged("課程觀察紀錄_1");
}
}
}
///<summary>
/// 課程觀察紀錄_2
///</summary>
[DataObjectField(false, false, true, 200)]
public string _2
{
get
{
return _課程觀察紀錄_2;
}
set
{
if (value != _課程觀察紀錄_2)
{
_課程觀察紀錄_2 = value;
OnPropertyChanged("課程觀察紀錄_2");
}
}
}
///<summary>
/// 有無異常事項
///</summary>
[DataObjectField(false, false, true, 1)]
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("處理結果追蹤");
}
}
}
#endregion
}
}