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,332 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
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教學日誌;
private int ID;
private int ;
private bool = false;
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "教學日誌暨異常狀況登錄";
Dao訓練課程內容 = new DAC_訓練課程內容(conn);
Dao教學日誌 = new DAC_教學日誌(conn);
Form_View = FormView1;
FormView_DataSource = ds教學日誌;
if (IsPostBack)
{
Form_View.DataBind();
}
Form_View.Visible = (. > 0
&& ddl課程內容.SelectedValue != null && ddl課程內容.SelectedValue.Length > 0);
1.Visible = Form_View.Visible;
2.Visible = Form_View.Visible;
}
protected void ds已上課_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程企劃;
}
protected void ds課程內容_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程內容;
}
protected void btn查詢1_Click(object sender, EventArgs e)
{
if (. == 0)
{
Panel1.Visible = false;
Panel2.Visible = false;
lbMessage.Text = "請選擇課程企劃";
return;
}
Panel1.Visible = true;
ddl課程內容.DataBind();
Panel2.Visible = ddl課程內容.Items.Count > 0;
}
protected void btn查詢2_Click(object sender, EventArgs e)
{
Form_View.ChangeMode(FormViewMode.ReadOnly);
Form_View.DataBind();
}
protected override void FormView_DataBound(object sender, EventArgs e)
{
if (!Form_View.Visible)
return;
//if (Form_View.PageCount == 0)
//{
// if (Form_View.CurrentMode != FormViewMode.Insert)
// {
// Form_View.ChangeMode(FormViewMode.Insert);
// Form_View.DataBind();
// return;
// }
//}
ID = .;
= DAC.GetInt32(ddl課程內容.SelectedValue);
base.FormView_DataBound(sender, e);
}
private void ()
{
List d = Dao訓練課程內容.SelectOne(ID, );
if (d.Count > 0)
{
if (FindControl<ITextControl>(Form_View, "lb節次") != null)
FindControl<ITextControl>(Form_View, "lb節次").Text = d[0]..ToString();
if (FindControl<ITextControl>(Form_View, "lb講師") != null)
FindControl<ITextControl>(Form_View, "lb講師").Text = Dao訓練課程企劃.Select選定講師名稱(ID, );
}
}
protected override void FormView_InsertDataBound(object sender, EventArgs e)
{
base.FormView_InsertDataBound(sender, e);
List d = Dao訓練課程企劃.SelectOne(ID);
if (d.Count == 0)
return;
FindControl<ITextControl>(Form_View, "lb課程企劃編號").Text = d[0].;
FindControl<HiddenField>(Form_View, "hf課程序號").Value = ddl課程內容.SelectedValue;
FindControl<DateTextBox>(Form_View, "txt填表日期").Value = DateTime.UtcNow.AddHours(8).Date;
FindControl<ITextControl>(Form_View, "txt填表人員").Text = UserId;
FindControl<ITextControl>(Form_View, "lb填表人員X").Text = Get員工姓名(UserId);
();
1.Visible = false;
2.Visible = false;
btn填寫追蹤.Visible = false;
pnl追蹤編輯.Visible = false;
}
protected override void FormView_EditDataBound(object sender, EventArgs e)
{
base.FormView_EditDataBound(sender, e);
List d = Dao訓練課程企劃.SelectOne(ID);
if (d.Count == 0)
return;
FindControl<ITextControl>(Form_View, "lb課程企劃編號").Text = d[0].;
();
1.Visible = false;
2.Visible = false;
btn填寫追蹤.Visible = false;
pnl追蹤編輯.Visible = false;
}
private void Set新增欄位顯示()
{
string[] ID = { "lb觀察01", "lb觀察02", "lb觀察03", "lb觀察04", "lb觀察05", "lb觀察06", "lb觀察07", "lb觀察08", "lb觀察說明", "lb觀察紀錄1", "lb觀察紀錄2", "lb是否需後續追蹤", "lb追蹤事項", "lb處理結果追蹤" };
foreach (string ID in ID)
{
Label lb = FindControl<Label>(Form_View, ID);
if (lb != null && String.IsNullOrEmpty(lb.Text.Trim()))
{
lb.Text = "2026年新增欄位";
lb.ForeColor = System.Drawing.Color.Gray;
}
}
}
protected override void FormView_ReadOnlyDataBound(object sender, EventArgs e)
{
base.FormView_ReadOnlyDataBound(sender, e);
();
Set新增欄位顯示();
btn填寫追蹤.Visible = false;
pnl追蹤編輯.Visible = false;
= false;
if (Form_View.SelectedValue != null)
{
List d = Dao訓練課程企劃.SelectOne(ID);
if (d.Count == 0)
return;
FindControl<ITextControl>(Form_View, "lb課程企劃編號").Text = d[0].;
string ID = String.Format("{0}|{1}", ID, );
1.ID = ID;
1. = ID;
1.2 = ;
1.ID格式 = String.Format("[{0}] {1}<br>[{2}] {3}",
d[0]., d[0]., , ddl課程內容.SelectedItem.Text);
List data = ds教學日誌.Select() as List;
1. = data[0]. == UserId;
1.Refresh();
= Dao表單簽核主檔.GetLastStatus("教學日誌暨異常狀況", ID);
LinkButton btnUpdate = FindControl<LinkButton>(Form_View, "btnUpdate");
if (btnUpdate != null)
btnUpdate.Visible = !();
bool = ();
= != null
&& . == "Y"
&& ..CompareTo("D") != 0;
trackingStatus = Dao表單簽核主檔.GetLastStatus("處理結果追蹤", ID);
bool = trackingStatus != null
&& trackingStatus. == "Y"
&& trackingStatus. != "D";
if ()
{
2.ID = ID;
2. = ID;
2.2 = ;
2.ID格式 = String.Format("[{0}] {1}<br>[{2}] {3}",
d[0]., d[0]., , ddl課程內容.SelectedItem.Text);
2. = data[0]. == UserId;
2.Refresh();
btn填寫追蹤.Visible = data[0]. == UserId && !;
}
}
1.Visible = Form_View.SelectedValue != null;
2.Visible = Form_View.SelectedValue != null
&& (Dao表單簽核主檔.GetLastStatus(
"教學日誌暨異常狀況", String.Format("{0}|{1}", ID, )));
}
protected void btn填寫追蹤_Click(object sender, EventArgs e)
{
List data = ds教學日誌.Select() as List;
string ID = String.Format("{0}|{1}", ID, );
= Dao表單簽核主檔.GetLastStatus("教學日誌暨異常狀況", ID);
if (data.Count == 0 || data[0]. != UserId || !())
{
lbMessage.Text = "教學日誌暨異常狀況尚未送簽、已撤單或目前使用者無權限填寫。";
return;
}
txt追蹤內容.Text = data[0].;
btn填寫追蹤.Visible = false;
pnl追蹤編輯.Visible = true;
1.Visible = false;
2.Visible = false;
}
protected void btn追蹤存檔_Click(object sender, EventArgs e)
{
List data = ds教學日誌.Select() as List;
string ID = String.Format("{0}|{1}", ID, );
= Dao表單簽核主檔.GetLastStatus("教學日誌暨異常狀況", ID);
if (data.Count == 0 || data[0]. != UserId || !())
{
lbMessage.Text = "教學日誌暨異常狀況尚未送簽、已撤單或目前使用者無權限填寫。";
pnl追蹤編輯.Visible = false;
Form_View.DataBind();
return;
}
trackingStatus = Dao表單簽核主檔.GetLastStatus("處理結果追蹤", ID);
if (trackingStatus != null && trackingStatus. == "Y" && trackingStatus. != "D")
{
lbMessage.Text = "處理結果追蹤已完成簽核,不可修改。";
pnl追蹤編輯.Visible = false;
Form_View.DataBind();
return;
}
if (String.IsNullOrEmpty(txt追蹤內容.Text.Trim()))
{
lbMessage.Text = "請輸入處理結果追蹤。";
return;
}
Dao教學日誌.Update處理結果追蹤(ID, , txt追蹤內容.Text);
pnl追蹤編輯.Visible = false;
Form_View.DataBind();
}
protected void btn追蹤取消_Click(object sender, EventArgs e)
{
pnl追蹤編輯.Visible = false;
Form_View.DataBind();
}
protected void FormView1_ItemInserting(object sender, FormViewInsertEventArgs e)
{
e.Values["課程企劃編號"] = ID;
e.Values["處理結果追蹤"] = "";
}
protected void FormView1_ItemUpdating(object sender, FormViewUpdateEventArgs e)
{
string ID = String.Format("{0}|{1}", ID, );
status = Dao表單簽核主檔.GetLastStatus("教學日誌暨異常狀況", ID);
if ((status))
{
e.Cancel = true;
lbMessage.Text = "教學日誌暨異常狀況已送簽,不可更正。";
Form_View.ChangeMode(FormViewMode.ReadOnly);
Form_View.DataBind();
return;
}
List data = ds教學日誌.Select() as List;
if (data.Count > 0)
e.NewValues["處理結果追蹤"] = data[0].;
}
protected void cv觀察說明_ServerValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = !String.IsNullOrEmpty(FindFormValue(source, "txt觀察說明").Trim());
}
protected void cv異常情形_ServerValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = FindFormValue(source, "ddl有無異常事項") == "0"
|| !String.IsNullOrEmpty(FindFormValue(source, "txt異常情形").Trim());
}
protected void cv追蹤事項_ServerValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = FindFormValue(source, "ddl是否需後續追蹤") == "0"
|| !String.IsNullOrEmpty(FindFormValue(source, "txt追蹤事項").Trim());
}
private bool ( status)
{
return status != null
&& !(status. == "D" && status. == "D");
}
protected void ds課程內容_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{
1.Visible = false;
2.Visible = false;
}
}
}