Files
thinkyu/教育訓練系統/Web/DAC/課程企劃/DAC_場地遴選2.cs
T
sryang 577060bc78 chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
2026-09-10 09:42:37 +08:00

326 lines
10 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 DB_APPNO)
{
return true;
}
///<summary>
/// DeleteOne 之後會執行此方法
///</summary>
protected virtual void AfterDeleteOne(int 課程企劃編號, int DB_APPNO)
{
}
///<summary>
/// DeleteOne 發生錯誤時會執行此方法
///</summary>
protected virtual void OnDeleteOneError(Exception error, out bool handled)
{
handled = false;
}
// 有另外加上去的屬性及方法,請加在這裡
public void UpdatePlace(int 課程企劃編號, string 場地別, int 場地編號,
int 安全舒適, int 空間大小, int 價格合理, int 交通便利, int 設備完善)
{
if (SelectOne(課程企劃編號).Count == 0)
{
場地遴選 newValue = new 場地遴選();
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} = @合計, "
+ " DB_APPNO = DB_APPNO + 1 , "
+ " DB_TRDAT = GetDate() , "
+ " DB_TRUSR = @DB_TRUSR "
+ " WHERE 課程企劃編號 = @課程企劃編號", 場地別);
AddParam(cmdUpdate, "場地編號", 場地編號);
AddParam(cmdUpdate, "安全舒適", 安全舒適);
AddParam(cmdUpdate, "空間大小", 空間大小);
AddParam(cmdUpdate, "價格合理", 價格合理);
AddParam(cmdUpdate, "交通便利", 交通便利);
AddParam(cmdUpdate, "設備完善", 設備完善);
AddParam(cmdUpdate, "合計", 安全舒適 + 空間大小 + 價格合理 + 交通便利 + 設備完善);
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
AddParam(cmdUpdate, "課程企劃編號", 課程企劃編號);
ExecuteNonQuery(cmdUpdate);
}
public void UpdateComment(int 課程企劃編號, string 總評, string 備註)
{
if (SelectOne(課程企劃編號).Count == 0)
{
場地遴選 newValue = new 場地遴選();
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 課程企劃編號 = @課程企劃編號";
AddParam(cmdUpdate, "總評", 總評);
AddParam(cmdUpdate, "備註", 備註);
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
AddParam(cmdUpdate, "課程企劃編號", 課程企劃編號);
ExecuteNonQuery(cmdUpdate);
}
public void ClearPlace(int 課程企劃編號, string 場地別)
{
if (SelectOne(課程企劃編號).Count == 0)
return;
DbCommand cmdUpdate = NewCommand();
cmdUpdate.CommandText = String.Format(
"UPDATE " + _tableName
+ " SET 場地編號_{0} = null, "
+ " 安全舒適_{0} = null, "
+ " 空間大小_{0} = null, "
+ " 價格合理_{0} = null, "
+ " 交通便利_{0} = null, "
+ " 設備完善_{0} = null, "
+ " 合計_{0} = null, "
+ " DB_APPNO = DB_APPNO + 1 , "
+ " DB_TRDAT = GetDate() , "
+ " DB_TRUSR = @DB_TRUSR "
+ " WHERE 課程企劃編號 = @課程企劃編號", 場地別);
AddParam(cmdUpdate, "DB_TRUSR", CurrentUserId);
AddParam(cmdUpdate, "課程企劃編號", 課程企劃編號);
ExecuteNonQuery(cmdUpdate);
}
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 課程企劃編號)
{
場地遴選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 課程企劃編號)
{
場地遴選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 場地遴選
{
// 有另外加上去的屬性及方法,請加在這裡
}
}