chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -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(配合度); }
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user