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,243 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebLib;
namespace Education.Forms.
{
public partial class : FormBase
{
private DAC_訓練課程異動通知 Dao訓練課程異動通知;
private DAC_訓練課程異動通知發送紀錄 Dao訓練課程異動通知發送紀錄;
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "學員課程異動通知";
Dao訓練課程異動通知 = new DAC_訓練課程異動通知(conn);
Dao訓練課程異動通知發送紀錄 = new DAC_訓練課程異動通知發送紀錄(conn);
if (IsPostBack)
{
gv異動通知.DataBind();
gv學員.DataBind();
}
}
protected void Page_LoadComplete(object sender, EventArgs e)
{
}
protected void btn查詢_Click(object sender, EventArgs e)
{
if (. == 0)
{
Panel1.Visible = false;
lbMessage.Text = "請選擇課程企劃";
return;
}
Get課程資料();
ddl計畫.DataBind();
}
protected void btn查詢學員_Click(object sender, EventArgs e)
{
gv學員.DataBind();
gv異動通知.DataBind();
}
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].);
Panel1.Visible = true;
}
}
protected void btn發送_Click(object sender, EventArgs e)
{
(0, 0, txt通知內容.Text, true);
gv異動通知.DataBind();
if (gv異動通知.Rows.Count > 0)
gv異動通知.SelectedIndex = gv異動通知.Rows.Count - 1;
gv異動通知_SelectedIndexChanged(sender, e);
ClientShowMessage("學員課程異動通知發送完畢");
}
private void (int , int , string , bool )
{
int id = .;
= new ();
.Context = this.Context;
List = Dao訓練課程企劃.SelectOne(id);
string = GetData.(id).;
string = new DAC_公司別().GetName(CompanyId);
// 檢查是否有勾選
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;
}
if ()
{
newValue = new ();
newValue. = .;
newValue. = DateTime.UtcNow.AddHours(8).Date;
newValue. = ;
newValue.DB_CRUSR = UserId;
Dao訓練課程異動通知.InsertOne(newValue);
= newValue.;
= newValue.;
}
// 發送學員通知
foreach (GridViewRow row in gv學員.Rows)
{
if (row.RowType != DataControlRowType.DataRow)
continue;
CheckBox cb寄送 = FindControl<CheckBox>(row.Cells[0], "cb寄送");
Label = FindControl<Label>(row.Cells[1], "lb學員姓名");
HiddenField = FindControl<HiddenField>(row.Cells[1], "hf學員編號");
TextBox = FindControl<TextBox>(row.Cells[1], "txt電子郵件");
if (cb寄送 == null)
continue;
if (cb寄送.Checked)
{
.(.Text, .Text,
txt聯絡人.Text, txt聯絡人電話.Text, txt聯絡人email.Text, ,
[0]., [0]., [0]., ,
[0]., );
// 標記已發送
Dao訓練課程異動通知發送紀錄.(, , .Value, UserId);
}
}
.(txt聯絡人.Text, txt聯絡人email.Text,
txt聯絡人.Text, txt聯絡人電話.Text, txt聯絡人email.Text, ,
[0]., [0]., [0].,
, [0]., );
}
protected void ds已截止未上課_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程企劃;
}
protected void ds報名學員_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao課程報名;
}
protected void ds異動通知_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程異動通知;
}
protected void gv學員_DataBound(object sender, EventArgs e)
{
//
}
private void SetSelected(bool selected, bool = false)
{
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[3], "hf通知發送狀態");
if (cb == null || hf == null)
continue;
cb.Checked = selected;
if (selected && && hf.Value == "Y")
cb.Checked = false;
}
}
protected void btn全選_Click(object sender, EventArgs e)
{
SetSelected(true);
}
protected void btn不選_Click(object sender, EventArgs e)
{
SetSelected(false);
}
protected string Get異動通知發送狀態(object )
{
if (gv異動通知.SelectedDataKey != null)
{
if (Dao訓練課程異動通知發送紀錄.(DAC.GetInt32(gv異動通知.SelectedDataKey["編號"]),
DAC.GetInt32(gv異動通知.SelectedDataKey["異動通知項次"]),
DAC.GetString()))
return "已發送";
}
return "";
}
protected void gv異動通知_SelectedIndexChanged(object sender, EventArgs e)
{
gv學員.DataBind();
}
protected void gv異動通知_RowCommand(object sender, GridViewCommandEventArgs e)
{
List d = Dao訓練課程異動通知.SelectOne(.,
DAC.GetInt32(e.CommandArgument));
if (d.Count > 0)
{
(., DAC.GetInt32(e.CommandArgument),
d[0]., false);
for (int i=0; i< gv異動通知.DataKeys.Count; i++)
{
DataKey k = gv異動通知.DataKeys[i];
if (DAC.GetInt32(k[1]) == DAC.GetInt32(e.CommandArgument))
{
gv異動通知.SelectedIndex = i;
break;
}
}
gv學員.DataBind();
ClientShowMessage("學員課程異動通知發送完畢");
}
}
}
}