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,422 @@
//
// 這個檔案是 心得報告 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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, "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, "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.GetInt32(reader[1]);
newItem. = DAC.GetString(reader[2]);
newItem. = DAC.GetString(reader[3]);
newItem. = DAC.GetString(reader[4]);
newItem. = DAC.GetString(reader[5]);
newItem.DB_APPNO = DAC.GetInt32(reader[6]);
newItem.DB_CRDAT = DAC.GetDateTime(reader[7]);
newItem.DB_CRUSR = DAC.GetString(reader[8]);
newItem.DB_TRDAT = DAC.GetDateTime(reader[9]);
newItem.DB_TRUSR = DAC.GetString(reader[10]);
Add(newItem);
}
}
}
///<summary>
/// 心得報告 資料紀錄類別
///</summary>
[Serializable]
public partial class : DataItemBase
{
private int _心得報告編號;
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)]
public int
{
get
{
return _訓練課程企劃編號;
}
set
{
if (value != _訓練課程企劃編號)
{
_訓練課程企劃編號 = value;
OnPropertyChanged("訓練課程企劃編號");
}
}
}
///<summary>
/// 學員編號
///</summary>
[DataObjectField(false, false, true, 20)]
public string
{
get
{
return _學員編號;
}
set
{
if (value != _學員編號)
{
_學員編號 = value;
OnPropertyChanged("學員編號");
}
}
}
///<summary>
/// 建議
///</summary>
[DataObjectField(false, false, true, 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, 1)]
public string
{
get
{
return _上架;
}
set
{
if (value != _上架)
{
_上架 = value;
OnPropertyChanged("上架");
}
}
}
#endregion
}
}
@@ -0,0 +1,250 @@
//
// 這個檔案是 心得報告 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
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, int , string )
{
List result = new List();
bool noInput = true;
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where;
if ( > 0)
{
noInput = false;
cmdSelect.CommandText += " and 訓練課程企劃編號 = @訓練課程企劃編號 ";
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)
{
value. = "N";
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
// 有另外加上去的屬性及方法,請加在這裡
public void Update(int , string , string , string , string UserId)
{
List d = Select(false, , );
if (d.Count == 0)
{
newValue = new ();
newValue. = ;
newValue. = ;
newValue. = ;
newValue. = ;
newValue.DB_CRUSR = UserId;
InsertOne(newValue);
}
else
{
d[0]. = ;
d[0]. = ;
d[0].DB_TRUSR = UserId;
UpdateOne(d[0]);
}
}
public void (int , string UserId)
{
List d = SelectOne();
if (d.Count > 0)
{
d[0]. = "Y";
d[0].DB_TRUSR = UserId;
UpdateOne(d[0]);
}
}
public void (int , string UserId)
{
List d = SelectOne();
if (d.Count > 0)
{
d[0]. = "N";
d[0].DB_TRUSR = UserId;
UpdateOne(d[0]);
}
}
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable Select上架()
{
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText =
@"SELECT A.心得報告編號, A.訓練課程企劃編號, A.學員編號, A.心得,
B.訓練名稱, B.訓練日期, B.訓練日期迄, C.BPNME AS 學員姓名,
( SELECT COUNT(1)
FROM 心得報告討論 D
WHERE A.心得報告編號=D.心得報告編號
AND (D.下架 IS NULL OR D.下架 = '' OR D.下架 = 'N') ) AS 討論人數
FROM 心得報告 A
INNER JOIN 訓練課程企劃 B ON A.訓練課程企劃編號 = B.編號
INNER JOIN BPSNView C ON A.學員編號 = C.BPENO
WHERE A.上架='Y'
ORDER BY A.心得報告編號 DESC";
return Select(cmdSelect);
}
[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 訓練課程企劃編號 = @訓練課程企劃編號 "
+ " and 建議 is not null "
+ " and 建議 <> '' "
;
AddParam(cmdSelect, "訓練課程企劃編號", );
Select(cmdSelect, ref list);
return result;
}
}
///<summary>
/// 心得報告 資料集合類別
///</summary>
public partial class List : List<>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 心得報告 資料紀錄類別
///</summary>
public partial class
{
// 有另外加上去的屬性及方法,請加在這裡
}
}
@@ -0,0 +1,427 @@
//
// 這個檔案是 心得報告討論 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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, "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, "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.GetString(reader[2]);
newItem. = DAC.GetDateTime(reader[3]);
newItem. = DAC.GetString(reader[4]);
newItem. = DAC.GetString(reader[5]);
newItem.DB_APPNO = DAC.GetInt32(reader[6]);
newItem.DB_CRDAT = DAC.GetDateTime(reader[7]);
newItem.DB_CRUSR = DAC.GetString(reader[8]);
newItem.DB_TRDAT = DAC.GetDateTime(reader[9]);
newItem.DB_TRUSR = DAC.GetString(reader[10]);
Add(newItem);
}
}
}
///<summary>
/// 心得報告討論 資料紀錄類別
///</summary>
[Serializable]
public partial class : DataItemBase
{
private int _心得報告編號;
private int _樓;
private string _發表人;
private DateTime _發表日期;
private string _內容;
private string _下架;
#region
///<summary>
/// 心得報告編號
///</summary>
[DataObjectField(true, false, false)]
public int
{
get
{
return _心得報告編號;
}
set
{
if (value != _心得報告編號)
{
_心得報告編號 = value;
OnPropertyChanged("心得報告編號");
}
}
}
///<summary>
/// 樓
///</summary>
[DataObjectField(true, false, false)]
public int
{
get
{
return _樓;
}
set
{
if (value != _樓)
{
_樓 = value;
OnPropertyChanged("樓");
}
}
}
///<summary>
/// 發表人
///</summary>
[DataObjectField(false, false, true, 20)]
public string
{
get
{
return _發表人;
}
set
{
if (value != _發表人)
{
_發表人 = value;
OnPropertyChanged("發表人");
}
}
}
///<summary>
/// 發表日期
///</summary>
[DataObjectField(false, false, true)]
public DateTime
{
get
{
return _發表日期;
}
set
{
if (value != _發表日期)
{
_發表日期 = value;
OnPropertyChanged("發表日期");
}
}
}
///<summary>
/// 內容
///</summary>
[DataObjectField(false, false, true, 2000)]
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("下架");
}
}
}
#endregion
}
}
@@ -0,0 +1,197 @@
//
// 這個檔案是 心得報告討論 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
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
// 有另外加上去的屬性及方法,請加在這裡
public 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 , bool )
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where
+ " and 心得報告編號 = @心得報告編號 ";
if ()
cmdSelect.CommandText += " and (下架 is null or 下架 = '' or 下架 = 'N') ";
cmdSelect.CommandText += " order by 樓 ";
AddParam(cmdSelect, "心得報告編號", );
Select(cmdSelect, ref list);
return result;
}
public int Select討論數(int , bool )
{
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = "select count(1) from " + _tableName
+ " where 心得報告編號 = @心得報告編號 ";
if ()
cmdSelect.CommandText += " and (下架 is null or 下架 = '' or 下架 = 'N') ";
AddParam(cmdSelect, "心得報告編號", );
int i;
ExecuteScalar(cmdSelect, out i);
return i;
}
public void (int , int )
{
List d = SelectOne(, );
if (d.Count == 0)
return;
d[0]. = "Y";
UpdateOne(d[0]);
}
public void (int , int )
{
List d = SelectOne(, );
if (d.Count == 0)
return;
d[0]. = "";
UpdateOne(d[0]);
}
}
///<summary>
/// 心得報告討論 資料集合類別
///</summary>
public partial class List : List<>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 心得報告討論 資料紀錄類別
///</summary>
public partial class
{
// 有另外加上去的屬性及方法,請加在這裡
}
}
@@ -0,0 +1,927 @@
//
// 這個檔案是 教學日誌 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using System.Transactions;
using WebLib;
using System.Data.SqlClient;
namespace Education
{
///<summary>
/// 教學日誌 資料存取類別
///</ summary>
[DataObject]
public partial class DAC_教學日誌 : WebLib.DAC
{
//private string _tableName = "教學日誌";
private string _select = "select 課程企劃編號, 課程序號, 填表日期, 填表人員, 應到人數, 實到人數, 缺席人數, 教學概要, 學員反應, 異常情形, 處理經過與結果, 課程執行觀察_01, 課程執行觀察_02, 課程執行觀察_03, 課程執行觀察_04, 課程執行觀察_05, 課程執行觀察_06, 課程執行觀察_07, 課程執行觀察_08, 課程執行觀察說明_01, 課程觀察紀錄_1, 課程觀察紀錄_2, 有無異常事項, 是否需後續追蹤, 追蹤事項, 處理結果追蹤, DB_APPNO, DB_CRDAT, DB_CRUSR, DB_TRDAT, DB_TRUSR";
private string _insert = "課程企劃編號, 課程序號, 填表日期, 填表人員, 應到人數, 實到人數, 缺席人數, 教學概要, 學員反應, 異常情形, 處理經過與結果, 課程執行觀察_01, 課程執行觀察_02, 課程執行觀察_03, 課程執行觀察_04, 課程執行觀察_05, 課程執行觀察_06, 課程執行觀察_07, 課程執行觀察_08, 課程執行觀察說明_01, 課程觀察紀錄_1, 課程觀察紀錄_2, 有無異常事項, 是否需後續追蹤, 追蹤事項, 處理結果追蹤, DB_APPNO, DB_CRDAT, DB_CRUSR, DB_TRDAT, DB_TRUSR";
private string _insertValue = "@課程企劃編號, @課程序號, @填表日期, @填表人員, @應到人數, @實到人數, @缺席人數, @教學概要, @學員反應, @異常情形, @處理經過與結果, @課程執行觀察_01, @課程執行觀察_02, @課程執行觀察_03, @課程執行觀察_04, @課程執行觀察_05, @課程執行觀察_06, @課程執行觀察_07, @課程執行觀察_08, @課程執行觀察說明_01, @課程觀察紀錄_1, @課程觀察紀錄_2, @有無異常事項, @是否需後續追蹤, @追蹤事項, @處理結果追蹤, @DB_APPNO, @DB_CRDAT, @DB_CRUSR, @DB_TRDAT, @DB_TRUSR";
private string _from = " from 教學日誌 ";
private string _where = " where 1=1 ";
private string _order = " order by 課程企劃編號, 課程序號 ";
public DAC_教學日誌()
: base()
{
}
public DAC_教學日誌(DbConnection conn)
: base(conn)
{
}
[DataObjectMethod(DataObjectMethodType.Select)]
public List SelectAll()
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where + _order;
Select(cmdSelect, ref list);
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public List SelectOne(int , int )
{
List result = new List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where
+ " and 課程企劃編號 = @課程企劃編號 "
+ " and 課程序號 = @課程序號 "
;
AddParam(cmdSelect, "課程企劃編號", );
AddParam(cmdSelect, "課程序號", );
Select(cmdSelect, ref list);
return result;
}
[DataObjectMethod(DataObjectMethodType.Insert)]
public void InsertOne( value)
{
using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
{
try
{
if (!BeforeInsertOne(value))
return;
DbCommand cmdInsert = NewCommand();
cmdInsert.CommandText =
"insert into 教學日誌"
+ " (" + _insert + ")"
+ "values "
+ " (" + _insertValue + ");"
;
AddParam(cmdInsert, "課程企劃編號", value.);
AddParam(cmdInsert, "課程序號", value.);
AddParam(cmdInsert, "填表日期", value.);
AddParam(cmdInsert, "填表人員", value.);
AddParam(cmdInsert, "應到人數", value.);
AddParam(cmdInsert, "實到人數", value.);
AddParam(cmdInsert, "缺席人數", value.);
AddParam(cmdInsert, "教學概要", value.);
AddParam(cmdInsert, "學員反應", value.);
AddParam(cmdInsert, "異常情形", value.);
AddParam(cmdInsert, "處理經過與結果", value.);
AddParam(cmdInsert, "課程執行觀察_01", value._01);
AddParam(cmdInsert, "課程執行觀察_02", value._02);
AddParam(cmdInsert, "課程執行觀察_03", value._03);
AddParam(cmdInsert, "課程執行觀察_04", value._04);
AddParam(cmdInsert, "課程執行觀察_05", value._05);
AddParam(cmdInsert, "課程執行觀察_06", value._06);
AddParam(cmdInsert, "課程執行觀察_07", value._07);
AddParam(cmdInsert, "課程執行觀察_08", value._08);
AddParam(cmdInsert, "課程執行觀察說明_01", value._01);
AddParam(cmdInsert, "課程觀察紀錄_1", value._1);
AddParam(cmdInsert, "課程觀察紀錄_2", value._2);
AddParam(cmdInsert, "有無異常事項", value.);
AddParam(cmdInsert, "是否需後續追蹤", value.);
AddParam(cmdInsert, "追蹤事項", value.);
AddParam(cmdInsert, "處理結果追蹤", value.);
AddParam(cmdInsert, "DB_APPNO", 1);
AddParam(cmdInsert, "DB_CRDAT", DateTime.UtcNow.AddHours(8));
AddParam(cmdInsert, "DB_CRUSR", CurrentUserId);
AddParam(cmdInsert, "DB_TRDAT", DBNull.Value);
AddParam(cmdInsert, "DB_TRUSR", DBNull.Value);
ExecuteNonQuery(cmdInsert);
AfterInsertOne(value);
ts.Complete();
}
catch (Exception error)
{
bool handled;
OnInsertOneError(error, out handled);
if (!handled)
throw error;
}
}
}
[DataObjectMethod(DataObjectMethodType.Update)]
public int UpdateOne( value)
{
using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
{
try
{
if (!BeforeUpdateOne(value))
return -1;
List oldValues = SelectOne(value., value.);
if (oldValues.Count == 0 || oldValues[0].DB_APPNO != value.DB_APPNO)
{
throw new DBConcurrencyException("在更新 \"教學日誌\" 資料表時發生並行例外:找不到要更新的資料列");
}
DbCommand cmdUpdate = NewCommand();
cmdUpdate.CommandText =
@"update 教學日誌
set
填表日期 = @填表日期 ,
填表人員 = @填表人員 ,
應到人數 = @應到人數 ,
實到人數 = @實到人數 ,
缺席人數 = @缺席人數 ,
教學概要 = @教學概要 ,
學員反應 = @學員反應 ,
異常情形 = @異常情形 ,
處理經過與結果 = @處理經過與結果 ,
課程執行觀察_01 = @課程執行觀察_01 ,
課程執行觀察_02 = @課程執行觀察_02 ,
課程執行觀察_03 = @課程執行觀察_03 ,
課程執行觀察_04 = @課程執行觀察_04 ,
課程執行觀察_05 = @課程執行觀察_05 ,
課程執行觀察_06 = @課程執行觀察_06 ,
課程執行觀察_07 = @課程執行觀察_07 ,
課程執行觀察_08 = @課程執行觀察_08 ,
課程執行觀察說明_01 = @課程執行觀察說明_01 ,
課程觀察紀錄_1 = @課程觀察紀錄_1 ,
課程觀察紀錄_2 = @課程觀察紀錄_2 ,
有無異常事項 = @有無異常事項 ,
是否需後續追蹤 = @是否需後續追蹤 ,
追蹤事項 = @追蹤事項 ,
處理結果追蹤 = @處理結果追蹤 ,
DB_APPNO = DB_APPNO + 1,
DB_TRDAT = @DB_TRDAT,
DB_TRUSR = @DB_TRUSR
where 1=1
and 課程企劃編號 = @original_課程企劃編號
and 課程序號 = @original_課程序號
and DB_APPNO = @original_DB_APPNO
";
AddParam(cmdUpdate, "填表日期", value.);
AddParam(cmdUpdate, "填表人員", value.);
AddParam(cmdUpdate, "應到人數", value.);
AddParam(cmdUpdate, "實到人數", value.);
AddParam(cmdUpdate, "缺席人數", value.);
AddParam(cmdUpdate, "教學概要", value.);
AddParam(cmdUpdate, "學員反應", value.);
AddParam(cmdUpdate, "異常情形", value.);
AddParam(cmdUpdate, "處理經過與結果", value.);
AddParam(cmdUpdate, "課程執行觀察_01", value._01);
AddParam(cmdUpdate, "課程執行觀察_02", value._02);
AddParam(cmdUpdate, "課程執行觀察_03", value._03);
AddParam(cmdUpdate, "課程執行觀察_04", value._04);
AddParam(cmdUpdate, "課程執行觀察_05", value._05);
AddParam(cmdUpdate, "課程執行觀察_06", value._06);
AddParam(cmdUpdate, "課程執行觀察_07", value._07);
AddParam(cmdUpdate, "課程執行觀察_08", value._08);
AddParam(cmdUpdate, "課程執行觀察說明_01", value._01);
AddParam(cmdUpdate, "課程觀察紀錄_1", value._1);
AddParam(cmdUpdate, "課程觀察紀錄_2", value._2);
AddParam(cmdUpdate, "有無異常事項", value.);
AddParam(cmdUpdate, "是否需後續追蹤", value.);
AddParam(cmdUpdate, "追蹤事項", value.);
AddParam(cmdUpdate, "處理結果追蹤", value.);
AddParam(cmdUpdate, "DB_TRDAT", DateTime.UtcNow.AddHours(8));
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
AddParam(cmdUpdate, "original_課程企劃編號", value.);
AddParam(cmdUpdate, "original_課程序號", value.);
AddParam(cmdUpdate, "original_DB_APPNO", value.DB_APPNO);
int rowsAffected = ExecuteNonQuery(cmdUpdate);
AfterUpdateOne(value);
ts.Complete();
return rowsAffected;
}
catch (Exception error)
{
bool handled;
OnUpdateOneError(error, out handled);
if (!handled)
throw error;
return -1;
}
}
}
[DataObjectMethod(DataObjectMethodType.Delete)]
public int DeleteOne(int , int , int DB_APPNO)
{
using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
{
try
{
if (!BeforeDeleteOne(, , DB_APPNO))
return -1;
List oldValues = SelectOne(, );
if (oldValues.Count == 0 || oldValues[0].DB_APPNO != DB_APPNO)
{
throw new DBConcurrencyException("在刪除 \"教學日誌\" 資料表時發生並行例外:找不到要刪除的資料列");
}
DbCommand cmdDelete = NewCommand();
cmdDelete.CommandText =
@"delete from 教學日誌
where 1=1
and 課程企劃編號 = @課程企劃編號
and 課程序號 = @課程序號
and DB_APPNO = @DB_APPNO
";
AddParam(cmdDelete, "課程企劃編號", );
AddParam(cmdDelete, "課程序號", );
AddParam(cmdDelete, "DB_APPNO", DB_APPNO);
int rowsAffected = ExecuteNonQuery(cmdDelete);
AfterDeleteOne(, , DB_APPNO);
ts.Complete();
return rowsAffected;
}
catch (Exception error)
{
bool handled;
OnDeleteOneError(error, out handled);
if (!handled)
throw error;
return -1;
}
}
}
[DataObjectMethod(DataObjectMethodType.Delete)]
public int DeleteOne( value)
{
using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
{
try
{
if (!BeforeDeleteOne(value))
return -1;
List oldValues = SelectOne(value., value.);
if (oldValues.Count == 0 || oldValues[0].DB_APPNO != value.DB_APPNO)
{
throw new DBConcurrencyException("在刪除 \"教學日誌\" 資料表時發生並行例外:找不到要刪除的資料列");
}
DbCommand cmdDelete = NewCommand();
cmdDelete.CommandText =
@"delete from 教學日誌
where 1=1
and 課程企劃編號 = @課程企劃編號
and 課程序號 = @課程序號
and DB_APPNO = @DB_APPNO
";
AddParam(cmdDelete, "課程企劃編號", value.);
AddParam(cmdDelete, "課程序號", value.);
AddParam(cmdDelete, "DB_APPNO", value.DB_APPNO);
int rowsAffected = ExecuteNonQuery(cmdDelete);
AfterDeleteOne(value);
ts.Complete();
return rowsAffected;
}
catch (Exception error)
{
bool handled;
OnDeleteOneError(error, out handled);
if (!handled)
throw error;
return -1;
}
}
}
public bool IsDuplicate(int , int )
{
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = "select count(1)" + _from + _where
+ " and 課程企劃編號 = @課程企劃編號 "
+ " and 課程序號 = @課程序號 "
;
AddParam(cmdSelect, "課程企劃編號", );
AddParam(cmdSelect, "課程序號", );
int count;
ExecuteScalar(cmdSelect, out count);
return count > 0;
}
}
///<summary>
/// 教學日誌 資料集合類別
///</summary>
public partial class List : List<>, IDataList
{
public void Fill(DbDataReader reader)
{
while (reader.Read())
{
newItem = new ();
newItem. = DAC.GetInt32(reader[0]);
newItem. = DAC.GetInt32(reader[1]);
newItem. = DAC.GetDateTime(reader[2]);
newItem. = DAC.GetString(reader[3]);
newItem. = DAC.GetInt32(reader[4]);
newItem. = DAC.GetInt32(reader[5]);
newItem. = DAC.GetInt32(reader[6]);
newItem. = DAC.GetString(reader[7]);
newItem. = DAC.GetString(reader[8]);
newItem. = DAC.GetString(reader[9]);
newItem. = DAC.GetString(reader[10]);
newItem._01 = DAC.GetString(reader[11]);
newItem._02 = DAC.GetString(reader[12]);
newItem._03 = DAC.GetString(reader[13]);
newItem._04 = DAC.GetString(reader[14]);
newItem._05 = DAC.GetString(reader[15]);
newItem._06 = DAC.GetString(reader[16]);
newItem._07 = DAC.GetString(reader[17]);
newItem._08 = DAC.GetString(reader[18]);
newItem._01 = DAC.GetString(reader[19]);
newItem._1 = DAC.GetString(reader[20]);
newItem._2 = DAC.GetString(reader[21]);
newItem. = DAC.GetString(reader[22]);
newItem. = DAC.GetString(reader[23]);
newItem. = DAC.GetString(reader[24]);
newItem. = DAC.GetString(reader[25]);
newItem.DB_APPNO = DAC.GetInt32(reader[26]);
newItem.DB_CRDAT = DAC.GetDateTime(reader[27]);
newItem.DB_CRUSR = DAC.GetString(reader[28]);
newItem.DB_TRDAT = DAC.GetDateTime(reader[29]);
newItem.DB_TRUSR = DAC.GetString(reader[30]);
Add(newItem);
}
}
}
///<summary>
/// 教學日誌 資料紀錄類別
///</summary>
[Serializable]
public partial class : DataItemBase
{
private int _課程企劃編號;
private int _課程序號;
private DateTime _填表日期;
private string _填表人員;
private int _應到人數;
private int _實到人數;
private int _缺席人數;
private string _教學概要;
private string _學員反應;
private string _異常情形;
private string _處理經過與結果;
private string _課程執行觀察_01;
private string _課程執行觀察_02;
private string _課程執行觀察_03;
private string _課程執行觀察_04;
private string _課程執行觀察_05;
private string _課程執行觀察_06;
private string _課程執行觀察_07;
private string _課程執行觀察_08;
private string _課程執行觀察說明_01;
private string _課程觀察紀錄_1;
private string _課程觀察紀錄_2;
private string _有無異常事項;
private string _是否需後續追蹤;
private string _追蹤事項;
private string _處理結果追蹤;
#region
///<summary>
/// 課程企劃編號
///</summary>
[DataObjectField(true, false, false)]
public int
{
get
{
return _課程企劃編號;
}
set
{
if (value != _課程企劃編號)
{
_課程企劃編號 = value;
OnPropertyChanged("課程企劃編號");
}
}
}
///<summary>
/// 課程序號
///</summary>
[DataObjectField(true, false, false)]
public int
{
get
{
return _課程序號;
}
set
{
if (value != _課程序號)
{
_課程序號 = value;
OnPropertyChanged("課程序號");
}
}
}
///<summary>
/// 填表日期
///</summary>
[DataObjectField(false, false, true)]
public DateTime
{
get
{
return _填表日期;
}
set
{
if (value != _填表日期)
{
_填表日期 = value;
OnPropertyChanged("填表日期");
}
}
}
///<summary>
/// 填表人員
///</summary>
[DataObjectField(false, false, true, 20)]
public string
{
get
{
return _填表人員;
}
set
{
if (value != _填表人員)
{
_填表人員 = value;
OnPropertyChanged("填表人員");
}
}
}
///<summary>
/// 應到人數
///</summary>
[DataObjectField(false, false, true)]
public int
{
get
{
return _應到人數;
}
set
{
if (value != _應到人數)
{
_應到人數 = value;
OnPropertyChanged("應到人數");
}
}
}
///<summary>
/// 實到人數
///</summary>
[DataObjectField(false, false, true)]
public int
{
get
{
return _實到人數;
}
set
{
if (value != _實到人數)
{
_實到人數 = value;
OnPropertyChanged("實到人數");
}
}
}
///<summary>
/// 缺席人數
///</summary>
[DataObjectField(false, false, true)]
public int
{
get
{
return _缺席人數;
}
set
{
if (value != _缺席人數)
{
_缺席人數 = value;
OnPropertyChanged("缺席人數");
}
}
}
///<summary>
/// 教學概要
///</summary>
[DataObjectField(false, false, true, 2000)]
public string
{
get
{
return _教學概要;
}
set
{
if (value != _教學概要)
{
_教學概要 = value;
OnPropertyChanged("教學概要");
}
}
}
///<summary>
/// 學員反應
///</summary>
[DataObjectField(false, false, true, 2000)]
public string
{
get
{
return _學員反應;
}
set
{
if (value != _學員反應)
{
_學員反應 = value;
OnPropertyChanged("學員反應");
}
}
}
///<summary>
/// 異常情形
///</summary>
[DataObjectField(false, false, true, 2000)]
public string
{
get
{
return _異常情形;
}
set
{
if (value != _異常情形)
{
_異常情形 = value;
OnPropertyChanged("異常情形");
}
}
}
///<summary>
/// 處理經過與結果
///</summary>
[DataObjectField(false, false, true, 2000)]
public string
{
get
{
return _處理經過與結果;
}
set
{
if (value != _處理經過與結果)
{
_處理經過與結果 = value;
OnPropertyChanged("處理經過與結果");
}
}
}
///<summary>
/// 課程執行觀察_01
///</summary>
[DataObjectField(false, false, true, 1)]
public string _01
{
get
{
return _課程執行觀察_01;
}
set
{
if (value != _課程執行觀察_01)
{
_課程執行觀察_01 = value;
OnPropertyChanged("課程執行觀察_01");
}
}
}
///<summary>
/// 課程執行觀察_02
///</summary>
[DataObjectField(false, false, true, 1)]
public string _02
{
get
{
return _課程執行觀察_02;
}
set
{
if (value != _課程執行觀察_02)
{
_課程執行觀察_02 = value;
OnPropertyChanged("課程執行觀察_02");
}
}
}
///<summary>
/// 課程執行觀察_03
///</summary>
[DataObjectField(false, false, true, 1)]
public string _03
{
get
{
return _課程執行觀察_03;
}
set
{
if (value != _課程執行觀察_03)
{
_課程執行觀察_03 = value;
OnPropertyChanged("課程執行觀察_03");
}
}
}
///<summary>
/// 課程執行觀察_04
///</summary>
[DataObjectField(false, false, true, 1)]
public string _04
{
get
{
return _課程執行觀察_04;
}
set
{
if (value != _課程執行觀察_04)
{
_課程執行觀察_04 = value;
OnPropertyChanged("課程執行觀察_04");
}
}
}
///<summary>
/// 課程執行觀察_05
///</summary>
[DataObjectField(false, false, true, 1)]
public string _05
{
get
{
return _課程執行觀察_05;
}
set
{
if (value != _課程執行觀察_05)
{
_課程執行觀察_05 = value;
OnPropertyChanged("課程執行觀察_05");
}
}
}
///<summary>
/// 課程執行觀察_06
///</summary>
[DataObjectField(false, false, true, 1)]
public string _06
{
get
{
return _課程執行觀察_06;
}
set
{
if (value != _課程執行觀察_06)
{
_課程執行觀察_06 = value;
OnPropertyChanged("課程執行觀察_06");
}
}
}
///<summary>
/// 課程執行觀察_07
///</summary>
[DataObjectField(false, false, true, 1)]
public string _07
{
get
{
return _課程執行觀察_07;
}
set
{
if (value != _課程執行觀察_07)
{
_課程執行觀察_07 = value;
OnPropertyChanged("課程執行觀察_07");
}
}
}
///<summary>
/// 課程執行觀察_08
///</summary>
[DataObjectField(false, false, true, 1)]
public string _08
{
get
{
return _課程執行觀察_08;
}
set
{
if (value != _課程執行觀察_08)
{
_課程執行觀察_08 = value;
OnPropertyChanged("課程執行觀察_08");
}
}
}
///<summary>
/// 課程執行觀察說明_01
///</summary>
[DataObjectField(false, false, true, 200)]
public string _01
{
get
{
return _課程執行觀察說明_01;
}
set
{
if (value != _課程執行觀察說明_01)
{
_課程執行觀察說明_01 = value;
OnPropertyChanged("課程執行觀察說明_01");
}
}
}
///<summary>
/// 課程觀察紀錄_1
///</summary>
[DataObjectField(false, false, true, 200)]
public string _1
{
get
{
return _課程觀察紀錄_1;
}
set
{
if (value != _課程觀察紀錄_1)
{
_課程觀察紀錄_1 = value;
OnPropertyChanged("課程觀察紀錄_1");
}
}
}
///<summary>
/// 課程觀察紀錄_2
///</summary>
[DataObjectField(false, false, true, 200)]
public string _2
{
get
{
return _課程觀察紀錄_2;
}
set
{
if (value != _課程觀察紀錄_2)
{
_課程觀察紀錄_2 = value;
OnPropertyChanged("課程觀察紀錄_2");
}
}
}
///<summary>
/// 有無異常事項
///</summary>
[DataObjectField(false, false, true, 1)]
public string
{
get
{
return _有無異常事項;
}
set
{
if (value != _有無異常事項)
{
_有無異常事項 = value;
OnPropertyChanged("有無異常事項");
}
}
}
///<summary>
/// 是否需後續追蹤
///</summary>
[DataObjectField(false, false, true, 1)]
public string
{
get
{
return _是否需後續追蹤;
}
set
{
if (value != _是否需後續追蹤)
{
_是否需後續追蹤 = value;
OnPropertyChanged("是否需後續追蹤");
}
}
}
///<summary>
/// 追蹤事項
///</summary>
[DataObjectField(false, false, true, 200)]
public string
{
get
{
return _追蹤事項;
}
set
{
if (value != _追蹤事項)
{
_追蹤事項 = value;
OnPropertyChanged("追蹤事項");
}
}
}
///<summary>
/// 處理結果追蹤
///</summary>
[DataObjectField(false, false, true, 200)]
public string
{
get
{
return _處理結果追蹤;
}
set
{
if (value != _處理結果追蹤)
{
_處理結果追蹤 = value;
OnPropertyChanged("處理結果追蹤");
}
}
}
#endregion
}
}
@@ -0,0 +1,180 @@
//
// 這個檔案是 教學日誌 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
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 , 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 void Update處理結果追蹤(int , int , string )
{
DbCommand cmd = NewCommand();
cmd.CommandText = @"UPDATE 教學日誌
SET 處理結果追蹤 = @處理結果追蹤,
DB_TRDAT = @DB_TRDAT,
DB_TRUSR = @DB_TRUSR
WHERE 課程企劃編號 = @課程企劃編號
AND 課程序號 = @課程序號";
AddParam(cmd, "處理結果追蹤", );
AddParam(cmd, "DB_TRDAT", DateTime.UtcNow.AddHours(8));
AddParam(cmd, "DB_TRUSR", CurrentUserId);
AddParam(cmd, "課程企劃編號", );
AddParam(cmd, "課程序號", );
ExecuteNonQuery(cmd);
}
/// <summary>
/// 依課程企劃編號查詢所有教學日誌(含課程序號的節次、日期)
/// </summary>
public DataTable SelectBy課程企劃(int )
{
DbCommand cmd = NewCommand();
cmd.CommandText = @"
SELECT A.課程企劃編號, A.課程序號, B.節次, B.訓練日期,
A.填表日期, A.填表人員, A.應到人數, A.實到人數, A.缺席人數,
A.教學概要, A.學員反應,
A.課程執行觀察_01, A.課程執行觀察_02, A.課程執行觀察_03,
A.課程執行觀察_04, A.課程執行觀察_05, A.課程執行觀察_06,
A.課程執行觀察_07, A.課程執行觀察_08, A.課程執行觀察說明_01,
A.課程觀察紀錄_1, A.課程觀察紀錄_2,
A.有無異常事項, A.異常情形, A.處理經過與結果,
A.是否需後續追蹤, A.追蹤事項, A.處理結果追蹤
FROM 教學日誌 A
LEFT JOIN 訓練課程內容 B ON B.訓練課程企劃編號 = A.課程企劃編號 AND B.課程序號 = A.課程序號
WHERE A.課程企劃編號 = @課程企劃編號
ORDER BY A.課程序號";
AddParam(cmd, "課程企劃編號", );
return Select(cmd);
}
}
///<summary>
/// 教學日誌 資料集合類別
///</summary>
public partial class List : List<>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 教學日誌 資料紀錄類別
///</summary>
public partial class
{
// 有另外加上去的屬性及方法,請加在這裡
}
}
@@ -0,0 +1,408 @@
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_教學日誌選項()
{
}
#region _01 ()
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select觀察01ForList()
{
NameValueList result = new NameValueList();
result.Add("", "");
result.Add("符合原訂計畫", "1");
result.Add("部分調整", "2");
result.Add("未依原訂計畫執行", "3");
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select觀察01ForDropDown()
{
NameValueList result = new NameValueList();
result.Add("(請選擇)", "");
result.Add("符合原訂計畫", "1");
result.Add("部分調整", "2");
result.Add("未依原訂計畫執行", "3");
return result;
}
public static string Get觀察01名稱(object id)
{
switch (DAC.GetString(id))
{
case "1": return "符合原訂計畫";
case "2": return "部分調整";
case "3": return "未依原訂計畫執行";
default: return "";
}
}
#endregion
#region _02 ()
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select觀察02ForList()
{
NameValueList result = new NameValueList();
result.Add("", "");
result.Add("超前", "1");
result.Add("符合規劃", "2");
result.Add("略有落後", "3");
result.Add("未完成", "4");
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select觀察02ForDropDown()
{
NameValueList result = new NameValueList();
result.Add("(請選擇)", "");
result.Add("超前", "1");
result.Add("符合規劃", "2");
result.Add("略有落後", "3");
result.Add("未完成", "4");
return result;
}
public static string Get觀察02名稱(object id)
{
switch (DAC.GetString(id))
{
case "1": return "超前";
case "2": return "符合規劃";
case "3": return "略有落後";
case "4": return "未完成";
default: return "";
}
}
#endregion
#region _03 ()
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select觀察03ForList()
{
NameValueList result = new NameValueList();
result.Add("", "");
result.Add("優良", "1");
result.Add("良好", "2");
result.Add("普通", "3");
result.Add("待改善", "4");
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select觀察03ForDropDown()
{
NameValueList result = new NameValueList();
result.Add("(請選擇)", "");
result.Add("優良", "1");
result.Add("良好", "2");
result.Add("普通", "3");
result.Add("待改善", "4");
return result;
}
public static string Get觀察03名稱(object id)
{
switch (DAC.GetString(id))
{
case "1": return "優良";
case "2": return "良好";
case "3": return "普通";
case "4": return "待改善";
default: return "";
}
}
#endregion
#region _04 ()
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select觀察04ForList()
{
NameValueList result = new NameValueList();
result.Add("", "");
result.Add("非常踴躍", "1");
result.Add("踴躍", "2");
result.Add("普通", "3");
result.Add("不佳", "4");
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select觀察04ForDropDown()
{
NameValueList result = new NameValueList();
result.Add("(請選擇)", "");
result.Add("非常踴躍", "1");
result.Add("踴躍", "2");
result.Add("普通", "3");
result.Add("不佳", "4");
return result;
}
public static string Get觀察04名稱(object id)
{
switch (DAC.GetString(id))
{
case "1": return "非常踴躍";
case "2": return "踴躍";
case "3": return "普通";
case "4": return "不佳";
default: return "";
}
}
#endregion
#region _05 ()
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select觀察05ForList()
{
NameValueList result = new NameValueList();
result.Add("", "");
result.Add("積極投入", "1");
result.Add("大多投入", "2");
result.Add("部分投入", "3");
result.Add("投入度不足", "4");
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select觀察05ForDropDown()
{
NameValueList result = new NameValueList();
result.Add("(請選擇)", "");
result.Add("積極投入", "1");
result.Add("大多投入", "2");
result.Add("部分投入", "3");
result.Add("投入度不足", "4");
return result;
}
public static string Get觀察05名稱(object id)
{
switch (DAC.GetString(id))
{
case "1": return "積極投入";
case "2": return "大多投入";
case "3": return "部分投入";
case "4": return "投入度不足";
default: return "";
}
}
#endregion
#region _06 ()
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select觀察06ForList()
{
NameValueList result = new NameValueList();
result.Add("", "");
result.Add("能主動分享工作經驗或案例", "1");
result.Add("能回應提問並連結工作情境", "2");
result.Add("經引導後能連結工作情境", "3");
result.Add("未觀察到相關回應", "4");
result.Add("不適用", "5");
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select觀察06ForDropDown()
{
NameValueList result = new NameValueList();
result.Add("(請選擇)", "");
result.Add("能主動分享工作經驗或案例", "1");
result.Add("能回應提問並連結工作情境", "2");
result.Add("經引導後能連結工作情境", "3");
result.Add("未觀察到相關回應", "4");
result.Add("不適用", "5");
return result;
}
public static string Get觀察06名稱(object id)
{
switch (DAC.GetString(id))
{
case "1": return "能主動分享工作經驗或案例";
case "2": return "能回應提問並連結工作情境";
case "3": return "經引導後能連結工作情境";
case "4": return "未觀察到相關回應";
case "5": return "不適用";
default: return "";
}
}
#endregion
#region _07 ()
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select觀察07ForList()
{
NameValueList result = new NameValueList();
result.Add("", "");
result.Add("全數完成", "1");
result.Add("大部分完成", "2");
result.Add("部分完成", "3");
result.Add("未完成", "4");
result.Add("不適用", "5");
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select觀察07ForDropDown()
{
NameValueList result = new NameValueList();
result.Add("(請選擇)", "");
result.Add("全數完成", "1");
result.Add("大部分完成", "2");
result.Add("部分完成", "3");
result.Add("未完成", "4");
result.Add("不適用", "5");
return result;
}
public static string Get觀察07名稱(object id)
{
switch (DAC.GetString(id))
{
case "1": return "全數完成";
case "2": return "大部分完成";
case "3": return "部分完成";
case "4": return "未完成";
case "5": return "不適用";
default: return "";
}
}
#endregion
#region _08 ()
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select觀察08ForList()
{
NameValueList result = new NameValueList();
result.Add("", "");
result.Add("正常", "1");
result.Add("輕微異常", "2");
result.Add("影響授課", "3");
result.Add("無法使用", "4");
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select觀察08ForDropDown()
{
NameValueList result = new NameValueList();
result.Add("(請選擇)", "");
result.Add("正常", "1");
result.Add("輕微異常", "2");
result.Add("影響授課", "3");
result.Add("無法使用", "4");
return result;
}
public static string Get觀察08名稱(object id)
{
switch (DAC.GetString(id))
{
case "1": return "正常";
case "2": return "輕微異常";
case "3": return "影響授課";
case "4": return "無法使用";
default: return "";
}
}
#endregion
#region
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select有無異常事項ForList()
{
NameValueList result = new NameValueList();
result.Add("", "");
result.Add("有", "1");
result.Add("無", "0");
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select有無異常事項ForDropDown()
{
NameValueList result = new NameValueList();
result.Add("(請選擇)", "");
result.Add("有", "1");
result.Add("無", "0");
return result;
}
public static string Get有無異常事項名稱(object id)
{
switch (DAC.GetString(id))
{
case "1": return "有";
case "0": return "無";
default: return "";
}
}
#endregion
#region
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select是否需後續追蹤ForList()
{
NameValueList result = new NameValueList();
result.Add("", "");
result.Add("否,異常狀況順利解決,本案已結案", "0");
result.Add("是,未順利解決,建議於課後舉行檢討會議進行討論", "1");
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select是否需後續追蹤ForDropDown()
{
NameValueList result = new NameValueList();
result.Add("(請選擇)", "");
result.Add("否,異常狀況順利解決,本案已結案", "0");
result.Add("是,未順利解決,建議於課後舉行檢討會議進行討論", "1");
return result;
}
public static string Get是否需後續追蹤名稱(object id)
{
switch (DAC.GetString(id))
{
case "0": return "否,異常狀況順利解決,本案已結案";
case "1": return "是,未順利解決,建議於課後舉行檢討會議進行討論";
default: return "";
}
}
#endregion
}
}
@@ -0,0 +1,250 @@
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_檢討報告改善措施選項()
{
}
#region ()
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select改善作法ForDropDown()
{
NameValueList result = new NameValueList();
result.Add("(請選擇)", "");
result.Add("納入下次課程", "1");
result.Add("修訂教材", "2");
result.Add("修訂表單", "3");
result.Add("修訂SOP", "4");
result.Add("修訂訓練品質手冊", "5");
result.Add("其他", "9");
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select改善作法ForList()
{
NameValueList result = new NameValueList();
result.Add("", "");
result.Add("納入下次課程", "1");
result.Add("修訂教材", "2");
result.Add("修訂表單", "3");
result.Add("修訂SOP", "4");
result.Add("修訂訓練品質手冊", "5");
result.Add("其他", "9");
return result;
}
public static string Get改善作法名稱(object id)
{
switch (DAC.GetString(id))
{
case "1": return "納入下次課程";
case "2": return "修訂教材";
case "3": return "修訂表單";
case "4": return "修訂SOP";
case "5": return "修訂訓練品質手冊";
case "9": return "其他";
default: return "";
}
}
#endregion
#region _學員
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select改善內容_學員ForCheckBox()
{
NameValueList result = new NameValueList();
result.Add("加強課前提醒", "1");
result.Add("增加案例分享", "2");
result.Add("增加實作練習", "3");
result.Add("提供課後學習資源", "4");
result.Add("其他", "9");
return result;
}
public static string Get改善內容_學員名稱(object id)
{
return Get改善內容名稱(id, new Dictionary<string, string>
{
{ "1", "加強課前提醒" },
{ "2", "增加案例分享" },
{ "3", "增加實作練習" },
{ "4", "提供課後學習資源" },
{ "9", "其他" }
});
}
#endregion
#region _講師
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select改善內容_講師ForCheckBox()
{
NameValueList result = new NameValueList();
result.Add("調整授課節奏", "1");
result.Add("加強重點說明", "2");
result.Add("增加課堂互動", "3");
result.Add("課前確認授課需求", "4");
result.Add("其他", "9");
return result;
}
public static string Get改善內容_講師名稱(object id)
{
return Get改善內容名稱(id, new Dictionary<string, string>
{
{ "1", "調整授課節奏" },
{ "2", "加強重點說明" },
{ "3", "增加課堂互動" },
{ "4", "課前確認授課需求" },
{ "9", "其他" }
});
}
#endregion
#region _教材及教具
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select改善內容_教材及教具ForCheckBox()
{
NameValueList result = new NameValueList();
result.Add("修正教材內容", "1");
result.Add("更新教材資料", "2");
result.Add("增加教具輔助", "3");
result.Add("提供電子教材", "4");
result.Add("其他", "9");
return result;
}
public static string Get改善內容_教材及教具名稱(object id)
{
return Get改善內容名稱(id, new Dictionary<string, string>
{
{ "1", "修正教材內容" },
{ "2", "更新教材資料" },
{ "3", "增加教具輔助" },
{ "4", "提供電子教材" },
{ "9", "其他" }
});
}
#endregion
#region _教學方法
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select改善內容_教學方法ForCheckBox()
{
NameValueList result = new NameValueList();
result.Add("增加案例討論", "1");
result.Add("增加分組互動", "2");
result.Add("增加實作演練", "3");
result.Add("調整教學方式", "4");
result.Add("其他", "9");
return result;
}
public static string Get改善內容_教學方法名稱(object id)
{
return Get改善內容名稱(id, new Dictionary<string, string>
{
{ "1", "增加案例討論" },
{ "2", "增加分組互動" },
{ "3", "增加實作演練" },
{ "4", "調整教學方式" },
{ "9", "其他" }
});
}
#endregion
#region _場地及設備
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select改善內容_場地及設備ForCheckBox()
{
NameValueList result = new NameValueList();
result.Add("調整教室配置", "1");
result.Add("增加設備數量", "2");
result.Add("提前測試設備", "3");
result.Add("改善上課環境", "4");
result.Add("其他", "9");
return result;
}
public static string Get改善內容_場地及設備名稱(object id)
{
return Get改善內容名稱(id, new Dictionary<string, string>
{
{ "1", "調整教室配置" },
{ "2", "增加設備數量" },
{ "3", "提前測試設備" },
{ "4", "改善上課環境" },
{ "9", "其他" }
});
}
#endregion
#region _行政流程
[DataObjectMethod(DataObjectMethodType.Select)]
public NameValueList Select改善內容_行政流程ForCheckBox()
{
NameValueList result = new NameValueList();
result.Add("提前通知資訊", "1");
result.Add("調整報到流程", "2");
result.Add("強化行政協助", "3");
result.Add("加強課後追蹤", "4");
result.Add("其他", "9");
return result;
}
public static string Get改善內容_行政流程名稱(object id)
{
return Get改善內容名稱(id, new Dictionary<string, string>
{
{ "1", "提前通知資訊" },
{ "2", "調整報到流程" },
{ "3", "強化行政協助" },
{ "4", "加強課後追蹤" },
{ "9", "其他" }
});
}
#endregion
#region
private static string Get改善內容名稱(object id, Dictionary<string, string> map)
{
string s = DAC.GetString(id);
if (string.IsNullOrEmpty(s)) return "";
string[] values = s.Split(',');
List<string> labels = new List<string>();
foreach (string v in values)
{
string trimmed = v.Trim();
if (map.ContainsKey(trimmed))
labels.Add(map[trimmed]);
}
return string.Join(", ", labels.ToArray());
}
#endregion
}
}
@@ -0,0 +1,418 @@
//
// 這個檔案是 滿意度調查 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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 , int , int )
{
滿調List result = new 滿調List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where
+ " and 訓練課程企劃編號 = @訓練課程企劃編號 "
+ " and 學員編號 = @學員編號 "
+ " and 課程序號 = @課程序號 "
+ " and 題目編號 = @題目編號 "
;
AddParam(cmdSelect, "訓練課程企劃編號", );
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, "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., 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 題目編號 = @original_題目編號
and DB_APPNO = @original_DB_APPNO
";
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_題目編號", 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 , 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 題目編號 = @題目編號
and DB_APPNO = @DB_APPNO
";
AddParam(cmdDelete, "訓練課程企劃編號", );
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., 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 題目編號 = @題目編號
and DB_APPNO = @DB_APPNO
";
AddParam(cmdDelete, "訓練課程企劃編號", value.);
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 , string , int , int )
{
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = "select count(1)" + _from + _where
+ " and 訓練課程企劃編號 = @訓練課程企劃編號 "
+ " and 學員編號 = @學員編號 "
+ " and 課程序號 = @課程序號 "
+ " and 題目編號 = @題目編號 "
;
AddParam(cmdSelect, "訓練課程企劃編號", );
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.GetString(reader[1]);
newItem. = DAC.GetInt32(reader[2]);
newItem. = DAC.GetInt32(reader[3]);
newItem. = DAC.GetInt32(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 string _學員編號;
private int _課程序號;
private int _題目編號;
private int _分數;
#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("學員編號");
}
}
}
///<summary>
/// 課程序號(0 代表其他評價)
///</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 int
{
get
{
return _分數;
}
set
{
if (value != _分數)
{
_分數 = value;
OnPropertyChanged("分數");
}
}
}
#endregion
}
}
@@ -0,0 +1,214 @@
//
// 這個檔案是 滿意度調查 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
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 , string , int , int , int DB_APPNO)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(int , string , int , int , int DB_APPNO)
{
}
///<summary>
/// DeleteOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
#endregion
// 有另外加上去的屬性及方法,請加在這裡
public void Update(int , string , int , int , int , string UserId)
{
滿調List d = SelectOne(, , , );
if (d.Count == 0)
{
滿調 newValue = new 滿調();
newValue. = ;
newValue. = ;
newValue. = ;
newValue. = ;
newValue. = ;
newValue.DB_CRUSR = UserId;
InsertOne(newValue);
}
else
{
d[0]. = ;
d[0].DB_TRUSR = UserId;
UpdateOne(d[0]);
}
}
[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 訓練課程企劃編號 = @訓練課程企劃編號 "
;
AddParam(cmdSelect, "訓練課程企劃編號", );
Select(cmdSelect, ref list);
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public 滿調List Select(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.Select)]
public void Delete(int , string )
{
DbCommand cmdDelete = NewCommand();
cmdDelete.CommandText = "delete from " + _tableName
+ " where 訓練課程企劃編號 = @訓練課程企劃編號 "
+ " and 學員編號 = @學員編號 "
;
AddParam(cmdDelete, "訓練課程企劃編號", );
AddParam(cmdDelete, "學員編號", );
ExecuteNonQuery(cmdDelete);
}
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable Select滿意度分析(int , int )
{
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = "select * from 滿意度分析View "
+ " where 訓練課程企劃編號 = @訓練課程企劃編號 "
+ " and 課程序號 = @課程序號 "
;
AddParam(cmdSelect, "訓練課程企劃編號", );
AddParam(cmdSelect, "課程序號", );
return Select(cmdSelect);
}
}
///<summary>
/// 滿意度調查 資料集合類別
///</summary>
public partial class 滿調List : List<滿調>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 滿意度調查 資料紀錄類別
///</summary>
public partial class 滿調
{
// 有另外加上去的屬性及方法,請加在這裡
}
}
@@ -0,0 +1,552 @@
//
// 這個檔案是 滿意度調查課程企劃 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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, "場地編號", 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, "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. = DAC.GetInt32(reader[2]);
newItem.滿 = DAC.GetInt32(reader[3]);
newItem.滿 = DAC.GetInt32(reader[4]);
newItem.滿 = DAC.GetInt32(reader[5]);
newItem.滿 = DAC.GetInt32(reader[6]);
newItem.滿 = DAC.GetInt32(reader[7]);
newItem.滿 = DAC.GetInt32(reader[8]);
newItem.滿 = DAC.GetInt32(reader[9]);
newItem.滿 = DAC.GetInt32(reader[10]);
newItem.DB_APPNO = DAC.GetInt32(reader[11]);
newItem.DB_CRDAT = DAC.GetDateTime(reader[12]);
newItem.DB_CRUSR = DAC.GetString(reader[13]);
newItem.DB_TRDAT = DAC.GetDateTime(reader[14]);
newItem.DB_TRUSR = DAC.GetString(reader[15]);
Add(newItem);
}
}
}
///<summary>
/// 滿意度調查課程企劃 資料紀錄類別
///</summary>
[Serializable]
public partial class 滿調 : DataItemBase
{
private int _訓練課程企劃編號;
private string _學員編號;
private int _場地編號;
private int _場地滿意度填答;
private int _場地滿意度分數;
private int _行政滿意度填答;
private int _行政滿意度分數;
private int _餐點滿意度填答;
private int _餐點滿意度分數;
private int _整體滿意度填答;
private int _整體滿意度分數;
#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("學員編號");
}
}
}
///<summary>
/// 場地編號
///</summary>
[DataObjectField(false, false, true)]
public int
{
get
{
return _場地編號;
}
set
{
if (value != _場地編號)
{
_場地編號 = value;
OnPropertyChanged("場地編號");
}
}
}
///<summary>
/// 場地滿意度填答
///</summary>
[DataObjectField(false, false, true)]
public int 滿
{
get
{
return _場地滿意度填答;
}
set
{
if (value != _場地滿意度填答)
{
_場地滿意度填答 = value;
OnPropertyChanged("場地滿意度填答");
}
}
}
///<summary>
/// 場地滿意度分數
///</summary>
[DataObjectField(false, false, true)]
public int 滿
{
get
{
return _場地滿意度分數;
}
set
{
if (value != _場地滿意度分數)
{
_場地滿意度分數 = value;
OnPropertyChanged("場地滿意度分數");
}
}
}
///<summary>
/// 行政滿意度填答
///</summary>
[DataObjectField(false, false, true)]
public int 滿
{
get
{
return _行政滿意度填答;
}
set
{
if (value != _行政滿意度填答)
{
_行政滿意度填答 = value;
OnPropertyChanged("行政滿意度填答");
}
}
}
///<summary>
/// 行政滿意度分數
///</summary>
[DataObjectField(false, false, true)]
public int 滿
{
get
{
return _行政滿意度分數;
}
set
{
if (value != _行政滿意度分數)
{
_行政滿意度分數 = value;
OnPropertyChanged("行政滿意度分數");
}
}
}
///<summary>
/// 餐點滿意度填答
///</summary>
[DataObjectField(false, false, true)]
public int 滿
{
get
{
return _餐點滿意度填答;
}
set
{
if (value != _餐點滿意度填答)
{
_餐點滿意度填答 = value;
OnPropertyChanged("餐點滿意度填答");
}
}
}
///<summary>
/// 餐點滿意度分數
///</summary>
[DataObjectField(false, false, true)]
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("整體滿意度分數");
}
}
}
#endregion
}
}
@@ -0,0 +1,204 @@
//
// 這個檔案是 滿意度調查課程企劃 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
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 , 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
// 有另外加上去的屬性及方法,請加在這裡
public void Update(int , string , string UserId)
{
DAC_滿意度調查 Dao滿意度調查 = new DAC_滿意度調查();
滿調List d1 = Dao滿意度調查.SelectOne(, , 0, 1);
滿調List d2 = Dao滿意度調查.SelectOne(, , 0, 2);
滿調List d3 = Dao滿意度調查.SelectOne(, , 0, 3);
滿調List d4 = Dao滿意度調查.SelectOne(, , 0, 4);
int 滿 = 0;
int 滿 = 0;
int 滿 = 0;
int 滿 = 0;
if (d1.Count > 0)
滿 = d1[0].;
if (d2.Count > 0)
滿 = d2[0].;
if (d3.Count > 0)
滿 = d3[0].;
if (d4.Count > 0)
滿 = d4[0].;
滿調List d = SelectOne(, );
if (d.Count == 0)
{
滿調 newValue = new 滿調();
newValue. = ;
newValue. = ;
newValue. = new DAC_訓練課程企劃(conn).Select選定場地();
newValue.滿 = 滿;
newValue.滿 = 滿 * 20;
newValue.滿 = 滿;
newValue.滿 = 滿 * 20;
newValue.滿 = 滿;
newValue.滿 = 滿 * 20;
newValue.滿 = 滿;
newValue.滿 = 滿 * 20;
newValue.DB_CRUSR = UserId;
InsertOne(newValue);
}
else
{
d[0].滿 = 滿;
d[0].滿 = 滿 * 20;
d[0].滿 = 滿;
d[0].滿 = 滿 * 20;
d[0].滿 = 滿;
d[0].滿 = 滿 * 20;
d[0].滿 = 滿;
d[0].滿 = 滿 * 20;
d[0].DB_TRUSR = UserId;
UpdateOne(d[0]);
}
}
public DataTable Select滿意度統計(int )
{
DbCommand cmdSelect = NewCommand(
@"SELECT
(SELECT ISNULL(AVG(CAST(行政滿意度分數 AS FLOAT)), 0) FROM 滿意度調查課程企劃 WHERE 訓練課程企劃編號 = @訓練課程企劃編號) AS 行政滿意度,
(SELECT ISNULL(AVG(CAST(餐點滿意度分數 AS FLOAT)), 0) FROM 滿意度調查課程企劃 WHERE 訓練課程企劃編號 = @訓練課程企劃編號) AS 餐點滿意度,
(SELECT ISNULL(AVG(CAST(場地滿意度分數 AS FLOAT)), 0) FROM 滿意度調查課程企劃 WHERE 訓練課程企劃編號 = @訓練課程企劃編號) AS 場地滿意度,
(SELECT ISNULL(AVG(CAST(整體滿意度分數 AS FLOAT)), 0) FROM 滿意度調查課程企劃 WHERE 訓練課程企劃編號 = @訓練課程企劃編號) AS 整體滿意度,
(SELECT COUNT(1) FROM 滿意度調查課程企劃 WHERE 訓練課程企劃編號 = @訓練課程企劃編號) AS 回收數 ");
AddParam(cmdSelect, "訓練課程企劃編號", );
return Select(cmdSelect);
}
}
///<summary>
/// 滿意度調查課程企劃 資料集合類別
///</summary>
public partial class 滿調List : List<滿調>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 滿意度調查課程企劃 資料紀錄類別
///</summary>
public partial class 滿調
{
// 有另外加上去的屬性及方法,請加在這裡
}
}
@@ -0,0 +1,485 @@
//
// 這個檔案是 滿意度調查講師 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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 , 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, "授課方式分數", 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_課程序號", 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 , 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 , string , 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.GetString(reader[1]);
newItem. = DAC.GetInt32(reader[2]);
newItem. = DAC.GetInt32(reader[3]);
newItem. = DAC.GetInt32(reader[4]);
newItem. = DAC.GetInt32(reader[5]);
newItem. = DAC.GetInt32(reader[6]);
newItem. = DAC.GetInt32(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 string _學員編號;
private int _課程序號;
private int _講師編號;
private int _授課方式填答;
private int _授課方式分數;
private int _專業知識填答;
private int _專業知識分數;
#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("學員編號");
}
}
}
///<summary>
/// 課程序號
///</summary>
[DataObjectField(true, false, false)]
public int
{
get
{
return _課程序號;
}
set
{
if (value != _課程序號)
{
_課程序號 = value;
OnPropertyChanged("課程序號");
}
}
}
///<summary>
/// 講師編號
///</summary>
[DataObjectField(false, false, true)]
public int
{
get
{
return _講師編號;
}
set
{
if (value != _講師編號)
{
_講師編號 = value;
OnPropertyChanged("講師編號");
}
}
}
///<summary>
/// 授課方式填答
///</summary>
[DataObjectField(false, false, true)]
public int
{
get
{
return _授課方式填答;
}
set
{
if (value != _授課方式填答)
{
_授課方式填答 = value;
OnPropertyChanged("授課方式填答");
}
}
}
///<summary>
/// 授課方式分數
///</summary>
[DataObjectField(false, false, true)]
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("專業知識分數");
}
}
}
#endregion
}
}
@@ -0,0 +1,204 @@
//
// 這個檔案是 滿意度調查講師 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
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 , string , int , int DB_APPNO)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(int , string , int , int DB_APPNO)
{
}
///<summary>
/// DeleteOne 發生錯誤時會執行此方法
///</summary>
///<param name="handled">錯誤是否已經處理妥當</param>
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
#endregion
// 有另外加上去的屬性及方法,請加在這裡
public void Update(int , string , int , string UserId)
{
DAC_滿意度調查 Dao滿意度調查 = new DAC_滿意度調查();
滿調List d1 = Dao滿意度調查.SelectOne(, , , 2);
滿調List d2 = Dao滿意度調查.SelectOne(, , , 3);
int = 0;
int = 0;
if (d1.Count > 0)
= d1[0].;
if (d2.Count > 0)
= d2[0].;
int = new DAC_訓練課程企劃(conn).Select選定講師(, );
滿調List d = SelectOne(, , );
if (d.Count == 0)
{
滿調 newValue = new 滿調();
newValue. = ;
newValue. = ;
newValue. = ;
newValue. = ;
newValue. = ;
newValue. = * 20;
newValue. = ;
newValue. = * 20;
newValue.DB_CRUSR = UserId;
InsertOne(newValue);
}
else
{
d[0]. = ;
d[0]. = ;
d[0]. = * 20;
d[0]. = ;
d[0]. = * 20;
d[0].DB_TRUSR = UserId;
UpdateOne(d[0]);
}
}
public DataTable Select滿意度統計(int )
{
DbCommand cmdSelect = NewCommand(
@"SELECT A.訓練課程企劃編號, A.節次, A.講師編號, A.講師姓名,
(AVG(CAST(C.授課方式分數 AS FLOAT)) + AVG(CAST(C.專業知識分數 AS FLOAT))) / 2 AS 滿意度
FROM (
SELECT A.訓練課程企劃編號, A.節次, A.課程序號,
dbo.FN取得選定講師編號(A.訓練課程企劃編號, A.課程序號) AS 講師編號,
dbo.FN取得選定講師名稱(A.訓練課程企劃編號, A.課程序號) AS 講師姓名
FROM 訓練課程內容 A
WHERE A.訓練課程企劃編號 = @訓練課程企劃編號
) AS A
LEFT OUTER JOIN 滿意度調查講師 C ON A.訓練課程企劃編號 = C.訓練課程企劃編號 AND A.課程序號=C.課程序號
GROUP BY A.訓練課程企劃編號, A.節次, A.講師編號, A.講師姓名");
AddParam(cmdSelect, "訓練課程企劃編號", );
return Select(cmdSelect);
}
}
///<summary>
/// 滿意度調查講師 資料集合類別
///</summary>
public partial class 滿調List : List<滿調>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 滿意度調查講師 資料紀錄類別
///</summary>
public partial class 滿調
{
private string _講師姓名;
public string
{
get { return _講師姓名; }
set { _講師姓名 = value; }
}
}
}
@@ -0,0 +1,652 @@
//
// 這個檔案是 訓練效益 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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 訓練課程企劃編號, 填表序號, 填表人, 填表日期, 填表人站別, 填表人職稱, 問題1_1, 問題1_2, 問題2_1_1, 問題2_1_2, 問題2_1_3, 問題2_2_1, 問題2_2_2, 問題2_2_3, 問題3_1, DB_APPNO, DB_CRDAT, DB_CRUSR, DB_TRDAT, DB_TRUSR";
private string _insert = "訓練課程企劃編號, 填表序號, 填表人, 填表日期, 填表人站別, 填表人職稱, 問題1_1, 問題1_2, 問題2_1_1, 問題2_1_2, 問題2_1_3, 問題2_2_1, 問題2_2_2, 問題2_2_3, 問題3_1, DB_APPNO, DB_CRDAT, DB_CRUSR, DB_TRDAT, DB_TRUSR";
private string _insertValue = "@訓練課程企劃編號, @填表序號, @填表人, @填表日期, @填表人站別, @填表人職稱, @問題1_1, @問題1_2, @問題2_1_1, @問題2_1_2, @問題2_1_3, @問題2_2_1, @問題2_2_2, @問題2_2_3, @問題3_1, @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, "問題1_1", value.1_1);
AddParam(cmdInsert, "問題1_2", value.1_2);
AddParam(cmdInsert, "問題2_1_1", value.2_1_1);
AddParam(cmdInsert, "問題2_1_2", value.2_1_2);
AddParam(cmdInsert, "問題2_1_3", value.2_1_3);
AddParam(cmdInsert, "問題2_2_1", value.2_2_1);
AddParam(cmdInsert, "問題2_2_2", value.2_2_2);
AddParam(cmdInsert, "問題2_2_3", value.2_2_3);
AddParam(cmdInsert, "問題3_1", value.3_1);
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
填表人 = @填表人 ,
填表日期 = @填表日期 ,
填表人站別 = @填表人站別 ,
填表人職稱 = @填表人職稱 ,
問題1_1 = @問題1_1 ,
問題1_2 = @問題1_2 ,
問題2_1_1 = @問題2_1_1 ,
問題2_1_2 = @問題2_1_2 ,
問題2_1_3 = @問題2_1_3 ,
問題2_2_1 = @問題2_2_1 ,
問題2_2_2 = @問題2_2_2 ,
問題2_2_3 = @問題2_2_3 ,
問題3_1 = @問題3_1 ,
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, "問題1_1", value.1_1);
AddParam(cmdUpdate, "問題1_2", value.1_2);
AddParam(cmdUpdate, "問題2_1_1", value.2_1_1);
AddParam(cmdUpdate, "問題2_1_2", value.2_1_2);
AddParam(cmdUpdate, "問題2_1_3", value.2_1_3);
AddParam(cmdUpdate, "問題2_2_1", value.2_2_1);
AddParam(cmdUpdate, "問題2_2_2", value.2_2_2);
AddParam(cmdUpdate, "問題2_2_3", value.2_2_3);
AddParam(cmdUpdate, "問題3_1", value.3_1);
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.GetString(reader[2]);
newItem. = DAC.GetDateTime(reader[3]);
newItem. = DAC.GetString(reader[4]);
newItem. = DAC.GetString(reader[5]);
newItem.1_1 = DAC.GetString(reader[6]);
newItem.1_2 = DAC.GetString(reader[7]);
newItem.2_1_1 = DAC.GetString(reader[8]);
newItem.2_1_2 = DAC.GetString(reader[9]);
newItem.2_1_3 = DAC.GetString(reader[10]);
newItem.2_2_1 = DAC.GetString(reader[11]);
newItem.2_2_2 = DAC.GetString(reader[12]);
newItem.2_2_3 = DAC.GetString(reader[13]);
newItem.3_1 = DAC.GetString(reader[14]);
newItem.DB_APPNO = DAC.GetInt32(reader[15]);
newItem.DB_CRDAT = DAC.GetDateTime(reader[16]);
newItem.DB_CRUSR = DAC.GetString(reader[17]);
newItem.DB_TRDAT = DAC.GetDateTime(reader[18]);
newItem.DB_TRUSR = DAC.GetString(reader[19]);
Add(newItem);
}
}
}
///<summary>
/// 訓練效益 資料紀錄類別
///</summary>
[Serializable]
public partial class : DataItemBase
{
private int _訓練課程企劃編號;
private int _填表序號;
private string _填表人;
private DateTime _填表日期;
private string _填表人站別;
private string _填表人職稱;
private string _問題1_1;
private string _問題1_2;
private string _問題2_1_1;
private string _問題2_1_2;
private string _問題2_1_3;
private string _問題2_2_1;
private string _問題2_2_2;
private string _問題2_2_3;
private string _問題3_1;
#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, 50)]
public string
{
get
{
return _填表人;
}
set
{
if (value != _填表人)
{
_填表人 = value;
OnPropertyChanged("填表人");
}
}
}
///<summary>
/// 填表日期
///</summary>
[DataObjectField(false, false, true)]
public DateTime
{
get
{
return _填表日期;
}
set
{
if (value != _填表日期)
{
_填表日期 = value;
OnPropertyChanged("填表日期");
}
}
}
///<summary>
/// 填表人站別
///</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>
/// 問題1_1
///</summary>
[DataObjectField(false, false, true, 200)]
public string 1_1
{
get
{
return _問題1_1;
}
set
{
if (value != _問題1_1)
{
_問題1_1 = value;
OnPropertyChanged("問題1_1");
}
}
}
///<summary>
/// 問題1_2
///</summary>
[DataObjectField(false, false, true, 200)]
public string 1_2
{
get
{
return _問題1_2;
}
set
{
if (value != _問題1_2)
{
_問題1_2 = value;
OnPropertyChanged("問題1_2");
}
}
}
///<summary>
/// 問題2_1_1
///</summary>
[DataObjectField(false, false, true, 200)]
public string 2_1_1
{
get
{
return _問題2_1_1;
}
set
{
if (value != _問題2_1_1)
{
_問題2_1_1 = value;
OnPropertyChanged("問題2_1_1");
}
}
}
///<summary>
/// 問題2_1_2
///</summary>
[DataObjectField(false, false, true, 200)]
public string 2_1_2
{
get
{
return _問題2_1_2;
}
set
{
if (value != _問題2_1_2)
{
_問題2_1_2 = value;
OnPropertyChanged("問題2_1_2");
}
}
}
///<summary>
/// 問題2_1_3
///</summary>
[DataObjectField(false, false, true, 200)]
public string 2_1_3
{
get
{
return _問題2_1_3;
}
set
{
if (value != _問題2_1_3)
{
_問題2_1_3 = value;
OnPropertyChanged("問題2_1_3");
}
}
}
///<summary>
/// 問題2_2_1
///</summary>
[DataObjectField(false, false, true, 200)]
public string 2_2_1
{
get
{
return _問題2_2_1;
}
set
{
if (value != _問題2_2_1)
{
_問題2_2_1 = value;
OnPropertyChanged("問題2_2_1");
}
}
}
///<summary>
/// 問題2_2_2
///</summary>
[DataObjectField(false, false, true, 200)]
public string 2_2_2
{
get
{
return _問題2_2_2;
}
set
{
if (value != _問題2_2_2)
{
_問題2_2_2 = value;
OnPropertyChanged("問題2_2_2");
}
}
}
///<summary>
/// 問題2_2_3
///</summary>
[DataObjectField(false, false, true, 200)]
public string 2_2_3
{
get
{
return _問題2_2_3;
}
set
{
if (value != _問題2_2_3)
{
_問題2_2_3 = value;
OnPropertyChanged("問題2_2_3");
}
}
}
///<summary>
/// 問題3_1
///</summary>
[DataObjectField(false, false, true, 200)]
public string 3_1
{
get
{
return _問題3_1;
}
set
{
if (value != _問題3_1)
{
_問題3_1 = value;
OnPropertyChanged("問題3_1");
}
}
}
#endregion
}
}
@@ -0,0 +1,161 @@
//
// 這個檔案是 訓練效益 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
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
// 有另外加上去的屬性及方法,請加在這裡
public int Next填表序號(int )
{
DbCommand cmd = NewCommand("select isnull(max(填表序號), 0) + 1 from "
+ _tableName + " where 訓練課程企劃編號 = @訓練課程企劃編號 ");
AddParam(cmd, "訓練課程企劃編號", );
int i;
ExecuteScalar(cmd, 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,402 @@
//
// 這個檔案是 訓練效益個人 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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, "學員編號", 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 學員編號 = @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 , 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.GetInt32(reader[1]);
newItem. = DAC.GetString(reader[2]);
newItem. = DAC.GetString(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 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, 20)]
public string
{
get
{
return _學員編號;
}
set
{
if (value != _學員編號)
{
_學員編號 = value;
OnPropertyChanged("學員編號");
}
}
}
///<summary>
/// 是否有成效
///</summary>
[DataObjectField(false, false, true, 1)]
public string
{
get
{
return _是否有成效;
}
set
{
if (value != _是否有成效)
{
_是否有成效 = value;
OnPropertyChanged("是否有成效");
}
}
}
///<summary>
/// 成效說明
///</summary>
[DataObjectField(false, false, true, 100)]
public string
{
get
{
return _成效說明;
}
set
{
if (value != _成效說明)
{
_成效說明 = value;
OnPropertyChanged("成效說明");
}
}
}
#endregion
}
}
@@ -0,0 +1,196 @@
//
// 這個檔案是 訓練效益個人 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
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 , 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
// 有另外加上去的屬性及方法,請加在這裡
[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 void Update(int , int , string , string , string )
{
List d = SelectOne(, );
if (d.Count == 0)
{
newValue = new ();
newValue. = ;
newValue. = ;
newValue. = ;
newValue. = ;
newValue. = ;
InsertOne(newValue);
}
else
{
d[0]. = ;
d[0]. = ;
UpdateOne(d[0]);
}
}
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable SelectFor簽核(int , int )
{
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText =
@"SELECT A.學員編號, B.BPNME AS 學員姓名,
C.RAJNO AS 職務編號, G.BPJME AS 職務名稱,
C.RACNO AS 等級編號, H.BPCME AS 等級名稱,
A.是否有成效, A.成效說明
FROM 訓練效益個人 A
INNER JOIN BPSNView B ON A.學員編號 = B.BPENO
LEFT OUTER JOIN RASN C on A.學員編號 = C.RANUM and C.RAEDT is NULL
left outer join BPJA G on G.BPPYN = C.RAPYN and G.BPJNO = C.RAJNO
left outer join BPJB H on H.BPPYN = C.RAPYN and H.BPJNO = C.RAJNO and H.BPCNO = C.RACNO
WHERE A.訓練課程企劃編號 = @訓練課程企劃編號 AND A.填表序號 = @填表序號
ORDER BY A.學員編號";
AddParam(cmdSelect, "訓練課程企劃編號", );
AddParam(cmdSelect, "填表序號", );
return Select(cmdSelect);
}
}
///<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,136 @@
//
// 這個檔案是 訓練檢討報告 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
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 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
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 訓練檢討報告 資料集合類別
///</summary>
public partial class List : List<>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 訓練檢討報告 資料紀錄類別
///</summary>
public partial class
{
// 有另外加上去的屬性及方法,請加在這裡
}
}
@@ -0,0 +1,352 @@
//
// 這個檔案是 課程剪影 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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, "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, "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.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(false, false, true, 200)]
public string
{
get
{
return _照片說明;
}
set
{
if (value != _照片說明)
{
_照片說明 = value;
OnPropertyChanged("照片說明");
}
}
}
#endregion
}
}
@@ -0,0 +1,173 @@
//
// 這個檔案是 課程剪影 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
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 , 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
// 有另外加上去的屬性及方法,請加在這裡
public int Next照片序號(int )
{
DbCommand cmdSelect = NewCommand("SELECT ISNULL(MAX(照片序號), 0) + 1 FROM " + _tableName
+ " WHERE 課程企劃編號 = @課程企劃編號 ");
AddParam(cmdSelect, "課程企劃編號", );
int i;
ExecuteScalar(cmdSelect, out i);
return i;
}
[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課程剪影摘要()
{
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText =
@"SELECT A.課程企劃編號, MIN(A.照片序號) AS 照片序號, B.訓練日期, B.訓練名稱
FROM 課程剪影 A
INNER JOIN 訓練課程企劃 B ON A.課程企劃編號 = B.編號
GROUP BY A.課程企劃編號, B.訓練日期, B.訓練名稱
ORDER BY B.訓練日期 DESC";
return Select(cmdSelect);
}
}
///<summary>
/// 課程剪影 資料集合類別
///</summary>
public partial class List : List<>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 課程剪影 資料紀錄類別
///</summary>
public partial class
{
// 有另外加上去的屬性及方法,請加在這裡
}
}
@@ -0,0 +1,402 @@
//
// 這個檔案是 課程經費 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
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, "摘要", 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.GetString(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 string _收支;
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, 1)]
public string
{
get
{
return _收支;
}
set
{
if (value != _收支)
{
_收支 = value;
OnPropertyChanged("收支");
}
}
}
///<summary>
/// 金額
///</summary>
[DataObjectField(false, false, true)]
public int
{
get
{
return _金額;
}
set
{
if (value != _金額)
{
_金額 = value;
OnPropertyChanged("金額");
}
}
}
///<summary>
/// 摘要
///</summary>
[DataObjectField(false, false, true, 500)]
public string
{
get
{
return _摘要;
}
set
{
if (value != _摘要)
{
_摘要 = value;
OnPropertyChanged("摘要");
}
}
}
#endregion
}
}
@@ -0,0 +1,177 @@
//
// 這個檔案是 課程經費 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
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
// 有另外加上去的屬性及方法,請加在這裡
[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 int Get經費合計(int )
{
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText =
@"select isnull(sum(金額), 0) from 課程經費 where 訓練課程企劃編號 = @訓練課程企劃編號 and 收支='支'";
// @"select
// (select isnull(sum(金額), 0) from 課程經費 where 訓練課程企劃編號 = @訓練課程企劃編號 and 收支='支')
// -
// (select isnull(sum(金額), 0) from 課程經費 where 訓練課程企劃編號 = @訓練課程企劃編號 and 收支='收')";
AddParam(cmdSelect, "訓練課程企劃編號", );
int i;
ExecuteScalar(cmdSelect, out i);
return i;
}
private int Next單據序號(int )
{
DbCommand cmdSelect = NewCommand(@"select isnull(max(單據序號), 0) + 1 from "
+ _tableName + " where 訓練課程企劃編號 = @訓練課程企劃編號");
AddParam(cmdSelect, "訓練課程企劃編號", );
int i;
ExecuteScalar(cmdSelect, out i);
return i;
}
}
///<summary>
/// 課程經費 資料集合類別
///</summary>
public partial class List : List<>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 課程經費 資料紀錄類別
///</summary>
public partial class
{
// 有另外加上去的屬性及方法,請加在這裡
}
}
@@ -0,0 +1,882 @@
//
// 這個檔案是 講師外訓滿意度 資料表的資料存取類別 檔案一
// 請不要修改這個檔案,重新產生資料存取類別時,這個檔案會被覆蓋掉
//
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using System.Linq;
using System.Transactions;
using WebLib;
using System.Data.SqlClient;
namespace Education
{
///<summary>
/// 講師外訓滿意度 資料存取類別
///</ summary>
[DataObject]
public partial class DAC_講師外訓滿意度 : WebLib.DAC
{
private const string _tableName = "[講師外訓滿意度]";
private const string _allFields = "[編號], [講師編號], [日期], [地點], [人數], [對象], [課程名稱], [專業度], [授課技巧], [互動氛圍], [內容切題], [配合度], [學員滿意度], [跟課觀察], [講師授課方式], [DB_APPNO], [DB_CRDAT], [DB_CRUSR], [DB_TRDAT], [DB_TRUSR]";
private string _orderBy = "[編號]";
private string _select = "select " + _allFields;
private string _insert = "[講師編號], [日期], [地點], [人數], [對象], [課程名稱], [專業度], [授課技巧], [互動氛圍], [內容切題], [配合度], [學員滿意度], [跟課觀察], [講師授課方式], [DB_APPNO], [DB_CRDAT], [DB_CRUSR], [DB_TRDAT], [DB_TRUSR]";
private string _insertBak = "[編號], [講師編號], [日期], [地點], [人數], [對象], [課程名稱], [專業度], [授課技巧], [互動氛圍], [內容切題], [配合度], [學員滿意度], [跟課觀察], [講師授課方式], [DB_APPNO], [DB_CRDAT], [DB_CRUSR], [DB_TRDAT], [DB_TRUSR], [DB_TRMOD]";
private string _insertValue = "@講師編號, @日期, @地點, @人數, @對象, @課程名稱, @專業度, @授課技巧, @互動氛圍, @內容切題, @配合度, @學員滿意度, @跟課觀察, @講師授課方式, @DB_APPNO, @DB_CRDAT, @DB_CRUSR, @DB_TRDAT, @DB_TRUSR";
private string _insertBakValue = "@編號, @講師編號, @日期, @地點, @人數, @對象, @課程名稱, @專業度, @授課技巧, @互動氛圍, @內容切題, @配合度, @學員滿意度, @跟課觀察, @講師授課方式, @DB_APPNO, @DB_CRDAT, @DB_CRUSR, @DB_TRDAT, @DB_TRUSR, @DB_TRMOD";
private string _from = " from " + _tableName + " ";
private string _where = " where 1=1 ";
private string _order = " order by [編號] ";
public DAC_講師外訓滿意度()
: base()
{
}
public DAC_講師外訓滿意度(DbConnection conn)
: base(conn)
{
}
[DataObjectMethod(DataObjectMethodType.Select)]
public 滿List SelectAll(string orderBy = "")
{
滿List result = new 滿List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where + (orderBy == null || orderBy.Length == 0 ? _order : " order by " + orderBy);
Select(cmdSelect, ref list);
return result;
}
public int SelectAllCount()
{
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = "select count(1) " + _from;
int i;
ExecuteScalar(cmdSelect, out i);
return i;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public 滿List SelectAllPage(int startRowIndex, int maximumRows, string orderBy = "")
{
滿List result = new 滿List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText =
String.Format("select top {0} * from (", maximumRows)
+ "select " + _allFields
+ ", row_number() over (order by " + (orderBy == null || orderBy.Length == 0 ? _orderBy : orderBy) + ") as rowid "
+ _from + _where
+ ") as TMP1 where rowid > @startRowIndex ";
AddParam(cmdSelect, "startRowIndex", startRowIndex);
Select(cmdSelect, ref list);
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public 滿List SelectOne(int )
{
滿List result = new 滿List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where
+ " and 編號 = @編號 "
;
AddParam(cmdSelect, "編號", );
Select(cmdSelect, ref list);
return result;
}
///<summary>
/// 給查詢畫面用的增加 Where 條件的方法
///</summary>
private void AddWhere(DbCommand cmdSelect, ref bool noInput, int? , int? , DateTime? _1, DateTime? _2, string , int? _1, int? _2, string , string )
{
if ( != null)
{
noInput = false;
cmdSelect.CommandText += " and 編號 = @編號 ";
AddParam(cmdSelect, "編號", );
}
if ( != null)
{
noInput = false;
cmdSelect.CommandText += " and 講師編號 = @講師編號 ";
AddParam(cmdSelect, "講師編號", );
}
if (_1 != null && _2 != null)
{
noInput = false;
cmdSelect.CommandText += " and 日期 >= @日期_1 and 日期 <= @日期_2 ";
AddParam(cmdSelect, "日期_1", _1);
AddParam(cmdSelect, "日期_2", _2);
}
else if (_1 != null && _2 == null)
{
noInput = false;
cmdSelect.CommandText += " and 日期 >= @日期_1 ";
AddParam(cmdSelect, "日期_1", _1);
}
else if (_1 == null && _2 != null)
{
noInput = false;
cmdSelect.CommandText += " and 日期 <= @日期_2 ";
AddParam(cmdSelect, "日期_2", _2);
}
if ( != null && .Length > 0)
{
noInput = false;
cmdSelect.CommandText += " and 地點 like @地點 ";
AddParam(cmdSelect, "地點", "%" + + "%");
}
if (_1 != null && _2 != null)
{
noInput = false;
cmdSelect.CommandText += " and 人數 >= @人數_1 and 人數 <= @人數_2 ";
AddParam(cmdSelect, "人數_1", _1);
AddParam(cmdSelect, "人數_2", _2);
}
else if (_1 != null && _2 == null)
{
noInput = false;
cmdSelect.CommandText += " and 人數 >= @人數_1 ";
AddParam(cmdSelect, "人數_1", _1);
}
else if (_1 == null && _2 != null)
{
noInput = false;
cmdSelect.CommandText += " and 人數 <= @人數_2 ";
AddParam(cmdSelect, "人數_2", _2);
}
if ( != null && .Length > 0)
{
noInput = false;
cmdSelect.CommandText += " and 對象 like @對象 ";
AddParam(cmdSelect, "對象", "%" + + "%");
}
if ( != null && .Length > 0)
{
noInput = false;
cmdSelect.CommandText += " and 課程名稱 like @課程名稱 ";
AddParam(cmdSelect, "課程名稱", "%" + + "%");
}
}
///<summary>
/// 給查詢畫面用的 Select 方法
///</summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public 滿List Select(bool noInputReturnAll, int? , int? , DateTime? _1, DateTime? _2, string , int? _1, int? _2, string , string , string orderBy = "")
{
滿List result = new 滿List();
bool noInput = true;
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where;
AddWhere(cmdSelect, ref noInput, , , _1, _2, , _1, _2, , );
cmdSelect.CommandText += (orderBy == null || orderBy.Length == 0 ? _order : " order by " + orderBy);
if (!noInputReturnAll && noInput)
return result;
Select(cmdSelect, ref list);
return result;
}
///<summary>
/// 給查詢畫面用的 SelectCount 方法
///</summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public int SelectCount(bool noInputReturnAll, int? , int? , DateTime? _1, DateTime? _2, string , int? _1, int? _2, string , string , string orderBy = "")
{
bool noInput = true;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = "select count(1) " + _from + _where;
AddWhere(cmdSelect, ref noInput, , , _1, _2, , _1, _2, , );
if (!noInputReturnAll && noInput)
return 0;
int i;
ExecuteScalar(cmdSelect, out i);
return i;
}
///<summary>
/// 給查詢畫面用的 SelectPage 方法
///</summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public 滿List SelectPage(bool noInputReturnAll, int startRowIndex, int maximumRows, int? , int? , DateTime? _1, DateTime? _2, string , int? _1, int? _2, string , string , string orderBy = "")
{
滿List result = new 滿List();
bool noInput = true;
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText =
String.Format("select top {0} * from (", maximumRows)
+ "select " + _allFields
+ ", row_number() over (order by " + (orderBy == null || orderBy.Length == 0 ? _orderBy : orderBy) + ") as rowid "
+ _from + _where;
AddWhere(cmdSelect, ref noInput, , , _1, _2, , _1, _2, , );
cmdSelect.CommandText += ") as TMP1 where rowid > @startRowIndex ";
AddParam(cmdSelect, "startRowIndex", startRowIndex);
if (!noInputReturnAll && noInput)
return result;
Select(cmdSelect, ref list);
return result;
}
[DataObjectMethod(DataObjectMethodType.Insert)]
public 滿Item InsertOne(滿Item value)
{
using (TransactionScope ts = DAC.NewTransactionScope())
{
try
{
if (!BeforeInsertOne(value))
return value;
DbCommand cmdInsert = NewCommand();
cmdInsert.CommandText =
"insert into [講師外訓滿意度]"
+ " (" + _insert + ")"
+ "values "
+ " (" + _insertValue + ");" + "select @@identity"
;
AddParam(cmdInsert, "講師編號", value.);
AddParam(cmdInsert, "日期", value.);
AddParam(cmdInsert, "地點", value.);
AddParam(cmdInsert, "人數", value.);
AddParam(cmdInsert, "對象", value.);
AddParam(cmdInsert, "課程名稱", value.);
AddParam(cmdInsert, "專業度", value.);
AddParam(cmdInsert, "授課技巧", value.);
AddParam(cmdInsert, "互動氛圍", value.);
AddParam(cmdInsert, "內容切題", value.);
AddParam(cmdInsert, "配合度", value.);
AddParam(cmdInsert, "學員滿意度", value.滿);
AddParam(cmdInsert, "跟課觀察", value.);
AddParam(cmdInsert, "講師授課方式", value.);
AddParam(cmdInsert, "DB_APPNO", 1);
AddParam(cmdInsert, "DB_CRDAT", DateTime.Now);
AddParam(cmdInsert, "DB_CRUSR", CurrentUserId);
AddParam(cmdInsert, "DB_TRDAT", DBNull.Value);
AddParam(cmdInsert, "DB_TRUSR", DBNull.Value);
int newId;
ExecuteScalar(cmdInsert, out newId);
value. = newId;
AfterInsertOne(value);
ts.Complete();
}
catch (Exception error)
{
bool handled;
OnInsertOneError(error, out handled);
if(!handled)
throw error;
}
return value;
}
}
[DataObjectMethod(DataObjectMethodType.Update)]
public 滿Item UpdateOne(滿Item value)
{
using (TransactionScope ts = DAC.NewTransactionScope())
{
try
{
if (!BeforeUpdateOne(value))
return value;
滿List oldValues = SelectOne(value.);
if (oldValues.Count == 0 || oldValues[0].DB_APPNO != value.DB_APPNO)
{
throw new DBConcurrencyException("在更新 \"講師外訓滿意度\" 資料表時發生並行例外:找不到要更新的資料列");
}
DbCommand cmdUpdate = NewCommand();
cmdUpdate.CommandText =
@"update [講師外訓滿意度]
set
[講師編號] = @講師編號 ,
[日期] = @日期 ,
[地點] = @地點 ,
[人數] = @人數 ,
[對象] = @對象 ,
[課程名稱] = @課程名稱 ,
[專業度] = @專業度 ,
[授課技巧] = @授課技巧 ,
[互動氛圍] = @互動氛圍 ,
[內容切題] = @內容切題 ,
[配合度] = @配合度 ,
[學員滿意度] = @學員滿意度 ,
[跟課觀察] = @跟課觀察 ,
[講師授課方式] = @講師授課方式 ,
DB_APPNO = DB_APPNO + 1,
DB_TRDAT = @DB_TRDAT,
DB_TRUSR = @DB_TRUSR
where 1=1
and [編號] = @original_編號
and DB_APPNO = @original_DB_APPNO
";
AddParam(cmdUpdate, "講師編號", value.);
AddParam(cmdUpdate, "日期", value.);
AddParam(cmdUpdate, "地點", value.);
AddParam(cmdUpdate, "人數", value.);
AddParam(cmdUpdate, "對象", value.);
AddParam(cmdUpdate, "課程名稱", value.);
AddParam(cmdUpdate, "專業度", value.);
AddParam(cmdUpdate, "授課技巧", value.);
AddParam(cmdUpdate, "互動氛圍", value.);
AddParam(cmdUpdate, "內容切題", value.);
AddParam(cmdUpdate, "配合度", value.);
AddParam(cmdUpdate, "學員滿意度", value.滿);
AddParam(cmdUpdate, "跟課觀察", value.);
AddParam(cmdUpdate, "講師授課方式", value.);
AddParam(cmdUpdate, "DB_TRDAT", DateTime.Now);
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
AddParam(cmdUpdate, "original_編號", value.);
AddParam(cmdUpdate, "original_DB_APPNO", value.DB_APPNO);
ExecuteNonQuery(cmdUpdate);
AfterUpdateOne(value);
ts.Complete();
return value;
}
catch (Exception error)
{
bool handled;
OnUpdateOneError(error, out handled);
if(!handled)
throw error;
return value;
}
}
}
[DataObjectMethod(DataObjectMethodType.Update)]
public 滿Item UpdateOne(滿Item value, 滿Item original_value)
{
using (TransactionScope ts = DAC.NewTransactionScope())
{
try
{
if (!BeforeUpdateOne(value, original_value))
return value;
滿List oldValues = SelectOne(original_value.);
if (oldValues.Count == 0 || oldValues[0].DB_APPNO != value.DB_APPNO)
{
throw new DBConcurrencyException("在更新 \"講師外訓滿意度\" 資料表時發生並行例外:找不到要更新的資料列");
}
DbCommand cmdUpdate = NewCommand();
cmdUpdate.CommandText =
@"update [講師外訓滿意度]
set
[講師編號] = @講師編號 ,
[日期] = @日期 ,
[地點] = @地點 ,
[人數] = @人數 ,
[對象] = @對象 ,
[課程名稱] = @課程名稱 ,
[專業度] = @專業度 ,
[授課技巧] = @授課技巧 ,
[互動氛圍] = @互動氛圍 ,
[內容切題] = @內容切題 ,
[配合度] = @配合度 ,
[學員滿意度] = @學員滿意度 ,
[跟課觀察] = @跟課觀察 ,
[講師授課方式] = @講師授課方式 ,
DB_APPNO = DB_APPNO + 1,
DB_TRDAT = @DB_TRDAT,
DB_TRUSR = @DB_TRUSR
where 1=1
and [編號] = @original_編號
and DB_APPNO = @original_DB_APPNO
";
AddParam(cmdUpdate, "講師編號", value.);
AddParam(cmdUpdate, "日期", value.);
AddParam(cmdUpdate, "地點", value.);
AddParam(cmdUpdate, "人數", value.);
AddParam(cmdUpdate, "對象", value.);
AddParam(cmdUpdate, "課程名稱", value.);
AddParam(cmdUpdate, "專業度", value.);
AddParam(cmdUpdate, "授課技巧", value.);
AddParam(cmdUpdate, "互動氛圍", value.);
AddParam(cmdUpdate, "內容切題", value.);
AddParam(cmdUpdate, "配合度", value.);
AddParam(cmdUpdate, "學員滿意度", value.滿);
AddParam(cmdUpdate, "跟課觀察", value.);
AddParam(cmdUpdate, "講師授課方式", value.);
AddParam(cmdUpdate, "DB_TRDAT", DateTime.Now);
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
AddParam(cmdUpdate, "original_編號", original_value.);
AddParam(cmdUpdate, "original_DB_APPNO", original_value.DB_APPNO);
ExecuteNonQuery(cmdUpdate);
AfterUpdateOne(value, original_value);
ts.Complete();
return value;
}
catch (Exception error)
{
bool handled;
OnUpdateOneError(error, out handled);
if(!handled)
throw error;
return value;
}
}
}
[DataObjectMethod(DataObjectMethodType.Delete)]
public int DeleteOne(int , int DB_APPNO)
{
using (TransactionScope ts = DAC.NewTransactionScope())
{
try
{
if (!BeforeDeleteOne(, DB_APPNO))
return -1;
滿List oldValues = SelectOne();
if (oldValues.Count == 0 || oldValues[0].DB_APPNO != DB_APPNO)
{
throw new DBConcurrencyException("在刪除 \"講師外訓滿意度\" 資料表時發生並行例外:找不到要刪除的資料列");
}
DbCommand cmdDelete = NewCommand();
cmdDelete.CommandText =
@"delete from [講師外訓滿意度]
where 1=1
and 編號 = @編號
and DB_APPNO = @DB_APPNO
";
AddParam(cmdDelete, "編號", );
AddParam(cmdDelete, "DB_APPNO", DB_APPNO);
int rowsAffected = ExecuteNonQuery(cmdDelete);
AfterDeleteOne(, DB_APPNO);
ts.Complete();
return rowsAffected;
}
catch (Exception error)
{
bool handled;
OnDeleteOneError(error, out handled);
if(!handled)
throw error;
return -1;
}
}
}
[DataObjectMethod(DataObjectMethodType.Delete)]
public int DeleteOne(滿Item value)
{
using (TransactionScope ts = DAC.NewTransactionScope())
{
try
{
if (!BeforeDeleteOne(value))
return -1;
滿List oldValues = SelectOne(value.);
if (oldValues.Count == 0 || oldValues[0].DB_APPNO != value.DB_APPNO)
{
throw new DBConcurrencyException("在刪除 \"講師外訓滿意度\" 資料表時發生並行例外:找不到要刪除的資料列");
}
DbCommand cmdDelete = NewCommand();
cmdDelete.CommandText =
@"delete from [講師外訓滿意度]
where 1=1
and 編號 = @編號
and DB_APPNO = @DB_APPNO
";
AddParam(cmdDelete, "編號", value.);
AddParam(cmdDelete, "DB_APPNO", value.DB_APPNO);
int rowsAffected = ExecuteNonQuery(cmdDelete);
AfterDeleteOne(value);
ts.Complete();
return rowsAffected;
}
catch (Exception error)
{
bool handled;
OnDeleteOneError(error, out handled);
if(!handled)
throw error;
return -1;
}
}
}
public bool IsDuplicate(int )
{
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = "select count(1)" + _from + _where
+ " and 編號 = @編號 "
;
AddParam(cmdSelect, "編號", );
int count;
ExecuteScalar(cmdSelect, out count);
return count > 0;
}
}
///<summary>
///講師外訓滿意度 資料集合類別
///</summary>
[Serializable]
public partial class 滿List : List<滿Item>, IDataList
{
public void Fill(DbDataReader reader)
{
DAC.FillData<滿Item>(reader, this);
}
}
///<summary>
/// 講師外訓滿意度 資料紀錄類別
///</summary>
[Serializable]
public partial class 滿Item : DataItemBase
{
private int _編號;
private int _講師編號;
private DateTime? _日期;
private string _地點;
private int? _人數;
private string _對象;
private string _課程名稱;
private int? _專業度;
private int? _授課技巧;
private int? _互動氛圍;
private int? _內容切題;
private int? _配合度;
private int? _學員滿意度;
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, 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, 100)]
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, 100)]
public string
{
get
{
return _課程名稱;
}
set
{
if (value != _課程名稱)
{
_課程名稱 = value;
OnPropertyChanged("課程名稱");
}
}
}
///<summary>
/// 專業度
///</summary>
[DataObjectField(false, false, true)]
public int?
{
get
{
return _專業度;
}
set
{
if (value != _專業度)
{
_專業度 = value;
OnPropertyChanged("專業度");
}
}
}
///<summary>
/// 授課技巧
///</summary>
[DataObjectField(false, false, true)]
public int?
{
get
{
return _授課技巧;
}
set
{
if (value != _授課技巧)
{
_授課技巧 = value;
OnPropertyChanged("授課技巧");
}
}
}
///<summary>
/// 互動氛圍
///</summary>
[DataObjectField(false, false, true)]
public int?
{
get
{
return _互動氛圍;
}
set
{
if (value != _互動氛圍)
{
_互動氛圍 = value;
OnPropertyChanged("互動氛圍");
}
}
}
///<summary>
/// 內容切題
///</summary>
[DataObjectField(false, false, true)]
public int?
{
get
{
return _內容切題;
}
set
{
if (value != _內容切題)
{
_內容切題 = value;
OnPropertyChanged("內容切題");
}
}
}
///<summary>
/// 配合度
///</summary>
[DataObjectField(false, false, true)]
public int?
{
get
{
return _配合度;
}
set
{
if (value != _配合度)
{
_配合度 = value;
OnPropertyChanged("配合度");
}
}
}
///<summary>
/// 學員滿意度
///</summary>
[DataObjectField(false, false, true)]
public int? 滿
{
get
{
return _學員滿意度;
}
set
{
if (value != _學員滿意度)
{
_學員滿意度 = value;
OnPropertyChanged("學員滿意度");
}
}
}
///<summary>
/// 跟課觀察
///</summary>
[DataObjectField(false, false, true, 500)]
public string
{
get
{
return _跟課觀察;
}
set
{
if (value != _跟課觀察)
{
_跟課觀察 = value;
OnPropertyChanged("跟課觀察");
}
}
}
///<summary>
/// 講師授課方式
///</summary>
[DataObjectField(false, false, true, 500)]
public string
{
get
{
return _講師授課方式;
}
set
{
if (value != _講師授課方式)
{
_講師授課方式 = value;
OnPropertyChanged("講師授課方式");
}
}
}
#endregion
}
}
@@ -0,0 +1,156 @@
//
// 這個檔案是 講師外訓滿意度 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
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)
{
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)
{
return true;
}
///<summary>
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///</summary>
protected virtual bool BeforeUpdateOne(滿Item value, 滿Item original_value)
{
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 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
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
///講師外訓滿意度 資料集合類別
///</summary>
public partial class 滿List : List<滿Item>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
///講師外訓滿意度 資料紀錄類別
///</summary>
public partial class 滿Item
{
// 有另外加上去的屬性及方法,請加在這裡
public int
{
get { return DAC.GetInt32() + DAC.GetInt32() + DAC.GetInt32() + DAC.GetInt32() + DAC.GetInt32(); }
}
}
}