chore: 首次簽入 Thinkyu ASP.NET 專案

- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
2026-09-10 09:42:37 +08:00
commit 577060bc78
2496 changed files with 501389 additions and 0 deletions
@@ -0,0 +1,207 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using WebLib;
namespace Education.Forms.
{
public partial class : FormBase
{
private DAC_訓練課程內容 Dao訓練課程內容;
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "講師行前通知";
Dao訓練課程內容 = new DAC_訓練課程內容(conn);
if (IsPostBack)
{
gv講師.DataBind();
}
RegisterPostbackTrigger(btn發送);
}
protected void btn查詢_Click(object sender, EventArgs e)
{
if (. == 0)
{
Panel1.Visible = false;
lbMessage.Text = "請選擇課程企劃";
return;
}
gv講師.DataBind();
Get課程資料();
}
protected void btn發送_Click(object sender, EventArgs e)
{
int id = .;
= new ();
.Context = this.Context;
List = Dao訓練課程企劃.SelectOne(id);
string = GetData.(id).;
// 檢查是否有勾選
bool hasChecked = false;
foreach (GridViewRow row in gv講師.Rows)
{
if (row.RowType != DataControlRowType.DataRow)
continue;
CheckBox cb要發送 = FindControl<CheckBox>(row.Cells[0], "cb要發送");
if (cb要發送 == null || !cb要發送.Checked)
continue;
hasChecked = true;
break;
}
if (!hasChecked)
{
ClientShowMessage("請勾選要發送行前通知的講師");
return;
}
foreach (GridViewRow row in gv講師.Rows)
{
if (row.RowType != DataControlRowType.DataRow)
continue;
CheckBox cb要發送 = FindControl<CheckBox>(row.Cells[0], "cb要發送");
HiddenField hf課程序號 = FindControl<HiddenField>(row.Cells[0], "hf課程序號");
HiddenField hf訓練日期 = FindControl<HiddenField>(row.Cells[0], "hf訓練日期");
HiddenField hf時間起 = FindControl<HiddenField>(row.Cells[0], "hf時間起");
HiddenField hf時間迄 = FindControl<HiddenField>(row.Cells[0], "hf時間迄");
Label lb講師姓名 = FindControl<Label>(row.Cells[1], "lb講師姓名");
TextBox txt電子郵件 = FindControl<TextBox>(row.Cells[2], "txt電子郵件");
CheckBox cb酬勞_講師費 = FindControl<CheckBox>(row.Cells[4], "cb酬勞_講師費");
CheckBox cb酬勞_交通費 = FindControl<CheckBox>(row.Cells[4], "cb酬勞_交通費");
RadioButtonList rb給付方式 = FindControl<RadioButtonList>(row.Cells[4], "cb給付方式");
TextBox txt講師費 = FindControl<TextBox>(row.Cells[4], "txt講師費");
TextBox txt交通費 = FindControl<TextBox>(row.Cells[4], "txt交通費");
TextBox txt費用合計 = FindControl<TextBox>(row.Cells[4], "txt費用合計");
DateTextBox txt給付日 = FindControl<DateTextBox>(row.Cells[4], "txt給付日");
DateTime = new DateTime();
try
{
= new DateTime(2000, 1, 1, DAC.GetInt32(hf時間起.Value.Substring(0, 2)),
DAC.GetInt32(hf時間起.Value.Substring(hf時間起.Value.Length - 2, 2)), 0).AddMinutes(-20);
}
catch
{
// do nothing
}
if (cb要發送 == null)
continue;
if (cb要發送.Checked)
{
Data Data = new Data(){
= lb講師姓名.Text,
Email = txt電子郵件.Text,
= txt聯絡人.Text,
= txt聯絡人電話.Text,
Email = txt聯絡人email.Text,
= CompanyName,
// 訓練日期 = 訓練課程企劃[0].訓練日期,
// 訓練日期迄 = 訓練課程企劃[0].訓練日期迄,
= DAC.GetDateTime(hf訓練日期.Value),
= new DateTime(),
= hf時間起.Value,
= hf時間迄.Value,
= .Ticks > 0 ? .ToString("HH:mm") : hf時間起.Value,
= [0].,
= txt訓練地點名稱.Text,
= txt訓練地點地址.Text,
= cb攜帶設備_筆記型電腦.Checked,
= cb攜帶設備_課程簡報檔.Checked,
= cb攜帶設備_其他.Checked,
= txt攜帶設備_其他.Text,
= cb場地設備_投影機.Checked,
= cb場地設備_麥克風.Checked,
= cb場地設備_雷射筆.Checked,
= cb場地設備_筆記型電腦.Checked,
= cb場地設備_座位安排.Checked,
= cb場地設備_白紙.Checked,
= cb場地設備_其他.Checked,
= txt場地設備_其他.Text,
= cb酬勞_講師費.Checked,
= txt講師費.Text,
= cb酬勞_交通費.Checked,
= txt交通費.Text,
= txt費用合計.Text,
= rb給付方式.SelectedValue == "現金",
= rb給付方式.SelectedValue == "匯款",
= txt給付日.Value.HasValue ? txt給付日.Value.Value : new DateTime(),
= cb其他_交通安排.Checked,
= txt交通安排.Text,
= cb其他_用餐.Checked,
= txt用餐.Text };
// 發送行前通知郵件
if (fuAttach.HasFile)
{
MemoryStream ms = new MemoryStream();
ms.Write(fuAttach.FileBytes, 0, fuAttach.FileBytes.Length);
ms.Position = 0;
Data. = fuAttach.FileName;
Data. = ms;
}
else
{
Data. = "";
Data. = null;
}
.(Data);
// 標記已發送
Dao訓練課程內容.(id, DAC.GetInt32(hf課程序號.Value), UserId);
}
}
gv講師.DataBind();
ClientShowMessage("講師行前通知發送完畢");
}
protected void gv講師_DataBound(object sender, EventArgs e)
{
}
private void Get課程資料()
{
int id = .;
List = Dao訓練課程企劃.SelectOne(id);
if (.Count > 0)
{
txt聯絡人.Text = Dao員工.Get員工姓名([0].);
txt聯絡人電話.Text = Dao員工.Get公司電話([0].);
txt聯絡人email.Text = Dao員工.Get電子郵件([0].);
= GetData.(id);
txt訓練地點名稱.Text = .;
txt訓練地點地址.Text = String.Format("({0}){1}{2}{3}", ._郵編, ._縣市, ._鄉鎮市區, ._街道地址);
Panel1.Visible = true;
}
}
protected void ds已截止未上課_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程企劃;
}
protected void ds上課講師_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程內容;
}
}
}