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,400 @@
//
// 這個檔案是 場地異動 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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 , 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, "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
異動日期 = @異動日期 ,
場地編號 = @場地編號 ,
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, "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.GetInt32(reader[3]);
newItem. = DAC.GetString(reader[4]);
newItem.DB_APPNO = DAC.GetInt32(reader[5]);
newItem.DB_CRDAT = DAC.GetDateTime(reader[6]);
newItem.DB_CRUSR = DAC.GetString(reader[7]);
newItem.DB_TRDAT = DAC.GetDateTime(reader[8]);
newItem.DB_TRUSR = DAC.GetString(reader[9]);
Add(newItem);
}
}
}
///<summary>
/// 場地異動 資料紀錄類別
///</summary>
[Serializable]
public partial class : DataItemBase
{
private int _課程企劃編號;
private int _異動次數;
private DateTime _異動日期;
private int _場地編號;
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)]
public int
{
get
{
return _場地編號;
}
set
{
if (value != _場地編號)
{
_場地編號 = value;
OnPropertyChanged("場地編號");
}
}
}
///<summary>
/// 場地名稱
///</summary>
[DataObjectField(false, false, true, 100)]
public string
{
get
{
return _場地名稱;
}
set
{
if (value != _場地名稱)
{
_場地名稱 = value;
OnPropertyChanged("場地名稱");
}
}
}
#endregion
}
}
@@ -0,0 +1,179 @@
//
// 這個檔案是 場地異動 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using WebLib;
using System.Data.SqlClient;
namespace Education
{
///<summary>
/// 場地異動 資料存取類別
///</summary>
public partial class DAC_場地異動 : WebLib.DAC
{
#region
///<summary>
/// InsertOne 之前會執行此方法
/// 在這裡可以做一些檢查或是自動編號等動作
/// 回傳 false 會打斷 InsertOne 的執行
///</summary>
protected virtual bool BeforeInsertOne( value)
{
value. = DateTime.UtcNow.AddHours(8);
value. = Next異動次數(value.);
return true;
}
///<summary>
/// InsertOne 之後會執行此方法
///</summary>
protected virtual void AfterInsertOne( value)
{
}
///<summary>
/// InsertOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnInsertOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///</summary>
protected virtual bool BeforeUpdateOne( value)
{
return true;
}
///<summary>
/// UpdateOne 之後會執行此方法
///</summary>
protected virtual void AfterUpdateOne( value)
{
}
///<summary>
/// UpdateOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnUpdateOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne( value)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne( value)
{
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne(int , int , int DB_APPNO)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(int , int , int DB_APPNO)
{
}
///<summary>
/// DeleteOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
#endregion
// 有另外加上去的屬性及方法,請加在這裡
private int Next異動次數(int )
{
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = "select isnull(max(異動次數), 0) + 1 from " + _tableName
+ " where 課程企劃編號 = @課程企劃編號 "
;
AddParam(cmdSelect, "課程企劃編號", );
int i;
ExecuteScalar(cmdSelect, out i);
return i;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public List Select異動(int )
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where
+ " and 課程企劃編號 = @課程企劃編號 "
+ " order by 異動次數 "
;
AddParam(cmdSelect, "課程企劃編號", );
Select(cmdSelect, ref list);
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public List Select最後異動(int )
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = "select top 1 " + _insert + _from + _where
+ " and 課程企劃編號 = @課程企劃編號 "
+ " order by 異動次數 desc"
;
AddParam(cmdSelect, "課程企劃編號", );
Select(cmdSelect, ref list);
return result;
}
}
///<summary>
/// 場地異動 資料集合類別
///</summary>
public partial class List : List<>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 場地異動 資料紀錄類別
///</summary>
public partial class
{
// 有另外加上去的屬性及方法,請加在這裡
}
}
@@ -0,0 +1,969 @@
//
// 這個檔案是 場地遴選 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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 課程企劃編號, 場地編號_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;
}
}
///<summary>
/// 場地遴選 資料集合類別
///</summary>
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);
}
}
}
///<summary>
/// 場地遴選 資料紀錄類別
///</summary>
[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
///<summary>
/// 課程企劃編號
///</summary>
[DataObjectField(true, false, false)]
public int
{
get
{
return _課程企劃編號;
}
set
{
if (value != _課程企劃編號)
{
_課程企劃編號 = value;
OnPropertyChanged("課程企劃編號");
}
}
}
///<summary>
/// 場地編號_A
///</summary>
[DataObjectField(false, false, true)]
public int _A
{
get
{
return _場地編號_A;
}
set
{
if (value != _場地編號_A)
{
_場地編號_A = value;
OnPropertyChanged("場地編號_A");
}
}
}
///<summary>
/// 場地名稱_A
///</summary>
[DataObjectField(false, false, true, 200)]
public string _A
{
get
{
return _場地名稱_A;
}
set
{
if (value != _場地名稱_A)
{
_場地名稱_A = value;
OnPropertyChanged("場地名稱_A");
}
}
}
///<summary>
/// 安全舒適_A
///</summary>
[DataObjectField(false, false, true)]
public int _A
{
get
{
return _安全舒適_A;
}
set
{
if (value != _安全舒適_A)
{
_安全舒適_A = value;
OnPropertyChanged("安全舒適_A");
}
}
}
///<summary>
/// 空間大小_A
///</summary>
[DataObjectField(false, false, true)]
public int _A
{
get
{
return _空間大小_A;
}
set
{
if (value != _空間大小_A)
{
_空間大小_A = value;
OnPropertyChanged("空間大小_A");
}
}
}
///<summary>
/// 價格合理_A
///</summary>
[DataObjectField(false, false, true)]
public int _A
{
get
{
return _價格合理_A;
}
set
{
if (value != _價格合理_A)
{
_價格合理_A = value;
OnPropertyChanged("價格合理_A");
}
}
}
///<summary>
/// 交通便利_A
///</summary>
[DataObjectField(false, false, true)]
public int 便_A
{
get
{
return _交通便利_A;
}
set
{
if (value != _交通便利_A)
{
_交通便利_A = value;
OnPropertyChanged("交通便利_A");
}
}
}
///<summary>
/// 設備完善_A
///</summary>
[DataObjectField(false, false, true)]
public int _A
{
get
{
return _設備完善_A;
}
set
{
if (value != _設備完善_A)
{
_設備完善_A = value;
OnPropertyChanged("設備完善_A");
}
}
}
///<summary>
/// 合計_A
///</summary>
[DataObjectField(false, false, true)]
public int _A
{
get
{
return _合計_A;
}
set
{
if (value != _合計_A)
{
_合計_A = value;
OnPropertyChanged("合計_A");
}
}
}
///<summary>
/// 場地編號_B
///</summary>
[DataObjectField(false, false, true)]
public int _B
{
get
{
return _場地編號_B;
}
set
{
if (value != _場地編號_B)
{
_場地編號_B = value;
OnPropertyChanged("場地編號_B");
}
}
}
///<summary>
/// 場地名稱_B
///</summary>
[DataObjectField(false, false, true, 200)]
public string _B
{
get
{
return _場地名稱_B;
}
set
{
if (value != _場地名稱_B)
{
_場地名稱_B = value;
OnPropertyChanged("場地名稱_B");
}
}
}
///<summary>
/// 安全舒適_B
///</summary>
[DataObjectField(false, false, true)]
public int _B
{
get
{
return _安全舒適_B;
}
set
{
if (value != _安全舒適_B)
{
_安全舒適_B = value;
OnPropertyChanged("安全舒適_B");
}
}
}
///<summary>
/// 空間大小_B
///</summary>
[DataObjectField(false, false, true)]
public int _B
{
get
{
return _空間大小_B;
}
set
{
if (value != _空間大小_B)
{
_空間大小_B = value;
OnPropertyChanged("空間大小_B");
}
}
}
///<summary>
/// 價格合理_B
///</summary>
[DataObjectField(false, false, true)]
public int _B
{
get
{
return _價格合理_B;
}
set
{
if (value != _價格合理_B)
{
_價格合理_B = value;
OnPropertyChanged("價格合理_B");
}
}
}
///<summary>
/// 交通便利_B
///</summary>
[DataObjectField(false, false, true)]
public int 便_B
{
get
{
return _交通便利_B;
}
set
{
if (value != _交通便利_B)
{
_交通便利_B = value;
OnPropertyChanged("交通便利_B");
}
}
}
///<summary>
/// 設備完善_B
///</summary>
[DataObjectField(false, false, true)]
public int _B
{
get
{
return _設備完善_B;
}
set
{
if (value != _設備完善_B)
{
_設備完善_B = value;
OnPropertyChanged("設備完善_B");
}
}
}
///<summary>
/// 合計_B
///</summary>
[DataObjectField(false, false, true)]
public int _B
{
get
{
return _合計_B;
}
set
{
if (value != _合計_B)
{
_合計_B = value;
OnPropertyChanged("合計_B");
}
}
}
///<summary>
/// 場地編號_C
///</summary>
[DataObjectField(false, false, true)]
public int _C
{
get
{
return _場地編號_C;
}
set
{
if (value != _場地編號_C)
{
_場地編號_C = value;
OnPropertyChanged("場地編號_C");
}
}
}
///<summary>
/// 場地名稱_C
///</summary>
[DataObjectField(false, false, true, 200)]
public string _C
{
get
{
return _場地名稱_C;
}
set
{
if (value != _場地名稱_C)
{
_場地名稱_C = value;
OnPropertyChanged("場地名稱_C");
}
}
}
///<summary>
/// 安全舒適_C
///</summary>
[DataObjectField(false, false, true)]
public int _C
{
get
{
return _安全舒適_C;
}
set
{
if (value != _安全舒適_C)
{
_安全舒適_C = value;
OnPropertyChanged("安全舒適_C");
}
}
}
///<summary>
/// 空間大小_C
///</summary>
[DataObjectField(false, false, true)]
public int _C
{
get
{
return _空間大小_C;
}
set
{
if (value != _空間大小_C)
{
_空間大小_C = value;
OnPropertyChanged("空間大小_C");
}
}
}
///<summary>
/// 價格合理_C
///</summary>
[DataObjectField(false, false, true)]
public int _C
{
get
{
return _價格合理_C;
}
set
{
if (value != _價格合理_C)
{
_價格合理_C = value;
OnPropertyChanged("價格合理_C");
}
}
}
///<summary>
/// 交通便利_C
///</summary>
[DataObjectField(false, false, true)]
public int 便_C
{
get
{
return _交通便利_C;
}
set
{
if (value != _交通便利_C)
{
_交通便利_C = value;
OnPropertyChanged("交通便利_C");
}
}
}
///<summary>
/// 設備完善_C
///</summary>
[DataObjectField(false, false, true)]
public int _C
{
get
{
return _設備完善_C;
}
set
{
if (value != _設備完善_C)
{
_設備完善_C = value;
OnPropertyChanged("設備完善_C");
}
}
}
///<summary>
/// 合計_C
///</summary>
[DataObjectField(false, false, true)]
public int _C
{
get
{
return _合計_C;
}
set
{
if (value != _合計_C)
{
_合計_C = value;
OnPropertyChanged("合計_C");
}
}
}
///<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)]
public int
{
get
{
return _選定場地;
}
set
{
if (value != _選定場地)
{
_選定場地 = value;
OnPropertyChanged("選定場地");
}
}
}
#endregion
}
}
@@ -0,0 +1,325 @@
//
// 這個檔案是 場地遴選 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using WebLib;
using System.Data.SqlClient;
namespace Education
{
///<summary>
/// 場地遴選 資料存取類別
///</summary>
public partial class DAC_場地遴選 : WebLib.DAC
{
///<summary>
/// 給查詢畫面用的 Select 方法
///</summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public List Select()
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where;
cmdSelect.CommandText += _order;
Select(cmdSelect, ref list);
return result;
}
///<summary>
/// InsertOne 之前會執行此方法
/// 在這裡可以做一些檢查或是自動編號等動作
/// 回傳 false 會打斷 InsertOne 的執行
///</summary>
protected virtual bool BeforeInsertOne( value)
{
value._A = value._A + value._A + value._A + value.便_A + value._A;
value._B = value._B + value._B + value._B + value.便_B + value._B;
value._C = value._C + value._C + value._C + value.便_C + value._C;
return true;
}
///<summary>
/// InsertOne 之後會執行此方法
///</summary>
protected virtual void AfterInsertOne( value)
{
}
///<summary>
/// InsertOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnInsertOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///</summary>
protected virtual bool BeforeUpdateOne( value)
{
value._A = value._A + value._A + value._A + value.便_A + value._A;
value._B = value._B + value._B + value._B + value.便_B + value._B;
value._C = value._C + value._C + value._C + value.便_C + value._C;
return true;
}
///<summary>
/// UpdateOne 之後會執行此方法
///</summary>
protected virtual void AfterUpdateOne( value)
{
}
///<summary>
/// UpdateOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnUpdateOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne( value)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne( value)
{
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne(int , int DB_APPNO)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(int , int DB_APPNO)
{
}
///<summary>
/// DeleteOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
// 有另外加上去的屬性及方法,請加在這裡
public void UpdatePlace(int , string , int ,
int , int , int , int 便, int )
{
if (SelectOne().Count == 0)
{
newValue = new ();
newValue. = ;
newValue.DB_CRDAT = DateTime.UtcNow.AddHours(8);
newValue.DB_CRUSR = CurrentUserId;
InsertOne(newValue);
}
DbCommand cmdUpdate = NewCommand();
cmdUpdate.CommandText = String.Format(
"UPDATE " + _tableName
+ " SET 場地編號_{0} = @場地編號, "
+ " 安全舒適_{0} = @安全舒適, "
+ " 空間大小_{0} = @空間大小, "
+ " 價格合理_{0} = @價格合理, "
+ " 交通便利_{0} = @交通便利, "
+ " 設備完善_{0} = @設備完善, "
+ " 合計_{0} = @合計, "
+ " DB_APPNO = DB_APPNO + 1 , "
+ " DB_TRDAT = GetDate() , "
+ " DB_TRUSR = @DB_TRUSR "
+ " WHERE 課程企劃編號 = @課程企劃編號", );
AddParam(cmdUpdate, "場地編號", );
AddParam(cmdUpdate, "安全舒適", );
AddParam(cmdUpdate, "空間大小", );
AddParam(cmdUpdate, "價格合理", );
AddParam(cmdUpdate, "交通便利", 便);
AddParam(cmdUpdate, "設備完善", );
AddParam(cmdUpdate, "合計", + + + 便 + );
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
AddParam(cmdUpdate, "課程企劃編號", );
ExecuteNonQuery(cmdUpdate);
}
public void UpdateComment(int , string , string )
{
if (SelectOne().Count == 0)
{
newValue = new ();
newValue. = ;
newValue.DB_CRDAT = DateTime.UtcNow.AddHours(8);
newValue.DB_CRUSR = CurrentUserId;
InsertOne(newValue);
}
DbCommand cmdUpdate = NewCommand();
cmdUpdate.CommandText =
"UPDATE " + _tableName
+ " SET 總評 = @總評 , "
+ " 備註 = @備註 , "
+ " DB_APPNO = DB_APPNO + 1 , "
+ " DB_TRDAT = GetDate() , "
+ " DB_TRUSR = @DB_TRUSR "
+ " WHERE 課程企劃編號 = @課程企劃編號";
AddParam(cmdUpdate, "總評", );
AddParam(cmdUpdate, "備註", );
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
AddParam(cmdUpdate, "課程企劃編號", );
ExecuteNonQuery(cmdUpdate);
}
public void ClearPlace(int , string )
{
if (SelectOne().Count == 0)
return;
DbCommand cmdUpdate = NewCommand();
cmdUpdate.CommandText = String.Format(
"UPDATE " + _tableName
+ " SET 場地編號_{0} = null, "
+ " 安全舒適_{0} = null, "
+ " 空間大小_{0} = null, "
+ " 價格合理_{0} = null, "
+ " 交通便利_{0} = null, "
+ " 設備完善_{0} = null, "
+ " 合計_{0} = null, "
+ " DB_APPNO = DB_APPNO + 1 , "
+ " DB_TRDAT = GetDate() , "
+ " DB_TRUSR = @DB_TRUSR "
+ " WHERE 課程企劃編號 = @課程企劃編號", );
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
AddParam(cmdUpdate, "課程企劃編號", );
ExecuteNonQuery(cmdUpdate);
}
public int DeleteBy課程企劃(int )
{
DbCommand cmdDelete = NewCommand();
cmdDelete.CommandText =
@"delete from 場地遴選
where 1=1
and 課程企劃編號 = @課程企劃編號";
AddParam(cmdDelete, "課程企劃編號", );
int rowsAffected = ExecuteNonQuery(cmdDelete);
return rowsAffected;
}
public int Select選定場地(int )
{
List d = SelectOne();
if (d.Count == 0)
return 0;
switch (d[0].)
{
case 1:
return d[0]._A;
case 2:
return d[0]._B;
case 3:
return d[0]._C;
default:
if (d[0]._A >= d[0]._B && d[0]._A >= d[0]._C)
return d[0]._A;
if (d[0]._B >= d[0]._A && d[0]._B >= d[0]._C)
return d[0]._B;
else
return d[0]._C;
}
}
public string Select選定場地名稱(int )
{
List d = SelectOne();
if (d.Count == 0)
return "";
int ;
string ;
switch (d[0].)
{
case 1:
= d[0]._A;
= d[0]._A;
break;
case 2:
= d[0]._B;
= d[0]._B;
break;
case 3:
= d[0]._C;
= d[0]._C;
break;
default:
if (d[0]._A >= d[0]._B && d[0]._A >= d[0]._C)
{
= d[0]._A;
= d[0]._A;
}
else if (d[0]._B >= d[0]._A && d[0]._B >= d[0]._C)
{
= d[0]._B;
= d[0]._B;
}
else
{
= d[0]._C;
= d[0]._C;
}
break;
}
if ( > 0)
return new DAC_場地(conn).Get場地名稱();
return ?? "";
}
}
///<summary>
/// 場地遴選 資料集合類別
///</summary>
public partial class List : List<>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 場地遴選 資料紀錄類別
///</summary>
public partial class
{
// 有另外加上去的屬性及方法,請加在這裡
}
}
@@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel;
using WebLib;
namespace Education
{
[DataObject]
public class DAC_教材評選綜合評估
{
public DAC_教材評選綜合評估()
{
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList SelectForList()
{
NameValueList result = new NameValueList();
result.Add("不符合目標", "1");
result.Add("符合目標", "2");
result.Add("符合目標且能引起學習興趣", "3");
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList SelectForDropDown()
{
NameValueList result = new NameValueList();
result.Add("(請選擇)", "");
result.Add("不符合目標", "1");
result.Add("符合目標", "2");
result.Add("符合目標且能引起學習興趣", "3");
return result;
}
public static string Get名稱(object id)
{
switch (DAC.GetString(id))
{
case "1":
return "不符合目標";
case "2":
return "符合目標";
case "3":
return "符合目標且能引起學習興趣";
default:
return "";
}
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,161 @@
//
// 這個檔案是 教材遴選 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using System.Linq;
using WebLib;
using System.Data.SqlClient;
namespace Education
{
///<summary>
/// 教材遴選 資料存取類別
///</summary>
public partial class DAC_教材遴選 : WebLib.DAC
{
#region
///<summary>
/// InsertOne 之前會執行此方法
/// 在這裡可以做一些檢查或是自動編號等動作
/// 回傳 false 會打斷 InsertOne 的執行
///</summary>
protected virtual bool BeforeInsertOne(Item value)
{
value._A = DAC.GetInt32(value._A) + DAC.GetInt32(value._A) + DAC.GetInt32(value._A) + DAC.GetInt32(value._A) + DAC.GetInt32(value._A);
value._B = DAC.GetInt32(value._B) + DAC.GetInt32(value._B) + DAC.GetInt32(value._B) + DAC.GetInt32(value._B) + DAC.GetInt32(value._B);
value._C = DAC.GetInt32(value._C) + DAC.GetInt32(value._C) + DAC.GetInt32(value._C) + DAC.GetInt32(value._C) + DAC.GetInt32(value._C);
return true;
}
///<summary>
/// InsertOne 之後會執行此方法
///</summary>
protected virtual void AfterInsertOne(Item value)
{
}
///<summary>
/// InsertOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnInsertOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///</summary>
protected virtual bool BeforeUpdateOne(Item value)
{
value._A = DAC.GetInt32(value._A) + DAC.GetInt32(value._A) + DAC.GetInt32(value._A) + DAC.GetInt32(value._A) + DAC.GetInt32(value._A);
value._B = DAC.GetInt32(value._B) + DAC.GetInt32(value._B) + DAC.GetInt32(value._B) + DAC.GetInt32(value._B) + DAC.GetInt32(value._B);
value._C = DAC.GetInt32(value._C) + DAC.GetInt32(value._C) + DAC.GetInt32(value._C) + DAC.GetInt32(value._C) + DAC.GetInt32(value._C);
return true;
}
///<summary>
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///</summary>
protected virtual bool BeforeUpdateOne(Item value, Item original_value)
{
value._A = DAC.GetInt32(value._A) + DAC.GetInt32(value._A) + DAC.GetInt32(value._A) + DAC.GetInt32(value._A) + DAC.GetInt32(value._A);
value._B = DAC.GetInt32(value._B) + DAC.GetInt32(value._B) + DAC.GetInt32(value._B) + DAC.GetInt32(value._B) + DAC.GetInt32(value._B);
value._C = DAC.GetInt32(value._C) + DAC.GetInt32(value._C) + DAC.GetInt32(value._C) + DAC.GetInt32(value._C) + DAC.GetInt32(value._C);
return true;
}
///<summary>
/// UpdateOne 之後會執行此方法
///</summary>
protected virtual void AfterUpdateOne(Item value)
{
}
///<summary>
/// UpdateOne 之後會執行此方法
///</summary>
protected virtual void AfterUpdateOne(Item value, Item original_value)
{
}
///<summary>
/// UpdateOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnUpdateOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne(Item value)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(Item value)
{
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne(int , int , int DB_APPNO)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(int , int , int DB_APPNO)
{
}
///<summary>
/// DeleteOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
#endregion
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
///教材遴選 資料集合類別
///</summary>
public partial class List : List<Item>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
///教材遴選 資料紀錄類別
///</summary>
public partial class Item
{
// 有另外加上去的屬性及方法,請加在這裡
}
}
@@ -0,0 +1,522 @@
//
// 這個檔案是 數位課程 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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, "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, "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.GetString(reader[4]);
newItem. = DAC.GetInt32(reader[5]);
newItem. = DAC.GetString(reader[6]);
newItem. = DAC.GetString(reader[7]);
newItem. = DAC.GetString(reader[8]);
newItem. = DAC.GetString(reader[9]);
newItem.DB_APPNO = DAC.GetInt32(reader[10]);
newItem.DB_CRDAT = DAC.GetDateTime(reader[11]);
newItem.DB_CRUSR = DAC.GetString(reader[12]);
newItem.DB_TRDAT = DAC.GetDateTime(reader[13]);
newItem.DB_TRUSR = DAC.GetString(reader[14]);
Add(newItem);
}
}
}
///<summary>
/// 數位課程 資料紀錄類別
///</summary>
[Serializable]
public partial class : DataItemBase
{
private int _課程編號;
private string _課程名稱;
private string _課程類別;
private string _講師;
private string _課程簡介;
private int _長度;
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, 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, 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("課程簡介");
}
}
}
///<summary>
/// 長度
///</summary>
[DataObjectField(false, false, true)]
public int
{
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, 1)]
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, 100)]
public string
{
get
{
return _評量文件;
}
set
{
if (value != _評量文件)
{
_評量文件 = value;
OnPropertyChanged("評量文件");
}
}
}
#endregion
}
}
@@ -0,0 +1,212 @@
//
// 這個檔案是 數位課程 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using WebLib;
using System.Data.SqlClient;
namespace Education
{
///<summary>
/// 數位課程 資料存取類別
///</summary>
public partial class DAC_數位課程 : WebLib.DAC
{
#region
///<summary>
/// 給查詢畫面用的 Select 方法
///</summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public List Select(bool noInputReturnAll, string , string , string , string )
{
List result = new List();
bool noInput = true;
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where;
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, "講師", + "%");
}
if ( != null && .Length > 0)
{
noInput = false;
cmdSelect.CommandText += " and 課程簡介 like @課程簡介 ";
AddParam(cmdSelect, "課程簡介", + "%");
}
cmdSelect.CommandText += _order;
if (!noInputReturnAll && noInput)
return result;
Select(cmdSelect, ref list);
return result;
}
///<summary>
/// InsertOne 之前會執行此方法
/// 在這裡可以做一些檢查或是自動編號等動作
/// 回傳 false 會打斷 InsertOne 的執行
///</summary>
protected virtual bool BeforeInsertOne( value)
{
return true;
}
///<summary>
/// InsertOne 之後會執行此方法
///</summary>
protected virtual void AfterInsertOne( value)
{
}
///<summary>
/// InsertOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnInsertOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///</summary>
protected virtual bool BeforeUpdateOne( value)
{
return true;
}
///<summary>
/// UpdateOne 之後會執行此方法
///</summary>
protected virtual void AfterUpdateOne( value)
{
}
///<summary>
/// UpdateOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnUpdateOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne( value)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne( value)
{
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne(int , int DB_APPNO)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(int , int DB_APPNO)
{
}
///<summary>
/// DeleteOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
#endregion
// 有另外加上去的屬性及方法,請加在這裡
[DataObjectMethod(DataObjectMethodType.Select)]
public List Select可看課程(string )
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where
+ @" and 開放觀看 = 'Y'
or exists (select 1 from 數位課程觀看紀錄 where 數位課程.課程編號 = 數位課程觀看紀錄.課程編號 and 數位課程觀看紀錄.學員編號 = @學員編號)
order by 課程編號";
AddParam(cmdSelect, "學員編號", );
Select(cmdSelect, ref list);
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public List Select非開放課程()
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where
+ @" and 開放觀看 <> 'Y'
order by 課程編號";
Select(cmdSelect, ref list);
return result;
}
}
///<summary>
/// 數位課程 資料集合類別
///</summary>
public partial class List : List<>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 數位課程 資料紀錄類別
///</summary>
public partial class
{
// 有另外加上去的屬性及方法,請加在這裡
}
}
@@ -0,0 +1,327 @@
//
// 這個檔案是 數位課程計畫別 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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 , string )
{
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, "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
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, "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 , string , 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 , string )
{
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.GetString(reader[1]);
newItem.DB_APPNO = DAC.GetInt32(reader[2]);
newItem.DB_CRDAT = DAC.GetDateTime(reader[3]);
newItem.DB_CRUSR = DAC.GetString(reader[4]);
newItem.DB_TRDAT = DAC.GetDateTime(reader[5]);
newItem.DB_TRUSR = DAC.GetString(reader[6]);
Add(newItem);
}
}
}
///<summary>
/// 數位課程計畫別 資料紀錄類別
///</summary>
[Serializable]
public partial class : DataItemBase
{
private int _編號;
private string _計畫編號;
#region
///<summary>
/// 編號
///</summary>
[DataObjectField(true, false, false)]
public int
{
get
{
return _編號;
}
set
{
if (value != _編號)
{
_編號 = value;
OnPropertyChanged("編號");
}
}
}
///<summary>
/// 計畫編號
///</summary>
[DataObjectField(true, false, false, 20)]
public string
{
get
{
return _計畫編號;
}
set
{
if (value != _計畫編號)
{
_計畫編號 = value;
OnPropertyChanged("計畫編號");
}
}
}
#endregion
}
}
@@ -0,0 +1,174 @@
//
// 這個檔案是 數位課程計畫別 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using WebLib;
using System.Data.SqlClient;
namespace Education
{
///<summary>
/// 數位課程計畫別 資料存取類別
///</summary>
public partial class DAC_數位課程計畫別 : WebLib.DAC
{
#region
///<summary>
/// 給查詢畫面用的 Select 方法
///</summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable Select(int )
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText =
@"SELECT A.計畫編號 AS BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(B.BPPYN,LEN(B.BPPYN)-5,1)) + '】', '') + B.BPPYM BPPYM
FROM 數位課程計畫別 A
LEFT JOIN BPAA B ON A.計畫編號=B.BPPYN
WHERE A.編號=@編號";
if ( > 0)
{
cmdSelect.CommandText += " and 編號 = @編號 ";
AddParam(cmdSelect, "編號", );
}
cmdSelect.CommandText += _order;
DataTable data = Select(cmdSelect);
foreach (DataRow r in data.Rows)
{
if (DAC.GetString(r["BPPYN"]) == "000000001")
{
r.BeginEdit();
r["BPPYM"] = "【非專案人員】";
r.EndEdit();
break;
}
}
return data;
}
///<summary>
/// InsertOne 之前會執行此方法
/// 在這裡可以做一些檢查或是自動編號等動作
/// 回傳 false 會打斷 InsertOne 的執行
///</summary>
protected virtual bool BeforeInsertOne( value)
{
return true;
}
///<summary>
/// InsertOne 之後會執行此方法
///</summary>
protected virtual void AfterInsertOne( value)
{
}
///<summary>
/// InsertOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnInsertOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///</summary>
protected virtual bool BeforeUpdateOne( value)
{
return true;
}
///<summary>
/// UpdateOne 之後會執行此方法
///</summary>
protected virtual void AfterUpdateOne( value)
{
}
///<summary>
/// UpdateOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnUpdateOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne( value)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne( value)
{
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne(int , string , int DB_APPNO)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(int , string , int DB_APPNO)
{
}
///<summary>
/// DeleteOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
#endregion
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 數位課程計畫別 資料集合類別
///</summary>
public partial class List : List<>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 數位課程計畫別 資料紀錄類別
///</summary>
public partial class
{
// 有另外加上去的屬性及方法,請加在這裡
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,691 @@
//
// 這個檔案是 訓練課程企劃 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using WebLib;
using System.Data.SqlClient;
namespace Education
{
///<summary>
/// 訓練課程企劃 資料存取類別
///</summary>
public partial class DAC_訓練課程企劃 : WebLib.DAC
{
///<summary>
/// 給查詢畫面用的 Select 方法
///</summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public List Select(int , string , string , string , string , string , string , string )
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where;
if ( > 0)
{
cmdSelect.CommandText += " and 訓練日期 >= @訓練日期1 and 訓練日期 < @訓練日期2 ";
AddParam(cmdSelect, "訓練日期1", new DateTime(, 1, 1));
AddParam(cmdSelect, "訓練日期2", new DateTime( + 1, 1, 1));
}
if ( != null && .Length > 0)
{
cmdSelect.CommandText += " and 顯示編號 like @顯示編號 ";
AddParam(cmdSelect, "顯示編號", "%" + + "%");
}
if ( != null && .Length > 0)
{
cmdSelect.CommandText += " and 公司別 = @公司別 ";
AddParam(cmdSelect, "公司別", );
}
if ( != null && .Length > 0)
{
cmdSelect.CommandText += " and 計畫別 like @計畫別 ";
AddParam(cmdSelect, "計畫別", "%" + + "%");
}
if ( != null && .Length > 0)
{
cmdSelect.CommandText += " and 訓練名稱 like @訓練名稱 ";
AddParam(cmdSelect, "訓練名稱", "%" + + "%");
}
if ( != null && .Length > 0)
{
cmdSelect.CommandText += " and 訓練目標 like @訓練目標 ";
AddParam(cmdSelect, "訓練目標", "%" + + "%");
}
if ( != null && .Length > 0)
{
cmdSelect.CommandText += " and 教學方法 like @教學方法 ";
AddParam(cmdSelect, "教學方法", "%" + + "%");
}
if ( != null && .Length > 0)
{
cmdSelect.CommandText += " and 承辦 like @承辦 ";
AddParam(cmdSelect, "承辦", "%" + + "%");
}
cmdSelect.CommandText += _order;
Select(cmdSelect, ref list);
return result;
}
///<summary>
/// InsertOne 之前會執行此方法
/// 在這裡可以做一些檢查或是自動編號等動作
/// 回傳 false 會打斷 InsertOne 的執行
///</summary>
protected virtual bool BeforeInsertOne( value)
{
value. = Next單號(DateTime.UtcNow.AddHours(8).Date, _tableName, "顯示編號", String.Format("\"{0}\"<999999>", value.), "");
value. = "N";
value. = "N";
value. = "N";
return true;
}
///<summary>
/// InsertOne 之後會執行此方法
///</summary>
protected virtual void AfterInsertOne( value)
{
}
///<summary>
/// InsertOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnInsertOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///</summary>
protected virtual bool BeforeUpdateOne( value)
{
return true;
}
///<summary>
/// UpdateOne 之後會執行此方法
///</summary>
protected virtual void AfterUpdateOne( value)
{
}
///<summary>
/// UpdateOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnUpdateOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne( value)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne( value)
{
DAC_訓練課程內容 dao1 = new DAC_訓練課程內容(conn);
DAC_訓練課程計畫別 dao2 = new DAC_訓練課程計畫別(conn);
DAC_場地遴選 dao3 = new DAC_場地遴選(conn);
DAC_講師遴選 dao4 = new DAC_講師遴選(conn);
dao1.DeleteBy課程企劃(value.);
dao2.DeleteBy課程企劃(value.);
dao3.DeleteBy課程企劃(value.);
dao4.DeleteBy課程企劃(value.);
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne(int , int DB_APPNO)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(int , int DB_APPNO)
{
}
///<summary>
/// DeleteOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
// 有另外加上去的屬性及方法,請加在這裡
/// <summary>
/// 取出日期範圍之內可報名的課程
/// </summary>
/// <param name="訓練日期1"></param>
/// <param name="訓練日期2"></param>
/// <param name="學員編號"></param>
/// <returns></returns>
[DataObjectMethod(DataObjectMethodType.Select)]
public List SelectBy訓練日期(DateTime 1, DateTime 2)
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where
+ " and 訓練日期 >= @訓練日期1 and 訓練日期 <= @訓練日期2 and 訓練日期 >= @今天 "
+ @" and exists ( select 1 from 表單簽核主檔
where 表單類別ID = N'課程企劃' and 表單ID = 訓練課程企劃.編號
and 應簽關數 = 已簽關數
and 應簽關數 <> 'D'
and 最終結果 = 'Y' ) "
+ " order by 訓練日期 desc";
AddParam(cmdSelect, "訓練日期1", 1);
AddParam(cmdSelect, "訓練日期2", 2);
AddParam(cmdSelect, "今天", DateTime.UtcNow.AddHours(8).Date);
Select(cmdSelect, ref list);
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public List Select可報名課程(string )
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where
+ @" and 訓練日期 >= @今天
and exists ( select 1 from dbo.課程報名
where 訓練課程編號 = 訓練課程企劃.編號
and 學員編號 = @學員編號
and 報名狀態 in ('R', 'S', 'Y') )
and exists ( select 1 from 表單簽核主檔
where 表單類別ID = N'課程企劃' and 表單ID = 訓練課程企劃.編號
and 應簽關數 = 已簽關數
and 應簽關數 <> 'D'
and 最終結果 = 'Y' )
order by 訓練日期 desc";
AddParam(cmdSelect, "今天", DateTime.UtcNow.AddHours(8).Date);
AddParam(cmdSelect, "學員編號", );
Select(cmdSelect, ref list);
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
private NameValueList DoSelectForDropDown(string , int , bool? , bool? , bool? , bool? )
{
NameValueList result = new NameValueList();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = "select null as 編號, '(請選擇)' as 訓練名稱 "
+ " union all "
+ "select 編號, '[' + 顯示編號 + '] [' + CONVERT(NVARCHAR(10), 訓練日期, 120) + '] ' + 訓練名稱 "
+ _from + _where + " and (已取消 <> 'Y' or 已取消 is null) ";
if ( != null && .Length > 0)
{
cmdSelect.CommandText += " and 公司別 = @公司別 ";
}
if ( > 0)
{
cmdSelect.CommandText += " and 訓練日期 >= @訓練日期1 and 訓練日期 < @訓練日期2 ";
AddParam(cmdSelect, "訓練日期1", new DateTime(, 1, 1));
AddParam(cmdSelect, "訓練日期2", new DateTime( + 1, 1, 1));
}
if (.HasValue)
{
if (.Value)
cmdSelect.CommandText += " and dateadd(day, -報名截止期限, 訓練日期) <= @現在時間 ";
else
cmdSelect.CommandText += " and dateadd(day, -報名截止期限, 訓練日期) > @現在時間 ";
}
if (.HasValue)
{
if (.Value)
cmdSelect.CommandText += " and 訓練日期 <= @現在時間 ";
else
cmdSelect.CommandText += " and ( (訓練日期迄 is null and 訓練日期 > @現在時間) or "
+ " (訓練日期迄 is not null and 訓練日期迄 > @現在時間) ) ";
}
if (.HasValue)
{
if (.Value)
cmdSelect.CommandText += " and 已結案 = 'Y' ";
else
cmdSelect.CommandText += " and (已結案 <> 'Y' or 已結案 is null) ";
}
if (.HasValue)
{
if (.Value)
cmdSelect.CommandText += @" and exists ( select 1 from 表單簽核主檔
where 表單類別ID = N'課程企劃' and 表單ID = 訓練課程企劃.編號
and 應簽關數 = 已簽關數
and 應簽關數 <> 'D'
and 最終結果 = 'Y' )";
else
cmdSelect.CommandText += @" and not exists ( select 1 from 表單簽核主檔
where 表單類別ID = N'課程企劃' and 表單ID = 訓練課程企劃.編號
and 應簽關數 = 已簽關數
and 應簽關數 <> 'D'
and 最終結果 = 'Y' )";
}
cmdSelect.CommandText += " order by 編號";
AddParam(cmdSelect, "公司別", );
AddParam(cmdSelect, "現在時間", DateTime.UtcNow.AddHours(8));
Select(cmdSelect, ref list);
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select已截止未上課(string )
{
return DoSelectForDropDown(, 0, true, false, null, null);
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select已截止未上課(string , int )
{
return DoSelectForDropDown(, , true, false, null, null);
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select未上課(string )
{
return DoSelectForDropDown(, 0, null, false, null, null);
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select未上課(string , int )
{
return DoSelectForDropDown(, , true, false, null, null);
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select已上課未結案(string )
{
return DoSelectForDropDown(, 0, null, true, false, null);
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select已上課未結案(string , int )
{
return DoSelectForDropDown(, , null, true, false, null);
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select已上課(string )
{
return DoSelectForDropDown(, 0, null, true, null, null);
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select已上課(string , int )
{
return DoSelectForDropDown(, , null, true, null, null);
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select已結案(string )
{
return DoSelectForDropDown(, 0, null, null, true, null);
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select已結案(string , int )
{
return DoSelectForDropDown(, , null, null, true, null);
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select已簽核未結案(string )
{
return DoSelectForDropDown(, 0, null, null, false, true);
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select已簽核未結案(string , int )
{
return DoSelectForDropDown(, , null, null, false, true);
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select全部(string )
{
return DoSelectForDropDown(, 0, null, null, null, null);
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select全部(string , int )
{
return DoSelectForDropDown(, , null, null, null, null);
}
[DataObjectMethod(DataObjectMethodType.Select)]
public List Select年度企劃(string , int Year)
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText =
_select + _from + _where
+ " and 公司別 = @公司別 "
+ " and 訓練日期 >= @年初 and 訓練日期 < @明年初 "
+ " and 已取消 <> 'Y' "
+ " order by 編號";
AddParam(cmdSelect, "年初", new DateTime(Year, 1, 1));
AddParam(cmdSelect, "明年初", new DateTime(Year + 1, 1, 1));
AddParam(cmdSelect, "公司別", );
Select(cmdSelect, ref list);
return result;
}
public int Select選定場地(int )
{
List d1 = SelectOne();
if (d1.Count == 0)
return 0;
List d2 = new DAC_場地異動(conn).Select最後異動();
if (d2.Count == 0)
return new DAC_場地遴選(conn).Select選定場地();
else
return d2[0].;
}
public string Select選定場地名稱(int )
{
List d1 = SelectOne();
if (d1.Count == 0)
return "";
List d2 = new DAC_場地異動(conn).Select最後異動();
if (d2.Count > 0)
{
if (d2[0]. > 0)
return new DAC_場地(conn).Get場地名稱(d2[0].);
return d2[0]. ?? "";
}
return new DAC_場地遴選(conn).Select選定場地名稱();
}
public int Select選定講師(int , int )
{
List d1 = new DAC_訓練課程內容().SelectOne(, );
if (d1.Count == 0)
return 0;
List d2 = new DAC_講師異動(conn).Select最後異動(, );
if (d2.Count == 0)
return new DAC_講師遴選(conn).Select選定講師(, );
else
return d2[0].;
}
public string Select選定講師名稱(int , int )
{
List d1 = new DAC_訓練課程內容().SelectOne(, );
if (d1.Count == 0)
return "";
List d2 = new DAC_講師異動(conn).Select最後異動(, );
if (d2.Count > 0)
{
if (d2[0]. > 0)
return new DAC_講師(conn).Get姓名(d2[0].);
return d2[0]. ?? "";
}
return new DAC_講師遴選(conn).Select選定講師名稱(, );
}
public DataTable Select年度課程執行狀況報表(string , int , bool )
{
DbCommand cmd = NewCommand();
cmd.CommandText = @"
SELECT A.編號, A.訓練名稱, '' AS 訓練計畫別, A.訓練日期, A.訓練日期迄, A.訓練時數, '' AS 訓練場地,
0 AS 訓練人數, A.預估經費, 0 AS 實際經費, 0.0 AS 學員出席率, 0.0 AS 整體滿意度
FROM 訓練課程企劃 A
WHERE A.訓練日期 >= @訓練日期1
AND A.訓練日期 < @訓練日期2
AND A.公司別 = @公司別 ";
if (!)
cmd.CommandText += " AND (A.已取消 IS NULL OR A.已取消 = 'N')";
cmd.CommandText += " ORDER BY A.訓練日期";
AddParam(cmd, "訓練日期1", new DateTime(, 1, 1));
AddParam(cmd, "訓練日期2", new DateTime( + 1, 1, 1));
AddParam(cmd, "公司別", );
DataTable result = Select(cmd);
DAC_課程報名 Dao課程報名 = new DAC_課程報名(conn);
DAC_課程經費 Dao課程經費 = new DAC_課程經費(conn);
DAC_滿意度調查課程企劃 Dao滿意度調查課程企劃 = new DAC_滿意度調查課程企劃(conn);
// 填入統計欄位
foreach (DataRow r in result.Rows)
{
int = DAC.GetInt32(r["編號"]);
string = "";
// 取得訓練計畫別
DataTable Table = Dao課程報名.Select確定報名學員計畫();
foreach (DataRow r1 in Table.Rows)
{
+= DAC.GetString(r1["計畫年度名稱"]) + "\r\n";
}
if (.Length > 0)
= .Trim();
// 取得場地及滿意度
DataTable 滿Table = Dao滿意度調查課程企劃.Select滿意度統計();
r["訓練場地"] = Select選定場地名稱();
r["訓練人數"] = Dao課程報名.Get出席人數();
r["實際經費"] = Dao課程經費.Get經費合計();
r["學員出席率"] = Dao課程報名.Get出席率();
r["整體滿意度"] = 滿Table.Rows.Count > 0 ? DAC.GetDecimal(滿Table.Rows[0]["整體滿意度"]) : 0;
r.EndEdit();
}
result.AcceptChanges();
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select可選課程日期(int )
{
NameValueList result = new NameValueList();
List d = SelectOne();
if (d.Count > 0)
{
if (d[0]..Ticks == 0)
{
result.Add(d[0]..ToString("yyyy-MM-dd"), d[0]..ToString("yyyy-MM-dd"));
}
else
{
DateTime day = d[0].;
while (day.CompareTo(d[0].) <= 0)
{
result.Add(day.ToString("yyyy-MM-dd"), day.ToString("yyyy-MM-dd"));
day = day.AddDays(1);
}
}
}
return result;
}
public bool Get場地講師已簽准(int )
{
DAC_場地遴選 Dao場地遴選 = new DAC_場地遴選(conn);
DAC_表單簽核主檔 Dao表單簽核主檔 = new DAC_表單簽核主檔(conn);
List List = Dao場地遴選.SelectOne();
bool = List.Count > 0;
if (List.Count > 0)
{
status = Dao表單簽核主檔.GetLastStatus("場地遴選", String.Format("{0}", ));
&= status != null &&
status..CompareTo("D") != 0 &&
status..CompareTo(status.) == 0 &&
status. == "Y";
}
DAC_訓練課程內容 Dao訓練課程內容 = new DAC_訓練課程內容(conn);
List List = Dao訓練課程內容.SelectBy課程企劃();
bool = List.Count > 0;
foreach ( item in List)
{
status = Dao表單簽核主檔.GetLastStatus("講師遴選", String.Format("{0}|{1}", , item.));
&= status != null &&
status..CompareTo("D") != 0 &&
status..CompareTo(status.) == 0 &&
status. == "Y";
}
return && ;
}
public bool Get場地講師已輸入(int )
{
DAC_場地遴選 Dao場地遴選 = new DAC_場地遴選(conn);
List List = Dao場地遴選.SelectOne();
bool = true;
foreach ( item in List)
{
&= (item._A > 0 || !String.IsNullOrEmpty(item._A)) &&
item.便_A > 0 &&
item._A > 0 &&
item._A > 0 &&
item._A > 0 &&
item._A > 0;
}
DAC_訓練課程內容 Dao訓練課程內容 = new DAC_訓練課程內容(conn);
DAC_講師遴選 Dao講師遴選 = new DAC_講師遴選(conn);
List List = Dao訓練課程內容.SelectBy課程企劃();
bool = true;
foreach ( item in List)
{
List List = Dao講師遴選.SelectOne(, item.);
foreach ( item2 in List)
{
&= (item2._A > 0 || !String.IsNullOrEmpty(item2._A)) &&
item2._A > 0 &&
item2._A > 0 &&
item2._A > 0 &&
item2._A > 0 &&
item2._A > 0 &&
(item2._B > 0 || !String.IsNullOrEmpty(item2._B)) &&
item2._B > 0 &&
item2._B > 0 &&
item2._B > 0 &&
item2._B > 0 &&
item2._B > 0;
}
}
DAC_教材遴選 Dao教材遴選 = new DAC_教材遴選(conn);
bool = true;
foreach ( item in List)
{
List List = Dao教材遴選.SelectOne(, item.);
foreach (Item item2 in List)
{
&= !String.IsNullOrEmpty(item2._A) &&
item2._A > 0 &&
item2._A > 0 &&
item2._A > 0 &&
item2._A > 0 &&
item2._A > 0 &&
!String.IsNullOrEmpty(item2._B) &&
item2._B > 0 &&
item2._B > 0 &&
item2._B > 0 &&
item2._B > 0 &&
item2._B > 0;
}
}
return && && ;
}
}
///<summary>
/// 訓練課程企劃 資料集合類別
///</summary>
public partial class List : List<>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 訓練課程企劃 資料紀錄類別
///</summary>
public partial class
{
// 有另外加上去的屬性及方法,請加在這裡
public static string Get訓練日期Str(DateTime , DateTime , string Format = "yyyy年MM月dd日(dddd)")
{
if (.Ticks == 0)
return (.Ticks > 0 ? .ToString(Format) : "");
else if (.Ticks >= 0 && .CompareTo() == 0)
return (.Ticks > 0 ? .ToString(Format) : "");
else
return (.Ticks > 0 ? .ToString(Format) : "")
+ (.Ticks > 0 ? " 至 " + .ToString(Format) : "");
}
}
}
@@ -0,0 +1,628 @@
//
// 這個檔案是 訓練課程內容 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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 , 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, "節次", 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
訓練日期 = @訓練日期 ,
時間起 = @時間起 ,
時間迄 = @時間迄 ,
課程類別 = @課程類別 ,
課程編號 = @課程編號 ,
課程名稱 = @課程名稱 ,
課程大綱 = @課程大綱 ,
時數 = @時數 ,
講師編號 = @講師編號 ,
節次 = @節次 ,
通知發送狀態 = @通知發送狀態 ,
講師滿意度 = @講師滿意度 ,
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, "節次", 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.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.GetInt32(reader[9]);
newItem. = DAC.GetInt32(reader[10]);
newItem. = DAC.GetInt32(reader[11]);
newItem. = DAC.GetString(reader[12]);
newItem.滿 = DAC.GetInt32(reader[13]);
newItem.DB_APPNO = DAC.GetInt32(reader[14]);
newItem.DB_CRDAT = DAC.GetDateTime(reader[15]);
newItem.DB_CRUSR = DAC.GetString(reader[16]);
newItem.DB_TRDAT = DAC.GetDateTime(reader[17]);
newItem.DB_TRUSR = DAC.GetString(reader[18]);
Add(newItem);
}
}
}
///<summary>
/// 訓練課程內容 資料紀錄類別
///</summary>
[Serializable]
public partial class : DataItemBase
{
private int _訓練課程企劃編號;
private int _課程序號;
private DateTime _訓練日期;
private string _時間起;
private string _時間迄;
private string _課程類別;
private string _課程編號;
private string _課程名稱;
private string _課程大綱;
private int _時數;
private int _講師編號;
private int _節次;
private string _通知發送狀態;
private int _講師滿意度;
#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, 5)]
public string
{
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, false, 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, 2000)]
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>
/// 通知發送狀態
/// Y=已發送
///</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("講師滿意度");
}
}
}
#endregion
}
}
@@ -0,0 +1,402 @@
//
// 這個檔案是 訓練課程內容 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using WebLib;
using System.Data.SqlClient;
namespace Education
{
///<summary>
/// 訓練課程內容 資料存取類別
///</summary>
public partial class DAC_訓練課程內容 : WebLib.DAC
{
///<summary>
/// 給查詢畫面用的 Select 方法
///</summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public List Select()
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where;
cmdSelect.CommandText += _order;
Select(cmdSelect, ref list);
return result;
}
///<summary>
/// InsertOne 之前會執行此方法
/// 在這裡可以做一些檢查或是自動編號等動作
/// 回傳 false 會打斷 InsertOne 的執行
///</summary>
protected virtual bool BeforeInsertOne( value)
{
return true;
}
///<summary>
/// InsertOne 之後會執行此方法
///</summary>
protected virtual void AfterInsertOne( value)
{
}
///<summary>
/// InsertOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnInsertOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///</summary>
protected virtual bool BeforeUpdateOne( value)
{
return true;
}
///<summary>
/// UpdateOne 之後會執行此方法
///</summary>
protected virtual void AfterUpdateOne( value)
{
}
///<summary>
/// UpdateOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnUpdateOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne( value)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne( value)
{
// 刪除訓練課程,同時要刪除講師遴選資料
DAC_講師遴選 Dao講師遴選 = new DAC_講師遴選(conn);
List d = Dao講師遴選.SelectOne(value., value.);
if (d.Count > 0)
Dao講師遴選.DeleteOne(value., value., d[0].DB_APPNO);
// 刪除訓練課程,同時要刪除教材遴選資料
DAC_教材遴選 Dao教材遴選 = new DAC_教材遴選(conn);
List d2 = Dao教材遴選.SelectOne(value., value.);
if (d2.Count > 0)
Dao教材遴選.DeleteOne(value., value., d2[0].DB_APPNO);
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne(int , int , int DB_APPNO)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(int , int , int DB_APPNO)
{
}
///<summary>
/// DeleteOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
// 有另外加上去的屬性及方法,請加在這裡
[DataObjectMethod(DataObjectMethodType.Select)]
public List SelectBy課程企劃(int )
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where
+ " and 訓練課程企劃編號 = @訓練課程企劃編號 "
+ " order by 節次 ";
AddParam(cmdSelect, "訓練課程企劃編號", );
Select(cmdSelect, ref list);
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable Select上課講師(int )
{
DataTable result = new DataTable();
result.Columns.Add("課程序號", typeof(int));
result.Columns.Add("講師編號", typeof(int));
result.Columns.Add("講師姓名", typeof(string));
result.Columns.Add("電子郵件", typeof(string));
result.Columns.Add("通知發送狀態", typeof(string));
result.Columns.Add("訓練日期", typeof(DateTime));
result.Columns.Add("時間起", typeof(string));
result.Columns.Add("時間迄", typeof(string));
List d = new List();
IDataList list = d as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where
+ " and 訓練課程企劃編號 = @訓練課程企劃編號 "
+ " order by 節次 ";
AddParam(cmdSelect, "訓練課程企劃編號", );
Select(cmdSelect, ref list);
DAC_講師 Dao講師 = new DAC_講師(conn);
DAC_講師遴選 Dao講師遴選 = new DAC_講師遴選(conn);
// 把每一節課的講師查出來
foreach ( item in d)
{
d1 = new DAC_GetData(conn).(item., item.);
if (result.Select(String.Format("講師編號={0}", d1.)).Length == 0)
{
DataRow newRow = result.NewRow();
newRow["課程序號"] = d[0].;
newRow["講師編號"] = d1.;
newRow["講師姓名"] = d1.;
newRow["電子郵件"] = d1.;
newRow["通知發送狀態"] = d[0].;
newRow["訓練日期"] = item.;
newRow["時間起"] = item.;
newRow["時間迄"] = item.;
result.Rows.Add(newRow);
}
}
return result;
}
[DataObjectMethod(DataObjectMethodType.Delete)]
public int DeleteBy課程企劃(int )
{
DbCommand cmdDelete = NewCommand();
cmdDelete.CommandText =
@"delete from 訓練課程內容
where 1=1
and 訓練課程企劃編號 = @訓練課程企劃編號";
AddParam(cmdDelete, "訓練課程企劃編號", );
int rowsAffected = ExecuteNonQuery(cmdDelete);
return rowsAffected;
}
public int Next課程序號(int )
{
DbCommand cmd = NewCommand();
cmd.CommandText = @"SELECT ISNULL(MAX(課程序號), 0) + 1 FROM " + _tableName + " WHERE 訓練課程企劃編號=@訓練課程企劃編號";
AddParam(cmd, "訓練課程企劃編號", );
int result;
ExecuteScalar(cmd, out result);
return result;
}
public int Next節次(int )
{
DbCommand cmd = NewCommand();
cmd.CommandText = @"SELECT ISNULL(MAX(節次), 0) + 1 FROM " + _tableName + " WHERE 訓練課程企劃編號=@訓練課程企劃編號";
AddParam(cmd, "訓練課程企劃編號", );
int result;
ExecuteScalar(cmd, out result);
return result;
}
public void Up(int , int )
{
// 取出這一筆的資料,與節次是上一筆的資料
DbCommand cmd = NewCommand();
cmd.CommandText = @"SELECT 節次 FROM " + _tableName + " WHERE 訓練課程企劃編號=@訓練課程企劃編號 AND 節次=@節次";
AddParam(cmd, "訓練課程企劃編號", );
AddParam(cmd, "節次", );
int 1;
ExecuteScalar(cmd, out 1);
cmd.CommandText = @"SELECT TOP 1 節次 FROM " + _tableName + " WHERE 訓練課程企劃編號=@訓練課程企劃編號 AND 節次 < @節次 ORDER BY 節次 DESC";
AddParam(cmd, "訓練課程企劃編號", );
AddParam(cmd, "節次", );
int 2;
ExecuteScalar(cmd, out 2);
if (2 == 0)
return;
else
{
(, 1, 2);
}
}
public void Down(int , int )
{
// 取出這一筆的資料,與節次是上一筆的資料
DbCommand cmd = NewCommand();
cmd.CommandText = @"SELECT 節次 FROM " + _tableName + " WHERE 訓練課程企劃編號=@訓練課程企劃編號 AND 節次=@節次";
AddParam(cmd, "訓練課程企劃編號", );
AddParam(cmd, "節次", );
int 1;
ExecuteScalar(cmd, out 1);
cmd.CommandText = @"SELECT TOP 1 節次 FROM " + _tableName + " WHERE 訓練課程企劃編號=@訓練課程企劃編號 AND 節次 > @節次 ORDER BY 節次";
AddParam(cmd, "訓練課程企劃編號", );
AddParam(cmd, "節次", );
int 2;
ExecuteScalar(cmd, out 2);
if (2 == 0)
return;
else
{
(, 1, 2);
}
}
private void (int , int 1, int 2)
{
DbCommand cmdUpdate = NewCommand();
cmdUpdate.CommandText = @"UPDATE " + _tableName + " SET 節次=@新節次 WHERE 訓練課程企劃編號=@訓練課程企劃編號 AND 節次=@節次";
AddParam(cmdUpdate, "新節次", 9999);
AddParam(cmdUpdate, "訓練課程企劃編號", );
AddParam(cmdUpdate, "節次", 1);
ExecuteNonQuery(cmdUpdate);
AddParam(cmdUpdate, "新節次", 1);
AddParam(cmdUpdate, "訓練課程企劃編號", );
AddParam(cmdUpdate, "節次", 2);
ExecuteNonQuery(cmdUpdate);
AddParam(cmdUpdate, "新節次", 2);
AddParam(cmdUpdate, "訓練課程企劃編號", );
AddParam(cmdUpdate, "節次", 9999);
ExecuteNonQuery(cmdUpdate);
}
public void (int )
{
// 1. 所有節次 +10000
DbCommand cmdUpdate = NewCommand();
cmdUpdate.CommandText = @"UPDATE " + _tableName + " SET 節次=節次+10000 WHERE 訓練課程企劃編號=@訓練課程企劃編號 ";
AddParam(cmdUpdate, "訓練課程企劃編號", );
ExecuteNonQuery(cmdUpdate);
// 2. 取出節次
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = @"SELECT 節次 FROM " + _tableName + " WHERE 訓練課程企劃編號=@訓練課程企劃編號 ORDER BY 節次";
AddParam(cmdSelect, "訓練課程企劃編號", );
DataTable dt = Select(cmdSelect);
// 3. 一一更新為新節次
int = 1;
cmdUpdate.CommandText = @"UPDATE " + _tableName + " SET 節次=@新節次 WHERE 訓練課程企劃編號=@訓練課程企劃編號 AND 節次=@節次";
foreach (DataRow r in dt.Rows)
{
AddParam(cmdUpdate, "新節次", );
AddParam(cmdUpdate, "訓練課程企劃編號", );
AddParam(cmdUpdate, "節次", r[0]);
ExecuteNonQuery(cmdUpdate);
++;
}
}
public void (int , int , string UserId)
{
List values = SelectOne(, );
if (values.Count > 0)
{
values[0]. = "Y";
values[0].DB_TRUSR = UserId;
UpdateOne(values[0]);
}
}
[DataObjectMethod(DataObjectMethodType.Select)]
public List<DateTime> Select訓練日期List(int )
{
List<DateTime> result = new List<DateTime>();
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = @"select distinct [訓練日期] " + _from
+ @" where [訓練課程企劃編號]=@訓練課程企劃編號 "
+ @" order by [訓練日期] ";
AddParam(cmdSelect, "@訓練課程企劃編號", );
bool wantClose = false;
IDataReader reader = ExecuteReader(cmdSelect, out wantClose);
try
{
while (reader.Read())
{
if (!reader.IsDBNull(0))
result.Add(reader.GetDateTime(0));
}
}
finally
{
cmdSelect.Cancel();
reader.Close();
CloseConnection(wantClose);
}
return result;
}
}
///<summary>
/// 訓練課程內容 資料集合類別
///</summary>
public partial class List : List<>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 訓練課程內容 資料紀錄類別
///</summary>
public partial class
{
// 有另外加上去的屬性及方法,請加在這裡
public static string Get起訖時間Str(object , object )
{
string s時間起 = DAC.GetString();
string s時間迄 = DAC.GetString();
if (s時間起.Length > 0 && s時間迄.Length > 0)
return s時間起 + " 至 " + s時間迄;
else if (s時間起.Length > 0)
return s時間起;
else if (s時間迄.Length > 0)
return s時間迄;
else
return "";
}
}
}
@@ -0,0 +1,377 @@
//
// 這個檔案是 訓練課程異動通知 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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 , 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, "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
異動通知日期 = @異動通知日期 ,
異動通知內容 = @異動通知內容 ,
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, "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.DB_APPNO = DAC.GetInt32(reader[4]);
newItem.DB_CRDAT = DAC.GetDateTime(reader[5]);
newItem.DB_CRUSR = DAC.GetString(reader[6]);
newItem.DB_TRDAT = DAC.GetDateTime(reader[7]);
newItem.DB_TRUSR = DAC.GetString(reader[8]);
Add(newItem);
}
}
}
///<summary>
/// 訓練課程異動通知 資料紀錄類別
///</summary>
[Serializable]
public partial class : DataItemBase
{
private int _編號;
private int _異動通知項次;
private DateTime _異動通知日期;
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, 2000)]
public string
{
get
{
return _異動通知內容;
}
set
{
if (value != _異動通知內容)
{
_異動通知內容 = value;
OnPropertyChanged("異動通知內容");
}
}
}
#endregion
}
}
@@ -0,0 +1,163 @@
//
// 這個檔案是 訓練課程異動通知 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using WebLib;
using System.Data.SqlClient;
namespace Education
{
///<summary>
/// 訓練課程異動通知 資料存取類別
///</summary>
public partial class DAC_訓練課程異動通知 : WebLib.DAC
{
#region
///<summary>
/// InsertOne 之前會執行此方法
/// 在這裡可以做一些檢查或是自動編號等動作
/// 回傳 false 會打斷 InsertOne 的執行
///</summary>
protected virtual bool BeforeInsertOne( value)
{
value. = Next項次(value.);
return true;
}
///<summary>
/// InsertOne 之後會執行此方法
///</summary>
protected virtual void AfterInsertOne( value)
{
}
///<summary>
/// InsertOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnInsertOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///</summary>
protected virtual bool BeforeUpdateOne( value)
{
return true;
}
///<summary>
/// UpdateOne 之後會執行此方法
///</summary>
protected virtual void AfterUpdateOne( value)
{
}
///<summary>
/// UpdateOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnUpdateOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne( value)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne( value)
{
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne(int , int , int DB_APPNO)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(int , int , int DB_APPNO)
{
}
///<summary>
/// DeleteOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
#endregion
// 有另外加上去的屬性及方法,請加在這裡
private int Next項次(int )
{
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText =
@"select isnull(max(異動通知項次), 0) + 1 from " + _tableName
+ " where 編號 = @編號";
AddParam(cmdSelect, "編號", );
int i;
ExecuteScalar(cmdSelect, out i);
return i;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public List Select訓練課程企劃(int )
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where
+ " and 編號 = @編號 "
+ " order by 異動通知項次";
AddParam(cmdSelect, "編號", );
Select(cmdSelect, ref list);
return result;
}
}
///<summary>
/// 訓練課程異動通知 資料集合類別
///</summary>
public partial class List : List<>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 訓練課程異動通知 資料紀錄類別
///</summary>
public partial class
{
// 有另外加上去的屬性及方法,請加在這裡
}
}
@@ -0,0 +1,360 @@
//
// 這個檔案是 訓練課程異動通知發送紀錄 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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 , int , string )
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where
+ " and 編號 = @編號 "
+ " and 異動通知項次 = @異動通知項次 "
+ " and 學員編號 = @學員編號 "
;
AddParam(cmdSelect, "編號", );
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, "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., 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 異動通知項次 = @original_異動通知項次
and 學員編號 = @original_學員編號
and DB_APPNO = @original_DB_APPNO
";
AddParam(cmdUpdate, "DB_TRDAT", DateTime.UtcNow.AddHours(8));
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
AddParam(cmdUpdate, "original_編號", value.);
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 , string , 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 學員編號 = @學員編號
and DB_APPNO = @DB_APPNO
";
AddParam(cmdDelete, "編號", );
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., 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 學員編號 = @學員編號
and DB_APPNO = @DB_APPNO
";
AddParam(cmdDelete, "編號", value.);
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 , string )
{
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = "select count(1)" + _from + _where
+ " and 編號 = @編號 "
+ " and 異動通知項次 = @異動通知項次 "
+ " and 學員編號 = @學員編號 "
;
AddParam(cmdSelect, "編號", );
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.GetString(reader[2]);
newItem.DB_APPNO = DAC.GetInt32(reader[3]);
newItem.DB_CRDAT = DAC.GetDateTime(reader[4]);
newItem.DB_CRUSR = DAC.GetString(reader[5]);
newItem.DB_TRDAT = DAC.GetDateTime(reader[6]);
newItem.DB_TRUSR = DAC.GetString(reader[7]);
Add(newItem);
}
}
}
///<summary>
/// 訓練課程異動通知發送紀錄 資料紀錄類別
///</summary>
[Serializable]
public partial class : DataItemBase
{
private int _編號;
private int _異動通知項次;
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(true, false, false, 10)]
public string
{
get
{
return _學員編號;
}
set
{
if (value != _學員編號)
{
_學員編號 = value;
OnPropertyChanged("學員編號");
}
}
}
#endregion
}
}
@@ -0,0 +1,154 @@
//
// 這個檔案是 訓練課程異動通知發送紀錄 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using WebLib;
using System.Data.SqlClient;
namespace Education
{
///<summary>
/// 訓練課程異動通知發送紀錄 資料存取類別
///</summary>
public partial class DAC_訓練課程異動通知發送紀錄 : WebLib.DAC
{
#region
///<summary>
/// InsertOne 之前會執行此方法
/// 在這裡可以做一些檢查或是自動編號等動作
/// 回傳 false 會打斷 InsertOne 的執行
///</summary>
protected virtual bool BeforeInsertOne( value)
{
return true;
}
///<summary>
/// InsertOne 之後會執行此方法
///</summary>
protected virtual void AfterInsertOne( value)
{
}
///<summary>
/// InsertOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnInsertOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///</summary>
protected virtual bool BeforeUpdateOne( value)
{
return true;
}
///<summary>
/// UpdateOne 之後會執行此方法
///</summary>
protected virtual void AfterUpdateOne( value)
{
}
///<summary>
/// UpdateOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnUpdateOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne( value)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne( value)
{
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne(int , int , string , int DB_APPNO)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(int , int , string , int DB_APPNO)
{
}
///<summary>
/// DeleteOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
#endregion
// 有另外加上去的屬性及方法,請加在這裡
public void (int , int , string , string UserId)
{
if (SelectOne(, , ).Count == 0)
{
newValue = new ();
newValue. = ;
newValue. = ;
newValue. = ;
newValue.DB_CRUSR = UserId;
InsertOne(newValue);
}
}
public bool (int , int , string )
{
return SelectOne(, , ).Count > 0;
}
}
///<summary>
/// 訓練課程異動通知發送紀錄 資料集合類別
///</summary>
public partial class List : List<>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 訓練課程異動通知發送紀錄 資料紀錄類別
///</summary>
public partial class
{
// 有另外加上去的屬性及方法,請加在這裡
}
}
@@ -0,0 +1,327 @@
//
// 這個檔案是 訓練課程計畫別 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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 , string )
{
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, "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
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, "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 , string , 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 , string )
{
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.GetString(reader[1]);
newItem.DB_APPNO = DAC.GetInt32(reader[2]);
newItem.DB_CRDAT = DAC.GetDateTime(reader[3]);
newItem.DB_CRUSR = DAC.GetString(reader[4]);
newItem.DB_TRDAT = DAC.GetDateTime(reader[5]);
newItem.DB_TRUSR = DAC.GetString(reader[6]);
Add(newItem);
}
}
}
///<summary>
/// 訓練課程計畫別 資料紀錄類別
///</summary>
[Serializable]
public partial class : DataItemBase
{
private int _編號;
private string _計畫編號;
#region
///<summary>
/// 編號
///</summary>
[DataObjectField(true, false, false)]
public int
{
get
{
return _編號;
}
set
{
if (value != _編號)
{
_編號 = value;
OnPropertyChanged("編號");
}
}
}
///<summary>
/// 計畫編號
///</summary>
[DataObjectField(true, false, false, 20)]
public string
{
get
{
return _計畫編號;
}
set
{
if (value != _計畫編號)
{
_計畫編號 = value;
OnPropertyChanged("計畫編號");
}
}
}
#endregion
}
}
@@ -0,0 +1,181 @@
//
// 這個檔案是 訓練課程計畫別 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using WebLib;
using System.Data.SqlClient;
namespace Education
{
///<summary>
/// 訓練課程計畫別 資料存取類別
///</summary>
public partial class DAC_訓練課程計畫別 : WebLib.DAC
{
///<summary>
/// 給查詢畫面用的 Select 方法
///</summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable Select(int )
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText =
@"SELECT A.計畫編號 AS BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(B.BPPYN,LEN(B.BPPYN)-5,1)) + '】', '') + B.BPPYM BPPYM
FROM 訓練課程計畫別 A
LEFT JOIN BPAA B ON A.計畫編號=B.BPPYN
WHERE A.編號=@編號";
if ( > 0)
{
cmdSelect.CommandText += " and 編號 = @編號 ";
AddParam(cmdSelect, "編號", );
}
cmdSelect.CommandText += _order;
DataTable data = Select(cmdSelect);
foreach (DataRow r in data.Rows)
{
if (DAC.GetString(r["BPPYN"]) == "000000001")
{
r.BeginEdit();
r["BPPYM"] = "【非專案人員】";
r.EndEdit();
break;
}
}
return data;
}
///<summary>
/// InsertOne 之前會執行此方法
/// 在這裡可以做一些檢查或是自動編號等動作
/// 回傳 false 會打斷 InsertOne 的執行
///</summary>
protected virtual bool BeforeInsertOne( value)
{
return true;
}
///<summary>
/// InsertOne 之後會執行此方法
///</summary>
protected virtual void AfterInsertOne( value)
{
}
///<summary>
/// InsertOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnInsertOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///</summary>
protected virtual bool BeforeUpdateOne( value)
{
return true;
}
///<summary>
/// UpdateOne 之後會執行此方法
///</summary>
protected virtual void AfterUpdateOne( value)
{
}
///<summary>
/// UpdateOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnUpdateOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne( value)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne( value)
{
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne(int , string , int DB_APPNO)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(int , string , int DB_APPNO)
{
}
///<summary>
/// DeleteOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
// 有另外加上去的屬性及方法,請加在這裡
[DataObjectMethod(DataObjectMethodType.Delete)]
public int DeleteBy課程企劃(int )
{
DbCommand cmdDelete = NewCommand();
cmdDelete.CommandText =
@"delete from 訓練課程計畫別
where 1=1
and 編號 = @編號";
AddParam(cmdDelete, "編號", );
int rowsAffected = ExecuteNonQuery(cmdDelete);
return rowsAffected;
}
}
///<summary>
/// 訓練課程計畫別 資料集合類別
///</summary>
public partial class List : List<>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 訓練課程計畫別 資料紀錄類別
///</summary>
public partial class
{
// 有另外加上去的屬性及方法,請加在這裡
}
}
@@ -0,0 +1,479 @@
//
// 這個檔案是 講師異動 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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 , int , int )
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where
+ " and 課程企劃編號 = @課程企劃編號 "
+ " and 課程序號 = @課程序號 "
+ " and 異動次數 = @異動次數 "
;
AddParam(cmdSelect, "課程企劃編號", );
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, "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., 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 課程序號 = @original_課程序號
and 異動次數 = @original_異動次數
and DB_APPNO = @original_DB_APPNO
";
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_異動次數", 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 , 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 異動次數 = @異動次數
and DB_APPNO = @DB_APPNO
";
AddParam(cmdDelete, "課程企劃編號", );
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., 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 異動次數 = @異動次數
and DB_APPNO = @DB_APPNO
";
AddParam(cmdDelete, "課程企劃編號", value.);
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 , int )
{
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = "select count(1)" + _from + _where
+ " and 課程企劃編號 = @課程企劃編號 "
+ " and 課程序號 = @課程序號 "
+ " and 異動次數 = @異動次數 "
;
AddParam(cmdSelect, "課程企劃編號", );
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.GetInt32(reader[2]);
newItem. = DAC.GetDateTime(reader[3]);
newItem. = DAC.GetInt32(reader[4]);
newItem. = DAC.GetString(reader[5]);
newItem. = DAC.GetString(reader[6]);
newItem. = DAC.GetString(reader[7]);
newItem.DB_APPNO = DAC.GetInt32(reader[8]);
newItem.DB_CRDAT = DAC.GetDateTime(reader[9]);
newItem.DB_CRUSR = DAC.GetString(reader[10]);
newItem.DB_TRDAT = DAC.GetDateTime(reader[11]);
newItem.DB_TRUSR = DAC.GetString(reader[12]);
Add(newItem);
}
}
}
///<summary>
/// 講師異動 資料紀錄類別
///</summary>
[Serializable]
public partial class : DataItemBase
{
private int _課程企劃編號;
private int _課程序號;
private int _異動次數;
private DateTime _異動日期;
private int _講師編號;
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(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)]
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, 50)]
public string
{
get
{
return _現職;
}
set
{
if (value != _現職)
{
_現職 = value;
OnPropertyChanged("現職");
}
}
}
#endregion
}
}
@@ -0,0 +1,184 @@
//
// 這個檔案是 講師異動 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using WebLib;
using System.Data.SqlClient;
namespace Education
{
///<summary>
/// 講師異動 資料存取類別
///</summary>
public partial class DAC_講師異動 : WebLib.DAC
{
#region
///<summary>
/// InsertOne 之前會執行此方法
/// 在這裡可以做一些檢查或是自動編號等動作
/// 回傳 false 會打斷 InsertOne 的執行
///</summary>
protected virtual bool BeforeInsertOne( value)
{
value. = DateTime.UtcNow.AddHours(8);
value. = Next異動次數(value., value.);
return true;
}
///<summary>
/// InsertOne 之後會執行此方法
///</summary>
protected virtual void AfterInsertOne( value)
{
}
///<summary>
/// InsertOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnInsertOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///</summary>
protected virtual bool BeforeUpdateOne( value)
{
return true;
}
///<summary>
/// UpdateOne 之後會執行此方法
///</summary>
protected virtual void AfterUpdateOne( value)
{
}
///<summary>
/// UpdateOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnUpdateOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne( value)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne( value)
{
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne(int , int , int , int DB_APPNO)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(int , int , int , int DB_APPNO)
{
}
///<summary>
/// DeleteOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
#endregion
// 有另外加上去的屬性及方法,請加在這裡
private int Next異動次數(int , int )
{
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = "select isnull(max(異動次數), 0) + 1 from " + _tableName
+ " where 課程企劃編號 = @課程企劃編號 "
+ " and 課程序號 = @課程序號 "
;
AddParam(cmdSelect, "課程企劃編號", );
AddParam(cmdSelect, "課程序號", );
int i;
ExecuteScalar(cmdSelect, out i);
return i;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public List Select異動(int , int )
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where
+ " and 課程企劃編號 = @課程企劃編號 "
+ " and 課程序號 = @課程序號 "
+ " order by 異動次數 "
;
AddParam(cmdSelect, "課程企劃編號", );
AddParam(cmdSelect, "課程序號", );
Select(cmdSelect, ref list);
return result;
}
public List Select最後異動(int , int )
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = "select top 1 " + _insert + _from + _where
+ " and 課程企劃編號 = @課程企劃編號 "
+ " and 課程序號 = @課程序號 "
+ " order by 異動次數 desc "
;
AddParam(cmdSelect, "課程企劃編號", );
AddParam(cmdSelect, "課程序號", );
Select(cmdSelect, ref list);
return result;
}
}
///<summary>
/// 講師異動 資料集合類別
///</summary>
public partial class List : List<>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 講師異動 資料紀錄類別
///</summary>
public partial class
{
// 有另外加上去的屬性及方法,請加在這裡
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,342 @@
//
// 這個檔案是 講師遴選 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using WebLib;
using System.Data.SqlClient;
namespace Education
{
///<summary>
/// 講師遴選 資料存取類別
///</summary>
public partial class DAC_講師遴選 : WebLib.DAC
{
///<summary>
/// 給查詢畫面用的 Select 方法
///</summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public List Select()
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where;
cmdSelect.CommandText += _order;
Select(cmdSelect, ref list);
return result;
}
///<summary>
/// InsertOne 之前會執行此方法
/// 在這裡可以做一些檢查或是自動編號等動作
/// 回傳 false 會打斷 InsertOne 的執行
///</summary>
protected virtual bool BeforeInsertOne( value)
{
value._A = value._A + value._A + value._A + value._A + value._A;
value._B = value._B + value._B + value._B + value._B + value._B;
value._C = value._C + value._C + value._C + value._C + value._C;
return true;
}
///<summary>
/// InsertOne 之後會執行此方法
///</summary>
protected virtual void AfterInsertOne( value)
{
}
///<summary>
/// InsertOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnInsertOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///</summary>
protected virtual bool BeforeUpdateOne( value)
{
value._A = value._A + value._A + value._A + value._A + value._A;
value._B = value._B + value._B + value._B + value._B + value._B;
value._C = value._C + value._C + value._C + value._C + value._C;
return true;
}
///<summary>
/// UpdateOne 之後會執行此方法
///</summary>
protected virtual void AfterUpdateOne( value)
{
}
///<summary>
/// UpdateOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnUpdateOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne( value)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne( value)
{
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne(int , int , int DB_APPNO)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(int , int , int DB_APPNO)
{
}
///<summary>
/// DeleteOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
// 有另外加上去的屬性及方法,請加在這裡
public void UpdateTeacher(int , int , string ,
int , string , string , string , int ,
int , int , int , int )
{
if (SelectOne(, ).Count == 0)
{
newValue = new ();
newValue. = ;
newValue. = ;
newValue.DB_CRDAT = DateTime.UtcNow.AddHours(8);
newValue.DB_CRUSR = CurrentUserId;
InsertOne(newValue);
}
DbCommand cmdUpdate = NewCommand();
cmdUpdate.CommandText = String.Format(
"UPDATE " + _tableName
+ " SET 講師編號_{0} = @講師編號 , "
+ " 學歷_{0} = @學歷 , "
+ " 現職_{0} = @現職 , "
+ " 師資來源_{0} = @師資來源 , "
+ " 專業背景_{0} = @專業背景 , "
+ " 講授經驗_{0} = @講授經驗 , "
+ " 口碑與評價_{0} = @口碑與評價 , "
+ " 費用_{0} = @費用 , "
+ " 配合度_{0} = @配合度 , "
+ " 合計_{0} = @合計 , "
+ " DB_APPNO = DB_APPNO + 1 , "
+ " DB_TRDAT = GetDate() , "
+ " DB_TRUSR = @DB_TRUSR "
+ " WHERE 課程企劃編號 = @課程企劃編號"
+ " AND 課程序號 = @課程序號", );
AddParam(cmdUpdate, "講師編號", );
AddParam(cmdUpdate, "學歷", );
AddParam(cmdUpdate, "現職", );
AddParam(cmdUpdate, "師資來源", );
AddParam(cmdUpdate, "專業背景", );
AddParam(cmdUpdate, "講授經驗", );
AddParam(cmdUpdate, "口碑與評價", );
AddParam(cmdUpdate, "費用", );
AddParam(cmdUpdate, "配合度", );
AddParam(cmdUpdate, "合計", + + + + );
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
AddParam(cmdUpdate, "課程企劃編號", );
AddParam(cmdUpdate, "課程序號", );
ExecuteNonQuery(cmdUpdate);
}
public void UpdateComment(int , int , string , string )
{
if (SelectOne(, ).Count == 0)
{
newValue = new ();
newValue. = ;
newValue. = ;
newValue.DB_CRDAT = DateTime.UtcNow.AddHours(8);
newValue.DB_CRUSR = CurrentUserId;
InsertOne(newValue);
}
DbCommand cmdUpdate = NewCommand();
cmdUpdate.CommandText =
"UPDATE " + _tableName
+ " SET 總評 = @總評 , "
+ " 備註 = @備註 , "
+ " DB_APPNO = DB_APPNO + 1 , "
+ " DB_TRDAT = GetDate() , "
+ " DB_TRUSR = @DB_TRUSR "
+ " WHERE 課程企劃編號 = @課程企劃編號"
+ " AND 課程序號 = @課程序號";
AddParam(cmdUpdate, "總評", );
AddParam(cmdUpdate, "備註", );
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
AddParam(cmdUpdate, "課程企劃編號", );
AddParam(cmdUpdate, "課程序號", );
ExecuteNonQuery(cmdUpdate);
}
public void ClearTeacher(int , int , string )
{
if (SelectOne(, ).Count == 0)
return;
DbCommand cmdUpdate = NewCommand();
cmdUpdate.CommandText =
"UPDATE " + _tableName
+ " SET 講師編號_" + + " = null, "
+ " 師資來源_" + + " = null, "
+ " 專業背景_" + + " = null, "
+ " 講授經驗_" + + " = null, "
+ " 口碑與評價_" + + " = null, "
+ " 費用_" + + " = null, "
+ " 配合度_" + + " = null, "
+ " 合計_" + + " = null, "
+ " DB_APPNO = DB_APPNO + 1 , "
+ " DB_TRDAT = GetDate() , "
+ " DB_TRUSR = @DB_TRUSR "
+ " WHERE 課程企劃編號 = @課程企劃編號"
+ " AND 課程序號 = @課程序號";
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
AddParam(cmdUpdate, "課程企劃編號", );
AddParam(cmdUpdate, "課程序號", );
ExecuteNonQuery(cmdUpdate);
}
[DataObjectMethod(DataObjectMethodType.Delete)]
public int DeleteBy課程企劃(int )
{
DbCommand cmdDelete = NewCommand();
cmdDelete.CommandText =
@"delete from 講師遴選
where 1=1
and = @";
AddParam(cmdDelete, "課程企劃編號", );
int rowsAffected = ExecuteNonQuery(cmdDelete);
return rowsAffected;
}
public int Select選定講師(int , int )
{
List d = SelectOne(, );
if (d.Count == 0)
return 0;
switch (d[0].)
{
case 1:
return d[0]._A;
case 2:
return d[0]._B;
case 3:
return d[0]._C;
default:
if (d[0]._A >= d[0]._B && d[0]._A >= d[0]._C)
return d[0]._A;
if (d[0]._B >= d[0]._A && d[0]._B >= d[0]._C)
return d[0]._B;
else
return d[0]._C;
}
}
public string Select選定講師名稱(int , int )
{
List d = SelectOne(, );
if (d.Count == 0)
return "";
int ;
string ;
switch (d[0].)
{
case 1:
= d[0]._A;
= d[0]._A;
break;
case 2:
= d[0]._B;
= d[0]._B;
break;
case 3:
= d[0]._C;
= d[0]._C;
break;
default:
if (d[0]._A >= d[0]._B && d[0]._A >= d[0]._C)
{
= d[0]._A;
= d[0]._A;
}
else if (d[0]._B >= d[0]._A && d[0]._B >= d[0]._C)
{
= d[0]._B;
= d[0]._B;
}
else
{
= d[0]._C;
= d[0]._C;
}
break;
}
if ( > 0)
return new DAC_講師(conn).Get姓名();
return ?? "";
}
}
///<summary>
/// 講師遴選 資料集合類別
///</summary>
public partial class List : List<>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 講師遴選 資料紀錄類別
///</summary>
public partial class
{
// 有另外加上去的屬性及方法,請加在這裡
}
}