343 lines
12 KiB
C#
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 講師遴選
|
|
{
|
|
// 有另外加上去的屬性及方法,請加在這裡
|
|
}
|
|
}
|