//
// 這個檔案是 講師 資料表的資料存取類別 檔案二
// 您可以修改這個檔案,加入您自訂的屬性與方法
//
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.EnterpriseServices.Internal;
using System.Linq;
using System.Text;
using System.Web.UI.WebControls;
using WebLib;
namespace Education
{
///
/// 講師 資料存取類別
///
public partial class DAC_講師 : WebLib.DAC
{
///
/// 給查詢畫面用的 Select 方法
///
[DataObjectMethod(DataObjectMethodType.Select)]
public 講師List Select講師遴選(string 姓名, string 電話, string 手機)
{
講師List result = new 講師List();
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where + " and 合作狀態 <> 'X' ";
if (姓名 != null && 姓名.Length > 0)
{
cmdSelect.CommandText += " and 姓名 like @姓名 ";
AddParam(cmdSelect, "姓名", 姓名 + "%");
}
if (電話 != null && 電話.Length > 0)
{
cmdSelect.CommandText += " and 電話 like @電話 ";
AddParam(cmdSelect, "電話", 電話 + "%");
}
if (手機 != null && 手機.Length > 0)
{
cmdSelect.CommandText += " and 手機 like @手機 ";
AddParam(cmdSelect, "手機", 手機 + "%");
}
cmdSelect.CommandText += _order;
Select(cmdSelect, ref list);
return result;
}
///
/// InsertOne 之前會執行此方法
/// 在這裡可以做一些檢查或是自動編號等動作
/// 回傳 false 會打斷 InsertOne 的執行
///
protected virtual bool BeforeInsertOne(講師 value)
{
return true;
}
///
/// InsertOne 之後會執行此方法
///
protected virtual void AfterInsertOne(講師 value)
{
}
///
/// InsertOne 錯誤時會觸發的方法
///
protected virtual void OnInsertOneError(Exception error, out bool handled)
{
handled = false;
}
///
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///
protected virtual bool BeforeUpdateOne(講師 value)
{
return true;
}
/// UpdateOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 UpdateOne 的執行
///
protected virtual bool BeforeUpdateOne(講師 value, 講師 original_value)
{
return true;
}
///
/// UpdateOne 之後會執行此方法
///
protected virtual void AfterUpdateOne(講師 value)
{
}
///
/// UpdateOne 之後會執行此方法
///
protected virtual void AfterUpdateOne(講師 value, 講師 original_value)
{
}
///
/// UpdateOne 發生錯誤時會執行此方法
///
protected virtual void OnUpdateOneError(Exception error, out bool handled)
{
handled = false;
}
///
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///
protected virtual bool BeforeDeleteOne(講師 value)
{
return true;
}
///
/// DeleteOne 之後會執行此方法
///
protected virtual void AfterDeleteOne(講師 value)
{
}
///
/// DeleteOne 之前會執行此方法
/// 在這裡可以做一些檢查
/// 回傳 false 會打斷 DeleteOne 的執行
///
protected virtual bool BeforeDeleteOne(int 編號, int DB_APPNO)
{
return true;
}
///
/// DeleteOne 之後會執行此方法
///
protected virtual void AfterDeleteOne(int 編號, int DB_APPNO)
{
}
///
/// DeleteOne 發生錯誤時會執行此方法
///
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
// 有另外加上去的屬性及方法,請加在這裡
public string Get姓名(object 編號)
{
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = "SELECT 姓名 " + _from + " WHERE 編號 = @編號 ";
AddParam(cmdSelect, "編號", 編號);
string s;
ExecuteScalar(cmdSelect, out s);
return s;
}
public NameValueList Select地區ForDropDown()
{
NameValueList result = new NameValueList();
DbCommand cmd = NewCommand("SELECT DISTINCT 居住地址_縣市 FROM " + _tableName + " ORDER BY 居住地址_縣市");
result.Add("(請選擇)", "");
result.Fill(Select(cmd), "居住地址_縣市", "居住地址_縣市", false);
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public 講師List 查詢作業(bool noInputReturnAll, int startRowIndex, int maximumRows,
string 姓名, string 地區, string 授課專長領域, string 學歷, int 滿意度1, int 滿意度2,
string 合作狀態, string 關鍵字, string 關鍵字欄位, string 推薦授課主題, int 講師評鑑1, int 講師評鑑2)
{
講師List result = new 講師List();
if (!noInputReturnAll
&& string.IsNullOrEmpty(姓名)
&& string.IsNullOrEmpty(地區)
&& string.IsNullOrEmpty(授課專長領域)
&& string.IsNullOrEmpty(學歷)
&& 滿意度1 == 0
&& 滿意度2 == 0
&& 講師評鑑1 == 0
&& 講師評鑑2 == 0
&& string.IsNullOrEmpty(合作狀態)
&& string.IsNullOrEmpty(關鍵字)
&& string.IsNullOrEmpty(推薦授課主題))
return result;
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
var 符合度 = "";
if (!string.IsNullOrEmpty(關鍵字) && !string.IsNullOrEmpty(關鍵字欄位))
{
var k = 關鍵字.Split(' ');
var q = new List();
for (int i = 0; i < k.Length; i++)
{
var w = new List();
foreach (var f in 關鍵字欄位.Split('|'))
{
if (f == "居住地區")
{
q.Add(string.Format("isnull((select 1 from 講師 B where B.編號=A.編號 and (B.居住地址_縣市 like @關鍵字_{1} or B.居住地址_鄉鎮市區 like @關鍵字_{1}) ), 0)", f, i));
}
else
{
q.Add(string.Format("isnull((select 1 from 講師 B where B.編號=A.編號 and B.{0} like @關鍵字_{1} ), 0)", f, i));
}
}
}
符合度 = string.Format(" ({0}) AS 符合度 ", string.Join(" + ", q.ToArray()));
}
if (string.IsNullOrEmpty(符合度))
符合度 = " 0 AS 符合度 ";
var SQL = _select + ", 滿意度 as 平均滿意度, 講師評鑑, 學員滿意度, 最高學歷TXT, 符合度, ROW_NUMBER() over (order by [符合度] desc) AS ROWNUMBER " +
string.Format(@" FROM
( SELECT A.*,
ISNULL(( SELECT CAST(SUM(授課方式分數) + SUM(專業知識分數) AS FLOAT) / 2 / COUNT(1)
FROM 滿意度調查講師
WHERE 講師編號 = A.編號), 0) AS 滿意度,
ISNULL((SELECT AVG(cast(專業度 + 授課技巧 + 互動氛圍 + 內容切題 + 配合度 as float))
FROM 講師外訓滿意度
WHERE 講師編號 = A.編號), 0) AS 講師評鑑,
ISNULL((SELECT AVG(cast(學員滿意度 as float))
FROM 講師外訓滿意度
WHERE 講師編號 = A.編號), 0) AS 學員滿意度,
(SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BPSNSTP' AND BSCLS=A.最高學歷) AS 最高學歷TXT,
{0}
FROM 講師 A
) AS TMP1 ", 符合度)
+ _where;
if (姓名 != null && 姓名.Length > 0)
{
SQL += " and 姓名 like @姓名 ";
AddParam(cmdSelect, "姓名", "%" + 姓名 + "%");
}
if (地區 != null && 地區.Length > 0)
{
SQL += " and 授課區域 like @地區 ";
AddParam(cmdSelect, "地區", "%" + 地區 + "%");
}
if (授課專長領域 != null && 授課專長領域.Length > 0)
{
SQL += " and 授課專長領域 like @授課專長領域 ";
AddParam(cmdSelect, "授課專長領域", "%" + 授課專長領域 + "%");
}
if (學歷 != null && 學歷.Length > 0)
{
SQL += " and 最高學歷 = @學歷 ";
AddParam(cmdSelect, "學歷", 學歷);
}
if (滿意度1 != 0 && 滿意度2 != 0)
{
SQL += " and 滿意度 between @滿意度1 and @滿意度2 ";
AddParam(cmdSelect, "滿意度1", 滿意度1);
AddParam(cmdSelect, "滿意度2", 滿意度2);
}
else if (滿意度1 != 0 && 滿意度2 == 0)
{
SQL += " and 滿意度 >= @滿意度1 ";
AddParam(cmdSelect, "滿意度1", 滿意度1);
}
else if (滿意度1 == 0 && 滿意度2 != 0)
{
SQL += " and 滿意度 <= @滿意度2 ";
AddParam(cmdSelect, "滿意度2", 滿意度2);
}
if (!string.IsNullOrEmpty(合作狀態))
{
SQL += " and 合作狀態 = @合作狀態 ";
AddParam(cmdSelect, "合作狀態", 合作狀態);
}
if (推薦授課主題 != null && 推薦授課主題.Length > 0)
{
SQL += " and 推薦授課主題 like @推薦授課主題 ";
AddParam(cmdSelect, "推薦授課主題", "%" + 推薦授課主題 + "%");
}
if (講師評鑑1 != 0 && 講師評鑑2 != 0)
{
SQL += " and 講師評鑑 between @講師評鑑1 and @講師評鑑2 ";
AddParam(cmdSelect, "講師評鑑1", 講師評鑑1);
AddParam(cmdSelect, "講師評鑑2", 講師評鑑2);
}
else if (講師評鑑1 != 0 && 講師評鑑2 == 0)
{
SQL += " and 講師評鑑 >= @講師評鑑1 ";
AddParam(cmdSelect, "講師評鑑1", 講師評鑑1);
}
else if (講師評鑑1 == 0 && 講師評鑑2 != 0)
{
SQL += " and 講師評鑑 <= @講師評鑑2 ";
AddParam(cmdSelect, "講師評鑑2", 講師評鑑2);
}
if (!string.IsNullOrEmpty(關鍵字) && !string.IsNullOrEmpty(關鍵字欄位))
{
var keywords = 關鍵字.Split(' ');
var keywordWhere = new List();
for (int i = 0; i < keywords.Length; i++)
{
var and = keywords[i].StartsWith("+");
var keyword = keywords[i].Replace("+", "");
var oneWhere = new List();
AddParam(cmdSelect, string.Format("關鍵字_{0}", i), string.Format("%{0}%", keyword));
foreach (var f in 關鍵字欄位.Split('|'))
{
if (f == "居住地區")
{
oneWhere.Add(string.Format("(居住地址_縣市 LIKE @關鍵字_{0} OR 居住地址_鄉鎮市區 LIKE @關鍵字_{0})", i));
}
else
{
oneWhere.Add(string.Format("{0} LIKE @關鍵字_{1}", f, i));
}
}
keywordWhere.Add(string.Format("{0} ({1})",
(i == 0 ? "" : (and ? "AND" : "OR")),
string.Join(" OR ", oneWhere.ToArray())));
}
SQL += string.Format(" and ({0}) ", string.Join(" ", keywordWhere.ToArray()));
}
SQL = string.Format("select * FROM ({0}) AS TMP2 where ROWNUMBER > {1} and ROWNUMBER <= {2} order by [編號]", SQL, startRowIndex, startRowIndex + maximumRows);
cmdSelect.CommandText = SQL;
Select(cmdSelect, ref list);
return result;
}
[DataObjectMethod(DataObjectMethodType.Select)]
public int 查詢作業Count(bool noInputReturnAll,
string 姓名, string 地區, string 授課專長領域, string 學歷, int 滿意度1, int 滿意度2,
string 合作狀態, string 關鍵字, string 關鍵字欄位, string 推薦授課主題, int 講師評鑑1, int 講師評鑑2)
{
if (!noInputReturnAll
&& string.IsNullOrEmpty(姓名)
&& string.IsNullOrEmpty(地區)
&& string.IsNullOrEmpty(授課專長領域)
&& string.IsNullOrEmpty(學歷)
&& 滿意度1 == 0
&& 滿意度2 == 0
&& 講師評鑑1 == 0
&& 講師評鑑2 == 0
&& string.IsNullOrEmpty(合作狀態)
&& string.IsNullOrEmpty(關鍵字)
&& string.IsNullOrEmpty(推薦授課主題))
return 0;
DbCommand cmdSelect = NewCommand();
var 符合度 = "";
if (!string.IsNullOrEmpty(關鍵字) && !string.IsNullOrEmpty(關鍵字欄位))
{
var k = 關鍵字.Split(' ');
var q = new List();
for (int i = 0; i < k.Length; i++)
{
var w = new List();
foreach (var f in 關鍵字欄位.Split('|'))
{
if (f == "居住地區")
{
q.Add(string.Format("isnull((select 1 from 講師 B where B.編號=A.編號 and (B.居住地址_縣市 like @關鍵字_{1} or B.居住地址_鄉鎮市區 like @關鍵字_{1}) ), 0)", f, i));
}
else
{
q.Add(string.Format("isnull((select 1 from 講師 B where B.編號=A.編號 and B.{0} like @關鍵字_{1} ), 0)", f, i));
}
}
}
符合度 = string.Format(" ({0}) AS 符合度 ", string.Join(" + ", q.ToArray()));
}
if (string.IsNullOrEmpty(符合度))
符合度 = " 0 AS 符合度 ";
var SQL = _select + ", 滿意度 as 平均滿意度, 講師評鑑, 學員滿意度, 最高學歷TXT, 符合度 " +
string.Format(@" FROM
( SELECT A.*,
ISNULL(( SELECT CAST(SUM(授課方式分數) + SUM(專業知識分數) AS FLOAT) / 2 / COUNT(1)
FROM 滿意度調查講師
WHERE 講師編號 = A.編號), 0) AS 滿意度,
ISNULL((SELECT AVG(cast(專業度 + 授課技巧 + 互動氛圍 + 內容切題 + 配合度 as float))
FROM 講師外訓滿意度
WHERE 講師編號 = A.編號), 0) AS 講師評鑑,
ISNULL((SELECT AVG(cast(學員滿意度 as float))
FROM 講師外訓滿意度
WHERE 講師編號 = A.編號), 0) AS 學員滿意度,
(SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BPSNSTP' AND BSCLS=A.最高學歷) AS 最高學歷TXT,
{0}
FROM 講師 A
) AS TMP1 ", 符合度)
+ _where;
if (姓名 != null && 姓名.Length > 0)
{
SQL += " and 姓名 like @姓名 ";
AddParam(cmdSelect, "姓名", "%" + 姓名 + "%");
}
if (地區 != null && 地區.Length > 0)
{
SQL += " and 授課區域 like @地區 ";
AddParam(cmdSelect, "地區", "%" + 地區 + "%");
}
if (授課專長領域 != null && 授課專長領域.Length > 0)
{
SQL += " and 授課專長領域 like @授課專長領域 ";
AddParam(cmdSelect, "授課專長領域", "%" + 授課專長領域 + "%");
}
if (學歷 != null && 學歷.Length > 0)
{
SQL += " and 最高學歷 = @學歷 ";
AddParam(cmdSelect, "學歷", 學歷);
}
if (滿意度1 != 0 && 滿意度2 != 0)
{
SQL += " and 滿意度 between @滿意度1 and @滿意度2 ";
AddParam(cmdSelect, "滿意度1", 滿意度1);
AddParam(cmdSelect, "滿意度2", 滿意度2);
}
else if (滿意度1 != 0 && 滿意度2 == 0)
{
SQL += " and 滿意度 >= @滿意度1 ";
AddParam(cmdSelect, "滿意度1", 滿意度1);
}
else if (滿意度1 == 0 && 滿意度2 != 0)
{
SQL += " and 滿意度 <= @滿意度2 ";
AddParam(cmdSelect, "滿意度2", 滿意度2);
}
if (!string.IsNullOrEmpty(合作狀態))
{
SQL += " and 合作狀態 = @合作狀態 ";
AddParam(cmdSelect, "合作狀態", 合作狀態);
}
if (推薦授課主題 != null && 推薦授課主題.Length > 0)
{
SQL += " and 推薦授課主題 like @推薦授課主題 ";
AddParam(cmdSelect, "推薦授課主題", "%" + 推薦授課主題 + "%");
}
if (講師評鑑1 != 0 && 講師評鑑2 != 0)
{
SQL += " and 講師評鑑 between @講師評鑑1 and @講師評鑑2 ";
AddParam(cmdSelect, "講師評鑑1", 講師評鑑1);
AddParam(cmdSelect, "講師評鑑2", 講師評鑑2);
}
else if (講師評鑑1 != 0 && 講師評鑑2 == 0)
{
SQL += " and 講師評鑑 >= @講師評鑑1 ";
AddParam(cmdSelect, "講師評鑑1", 講師評鑑1);
}
else if (講師評鑑1 == 0 && 講師評鑑2 != 0)
{
SQL += " and 講師評鑑 <= @講師評鑑2 ";
AddParam(cmdSelect, "講師評鑑2", 講師評鑑2);
}
if (!string.IsNullOrEmpty(關鍵字) && !string.IsNullOrEmpty(關鍵字欄位))
{
var keywords = 關鍵字.Split(' ');
var keywordWhere = new List();
for (int i = 0; i < keywords.Length; i++)
{
var and = keywords[i].StartsWith("+");
var keyword = keywords[i].Replace("+", "");
var oneWhere = new List();
AddParam(cmdSelect, string.Format("關鍵字_{0}", i), string.Format("%{0}%", keyword));
foreach (var f in 關鍵字欄位.Split('|'))
{
if (f == "居住地區")
{
oneWhere.Add(string.Format("(居住地址_縣市 LIKE @關鍵字_{0} OR 居住地址_鄉鎮市區 LIKE @關鍵字_{0})", i));
}
else
{
oneWhere.Add(string.Format("{0} LIKE @關鍵字_{1}", f, i));
}
}
keywordWhere.Add(string.Format("{0} ({1})",
(i == 0 ? "" : (and ? "AND" : "OR")),
string.Join(" OR ", oneWhere.ToArray())));
}
SQL += string.Format(" and ({0}) ", string.Join(" ", keywordWhere.ToArray()));
}
SQL = string.Format("select COUNT(*) FROM ({0}) AS TMP2", SQL);
cmdSelect.CommandText = SQL;
ExecuteScalar(cmdSelect, out int count);
return count;
}
public DataTable Select滿意度統計(int 講師編號)
{
DbCommand cmdSelect = NewCommand(
@"SELECT
(SELECT COUNT(1) FROM 滿意度調查講師 WHERE 講師編號 = @講師編號 AND 授課方式填答 = 5) AS 授課滿意度5,
(SELECT COUNT(1) FROM 滿意度調查講師 WHERE 講師編號 = @講師編號 AND 授課方式填答 = 4) AS 授課滿意度4,
(SELECT COUNT(1) FROM 滿意度調查講師 WHERE 講師編號 = @講師編號 AND 授課方式填答 = 3) AS 授課滿意度3,
(SELECT COUNT(1) FROM 滿意度調查講師 WHERE 講師編號 = @講師編號 AND 授課方式填答 = 2) AS 授課滿意度2,
(SELECT COUNT(1) FROM 滿意度調查講師 WHERE 講師編號 = @講師編號 AND 授課方式填答 = 1) AS 授課滿意度1,
(SELECT ISNULL(AVG(CAST(授課方式分數 AS FLOAT)), 0) FROM 滿意度調查講師 WHERE 講師編號 = @講師編號) AS 授課滿意度總分,
(SELECT COUNT(1) FROM 滿意度調查講師 WHERE 講師編號 = @講師編號 AND 專業知識填答 = 5) AS 專業滿意度5,
(SELECT COUNT(1) FROM 滿意度調查講師 WHERE 講師編號 = @講師編號 AND 專業知識填答 = 4) AS 專業滿意度4,
(SELECT COUNT(1) FROM 滿意度調查講師 WHERE 講師編號 = @講師編號 AND 專業知識填答 = 3) AS 專業滿意度3,
(SELECT COUNT(1) FROM 滿意度調查講師 WHERE 講師編號 = @講師編號 AND 專業知識填答 = 2) AS 專業滿意度2,
(SELECT COUNT(1) FROM 滿意度調查講師 WHERE 講師編號 = @講師編號 AND 專業知識填答 = 1) AS 專業滿意度1,
(SELECT ISNULL(AVG(CAST(專業知識分數 AS FLOAT)), 0) FROM 滿意度調查講師 WHERE 講師編號 = @講師編號) AS 專業滿意度總分");
AddParam(cmdSelect, "講師編號", 講師編號);
return Select(cmdSelect);
}
public bool IsOccipued(int 講師編號)
{
DbCommand cmd = NewCommand(
@"SELECT
(SELECT COUNT(1) FROM 講師遴選 WHERE 講師編號_A = @講師編號 OR 講師編號_B = @講師編號 OR 講師編號_C = @講師編號)
+ (SELECT COUNT(1) FROM 講師異動 WHERE 講師編號 = @講師編號)");
AddParam(cmd, "講師編號", 講師編號);
int i;
ExecuteScalar(cmd, out i);
return i > 0;
}
public DataTable Select講師評鑑統計(int 講師編號)
{
DbCommand cmdSelect = NewCommand(
@"SELECT AVG(cast(專業度 as float)) AS 專業度,
AVG(cast(授課技巧 as float)) AS 授課技巧,
AVG(cast(互動氛圍 as float)) AS 互動氛圍,
AVG(cast(內容切題 as float)) AS 內容切題,
AVG(cast(配合度 as float)) AS 配合度,
AVG(cast(專業度 + 授課技巧 + 互動氛圍 + 內容切題 + 配合度 as float)) AS 總分,
AVG(cast(學員滿意度 as float)) AS 學員滿意度
FROM 講師外訓滿意度
WHERE 講師編號 = @講師編號");
AddParam(cmdSelect, "講師編號", 講師編號);
return Select(cmdSelect);
}
public bool Is身份證字號Dulicate(int 講師編號, string 身份證字號)
{
DbCommand cmd = NewCommand(
@"SELECT COUNT(1) FROM 講師 WHERE 編號<>@講師編號 AND 身份證字號=@身份證字號");
AddParam(cmd, "講師編號", 講師編號);
AddParam(cmd, "身份證字號", 身份證字號);
int i;
ExecuteScalar(cmd, out i);
return i > 0;
}
private static NameValueList _講師合作狀態 = new NameValueList
{
new NameValueItem { Value = "C", Name = "收服務費" },
new NameValueItem { Value = "F", Name = "不收服務費" },
new NameValueItem { Value = "X", Name = "不合作" },
new NameValueItem { Value = "B", Name = "暫不排課" },
};
public static NameValueList Select講師合作狀態ForEdit()
{
var result = new NameValueList();
result.Add("(請選擇)", "");
result.AddRange(_講師合作狀態);
return result;
}
public static string Get講師合作狀態Text(string Value)
{
return _講師合作狀態.GetName(Value);
}
public 講師List SelectByKeyword(string keyword)
{
講師List result = new 講師List();
keyword = !string.IsNullOrEmpty(keyword) ? keyword.Trim() : string.Empty;
if (string.IsNullOrEmpty(keyword))
return result;
IDataList list = result as IDataList;
DbCommand cmdSelect = NewCommand();
cmdSelect.CommandText = _select + _from + _where
// 20260317 用戶決定不要這個限制
// + " and 合作狀態 <> 'X' "
+ " and (姓名 like @keyword or 身份證字號 like @keyword) "
+ _order;
AddParam(cmdSelect, "keyword", "%" + keyword + "%");
Select(cmdSelect, ref list);
return result;
}
}
///
/// 講師 資料集合類別
///
public partial class 講師List : List<講師>
{
// 有另外加上去的屬性及方法,請加在這裡
}
///
/// 講師 資料紀錄類別
///
public partial class 講師
{
// 有另外加上去的屬性及方法,請加在這裡
public double 平均滿意度 { get; set; }
public string 最高學歷TXT { get; set; }
public string 異常標註符號
{
get
{
return string.IsNullOrEmpty(DAC.GetString(異常標註).Trim()) ? "" : "★";
}
}
public string 合作狀態TXT
{
get
{
return DAC_講師.Get講師合作狀態Text(合作狀態);
}
}
public string 合作狀態RPT
{
get
{
return String.Format("{0}{1}", 合作狀態TXT, 合作狀態說明);
}
}
public string 戶籍地址
{
get
{
return string.Format("{0}{1}{2}{3}", 戶籍地址_郵編, 戶籍地址_縣市, 戶籍地址_鄉鎮市區, 戶籍地址_街道地址);
}
}
public string 居住地址
{
get
{
return string.Format("{0}{1}{2}{3}", 居住地址_郵編, 居住地址_縣市, 居住地址_鄉鎮市區, 居住地址_街道地址);
}
}
public string 學歷
{
get
{
return string.Format("[{0}]{1}{2}", 最高學歷TXT, 最高學歷學校, 最高學歷科系);
}
}
private static DAC_BCLS BCLSDao = null;
public string 授課區域TXT
{
get
{
if (BCLSDao == null)
BCLSDao = new DAC_BCLS();
string[] arr = DAC.GetString(授課區域).Split(',');
string result = "";
foreach (string s in arr)
{
if (s != null && s.Length > 0)
result += BCLSDao.Get類別名稱("授課區域", s) + "/";
}
if (result.Length > 0)
result = result.Remove(result.Length - 1);
return result;
}
}
public double 講師評鑑 { get; set; }
public double 學員滿意度 { get; set; }
public int 符合度 { get; set; }
public string 付款設定講師編號 { get { return $"T{編號:0000}"; } }
}
}