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

343 lines
12 KiB
C#

//
// 這個檔案是 講師遴選 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using WebLib;
using System.Data.SqlClient;
namespace Education
{
///<summary>
/// 講師遴選 資料存取類別
///</summary>
public partial class DAC_講師遴選 : WebLib.DAC
{
///<summary>
/// 給查詢畫面用的 Select 方法
///</summary>
[DataObjectMethod(DataObjectMethodType.Select)]
public 講師遴選List Select()
{
講師遴選List result = new 講師遴選List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where;
cmdSelect.CommandText += _order;
Select(cmdSelect, ref list);
return result;
}
///<summary>
/// InsertOne 之前會執行此方法
/// 在這裡可以做一些檢查或是自動編號等動作
/// 回傳 false 會打斷 InsertOne 的執行
///</summary>
protected virtual bool BeforeInsertOne(講師遴選 value)
{
value.合計_A = value.專業背景_A + value.講授經驗_A + value.口碑與評價_A + value.費用_A + value.配合度_A;
value.合計_B = value.專業背景_B + value.講授經驗_B + value.口碑與評價_B + value.費用_B + value.配合度_B;
value.合計_C = value.專業背景_C + value.講授經驗_C + value.口碑與評價_C + value.費用_C + value.配合度_C;
return true;
}
///<summary>
/// InsertOne 之後會執行此方法
///</summary>
protected virtual void AfterInsertOne(講師遴選 value)
{
}
///<summary>
/// InsertOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnInsertOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///</summary>
protected virtual bool BeforeUpdateOne(講師遴選 value)
{
value.合計_A = value.專業背景_A + value.講授經驗_A + value.口碑與評價_A + value.費用_A + value.配合度_A;
value.合計_B = value.專業背景_B + value.講授經驗_B + value.口碑與評價_B + value.費用_B + value.配合度_B;
value.合計_C = value.專業背景_C + value.講授經驗_C + value.口碑與評價_C + value.費用_C + value.配合度_C;
return true;
}
///<summary>
/// UpdateOne 之後會執行此方法
///</summary>
protected virtual void AfterUpdateOne(講師遴選 value)
{
}
///<summary>
/// UpdateOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnUpdateOneError(Exception error, out bool handled)
{
handled = false;
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne(講師遴選 value)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(講師遴選 value)
{
}
///<summary>
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///</summary>
protected virtual bool BeforeDeleteOne(int 課程企劃編號, int 課程序號, int DB_APPNO)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(int 課程企劃編號, int 課程序號, int DB_APPNO)
{
}
///<summary>
/// DeleteOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
// 有另外加上去的屬性及方法,請加在這裡
public void UpdateTeacher(int 課程企劃編號, int 課程序號, string 講師別,
int 講師編號, string 學歷, string 現職, string 師資來源, int 專業背景,
int 講授經驗, int 口碑與評價, int 費用, int 配合度)
{
if (SelectOne(課程企劃編號, 課程序號).Count == 0)
{
講師遴選 newValue = new 講師遴選();
newValue.課程企劃編號 = 課程企劃編號;
newValue.課程序號 = 課程序號;
newValue.DB_CRDAT = DateTime.UtcNow.AddHours(8);
newValue.DB_CRUSR = CurrentUserId;
InsertOne(newValue);
}
DbCommand cmdUpdate = NewCommand();
cmdUpdate.CommandText = String.Format(
"UPDATE " + _tableName
+ " SET 講師編號_{0} = @講師編號 , "
+ " 學歷_{0} = @學歷 , "
+ " 現職_{0} = @現職 , "
+ " 師資來源_{0} = @師資來源 , "
+ " 專業背景_{0} = @專業背景 , "
+ " 講授經驗_{0} = @講授經驗 , "
+ " 口碑與評價_{0} = @口碑與評價 , "
+ " 費用_{0} = @費用 , "
+ " 配合度_{0} = @配合度 , "
+ " 合計_{0} = @合計 , "
+ " DB_APPNO = DB_APPNO + 1 , "
+ " DB_TRDAT = GetDate() , "
+ " DB_TRUSR = @DB_TRUSR "
+ " WHERE 課程企劃編號 = @課程企劃編號"
+ " AND 課程序號 = @課程序號", 講師別);
AddParam(cmdUpdate, "講師編號", 講師編號);
AddParam(cmdUpdate, "學歷", 學歷);
AddParam(cmdUpdate, "現職", 現職);
AddParam(cmdUpdate, "師資來源", 師資來源);
AddParam(cmdUpdate, "專業背景", 專業背景);
AddParam(cmdUpdate, "講授經驗", 講授經驗);
AddParam(cmdUpdate, "口碑與評價", 口碑與評價);
AddParam(cmdUpdate, "費用", 費用);
AddParam(cmdUpdate, "配合度", 配合度);
AddParam(cmdUpdate, "合計", 專業背景 + 講授經驗 + 口碑與評價 + 費用 + 配合度);
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
AddParam(cmdUpdate, "課程企劃編號", 課程企劃編號);
AddParam(cmdUpdate, "課程序號", 課程序號);
ExecuteNonQuery(cmdUpdate);
}
public void UpdateComment(int 課程企劃編號, int 課程序號, string 總評, string 備註)
{
if (SelectOne(課程企劃編號, 課程序號).Count == 0)
{
講師遴選 newValue = new 講師遴選();
newValue.課程企劃編號 = 課程企劃編號;
newValue.課程序號 = 課程序號;
newValue.DB_CRDAT = DateTime.UtcNow.AddHours(8);
newValue.DB_CRUSR = CurrentUserId;
InsertOne(newValue);
}
DbCommand cmdUpdate = NewCommand();
cmdUpdate.CommandText =
"UPDATE " + _tableName
+ " SET 總評 = @總評 , "
+ " 備註 = @備註 , "
+ " DB_APPNO = DB_APPNO + 1 , "
+ " DB_TRDAT = GetDate() , "
+ " DB_TRUSR = @DB_TRUSR "
+ " WHERE 課程企劃編號 = @課程企劃編號"
+ " AND 課程序號 = @課程序號";
AddParam(cmdUpdate, "總評", 總評);
AddParam(cmdUpdate, "備註", 備註);
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
AddParam(cmdUpdate, "課程企劃編號", 課程企劃編號);
AddParam(cmdUpdate, "課程序號", 課程序號);
ExecuteNonQuery(cmdUpdate);
}
public void ClearTeacher(int 課程企劃編號, int 課程序號, string 講師別)
{
if (SelectOne(課程企劃編號, 課程序號).Count == 0)
return;
DbCommand cmdUpdate = NewCommand();
cmdUpdate.CommandText =
"UPDATE " + _tableName
+ " SET 講師編號_" + 講師別 + " = null, "
+ " 師資來源_" + 講師別 + " = null, "
+ " 專業背景_" + 講師別 + " = null, "
+ " 講授經驗_" + 講師別 + " = null, "
+ " 口碑與評價_" + 講師別 + " = null, "
+ " 費用_" + 講師別 + " = null, "
+ " 配合度_" + 講師別 + " = null, "
+ " 合計_" + 講師別 + " = null, "
+ " DB_APPNO = DB_APPNO + 1 , "
+ " DB_TRDAT = GetDate() , "
+ " DB_TRUSR = @DB_TRUSR "
+ " WHERE 課程企劃編號 = @課程企劃編號"
+ " AND 課程序號 = @課程序號";
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
AddParam(cmdUpdate, "課程企劃編號", 課程企劃編號);
AddParam(cmdUpdate, "課程序號", 課程序號);
ExecuteNonQuery(cmdUpdate);
}
[DataObjectMethod(DataObjectMethodType.Delete)]
public int DeleteBy課程企劃(int 課程企劃編號)
{
DbCommand cmdDelete = NewCommand();
cmdDelete.CommandText =
@"delete from 講師遴選
where 1=1
and 課程企劃編號 = @課程企劃編號";
AddParam(cmdDelete, "課程企劃編號", 課程企劃編號);
int rowsAffected = ExecuteNonQuery(cmdDelete);
return rowsAffected;
}
public int Select選定講師(int 課程企劃編號, int 課程序號)
{
講師遴選List d = SelectOne(課程企劃編號, 課程序號);
if (d.Count == 0)
return 0;
switch (d[0].選定講師)
{
case 1:
return d[0].講師編號_A;
case 2:
return d[0].講師編號_B;
case 3:
return d[0].講師編號_C;
default:
if (d[0].合計_A >= d[0].合計_B && d[0].合計_A >= d[0].合計_C)
return d[0].講師編號_A;
if (d[0].合計_B >= d[0].合計_A && d[0].合計_B >= d[0].合計_C)
return d[0].講師編號_B;
else
return d[0].講師編號_C;
}
}
public string Select選定講師名稱(int 課程企劃編號, int 課程序號)
{
講師遴選List d = SelectOne(課程企劃編號, 課程序號);
if (d.Count == 0)
return "";
int 編號;
string 姓名;
switch (d[0].選定講師)
{
case 1:
編號 = d[0].講師編號_A;
姓名 = d[0].講師姓名_A;
break;
case 2:
編號 = d[0].講師編號_B;
姓名 = d[0].講師姓名_B;
break;
case 3:
編號 = d[0].講師編號_C;
姓名 = d[0].講師姓名_C;
break;
default:
if (d[0].合計_A >= d[0].合計_B && d[0].合計_A >= d[0].合計_C)
{
編號 = d[0].講師編號_A;
姓名 = d[0].講師姓名_A;
}
else if (d[0].合計_B >= d[0].合計_A && d[0].合計_B >= d[0].合計_C)
{
編號 = d[0].講師編號_B;
姓名 = d[0].講師姓名_B;
}
else
{
編號 = d[0].講師編號_C;
姓名 = d[0].講師姓名_C;
}
break;
}
if (編號 > 0)
return new DAC_講師(conn).Get姓名(編號);
return 姓名 ?? "";
}
}
///<summary>
/// 講師遴選 資料集合類別
///</summary>
public partial class 講師遴選List : List<講師遴選>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///<summary>
/// 講師遴選 資料紀錄類別
///</summary>
public partial class 講師遴選
{
// 有另外加上去的屬性及方法,請加在這裡
}
}