chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -0,0 +1,286 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Linq;
|
||||
using WebLib;
|
||||
|
||||
namespace Education.Forms.課程企劃
|
||||
{
|
||||
public partial class PickupMaterial : FormBase
|
||||
{
|
||||
private DAC_訓練課程企劃 Dao課程企劃;
|
||||
private DAC_訓練課程內容 Dao課程內容;
|
||||
private DAC_教材遴選 Dao教材遴選;
|
||||
private int 課程企劃ID;
|
||||
private int 課程序號;
|
||||
|
||||
protected bool 可異動;
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
FunctionName = "訓練課程企劃書 >> 訓練課程內容 >> 教材遴選";
|
||||
Title = FunctionName;
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
hf課程企劃ID.Value = Request["id"];
|
||||
hf課程序號.Value = Request["class"];
|
||||
}
|
||||
課程企劃ID = DAC.GetInt32(hf課程企劃ID.Value);
|
||||
課程序號 = DAC.GetInt32(hf課程序號.Value);
|
||||
|
||||
可異動 = Dao表單簽核主檔.表單可異動("課程企劃", String.Format("{0}", 課程企劃ID));
|
||||
|
||||
Dao課程企劃 = new DAC_訓練課程企劃(conn);
|
||||
Dao課程內容 = new DAC_訓練課程內容(conn);
|
||||
Dao教材遴選 = new DAC_教材遴選(conn);
|
||||
|
||||
btnClearA.OnClientClick = String.Format("clearMaterial(\"{0}\", \"{1}\", \"{2}\", \"{3}\", \"{4}\", \"{5}\", \"{6}\"); return false;",
|
||||
txt教材名稱A.ClientID, txt符合訓練目標A.ClientID, txt架構規劃完整性A.ClientID, txt符合課程時數A.ClientID, txt引起學習興趣A.ClientID, txt未來工作參考運用A.ClientID, lb合計A.ClientID);
|
||||
btnClearB.OnClientClick = String.Format("clearMaterial(\"{0}\", \"{1}\", \"{2}\", \"{3}\", \"{4}\", \"{5}\", \"{6}\"); return false;",
|
||||
txt教材名稱B.ClientID, txt符合訓練目標B.ClientID, txt架構規劃完整性B.ClientID, txt符合課程時數B.ClientID, txt引起學習興趣B.ClientID, txt未來工作參考運用B.ClientID, lb合計B.ClientID);
|
||||
btnClearC.OnClientClick = String.Format("clearMaterial(\"{0}\", \"{1}\", \"{2}\", \"{3}\", \"{4}\", \"{5}\", \"{6}\"); return false;",
|
||||
txt教材名稱C.ClientID, txt符合訓練目標C.ClientID, txt架構規劃完整性C.ClientID, txt符合課程時數C.ClientID, txt引起學習興趣C.ClientID, txt未來工作參考運用C.ClientID, lb合計C.ClientID);
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
UpdateUI();
|
||||
}
|
||||
|
||||
UIControl();
|
||||
|
||||
(Master as PopupForm).RefreshOpener = true;
|
||||
}
|
||||
|
||||
private void UIControl()
|
||||
{
|
||||
btnSave.Visible = 可異動;
|
||||
btnClearA.Visible = 可異動;
|
||||
btnClearB.Visible = 可異動;
|
||||
btnClearC.Visible = 可異動;
|
||||
|
||||
txt教材名稱A.Enabled = 可異動;
|
||||
txt教材名稱B.Enabled = 可異動;
|
||||
txt教材名稱C.Enabled = 可異動;
|
||||
|
||||
txt符合訓練目標A.Enabled = 可異動;
|
||||
txt符合訓練目標B.Enabled = 可異動;
|
||||
txt符合訓練目標C.Enabled = 可異動;
|
||||
|
||||
txt架構規劃完整性A.Enabled = 可異動;
|
||||
txt架構規劃完整性B.Enabled = 可異動;
|
||||
txt架構規劃完整性C.Enabled = 可異動;
|
||||
|
||||
txt符合課程時數A.Enabled = 可異動;
|
||||
txt符合課程時數B.Enabled = 可異動;
|
||||
txt符合課程時數C.Enabled = 可異動;
|
||||
|
||||
txt引起學習興趣A.Enabled = 可異動;
|
||||
txt引起學習興趣B.Enabled = 可異動;
|
||||
txt引起學習興趣C.Enabled = 可異動;
|
||||
|
||||
txt未來工作參考運用A.Enabled = 可異動;
|
||||
txt未來工作參考運用B.Enabled = 可異動;
|
||||
txt未來工作參考運用C.Enabled = 可異動;
|
||||
|
||||
txt總評.Enabled = 可異動;
|
||||
txt備註.Enabled = 可異動;
|
||||
}
|
||||
|
||||
private void UpdateUI()
|
||||
{
|
||||
訓練課程企劃List v1 = Dao課程企劃.SelectOne(課程企劃ID);
|
||||
訓練課程內容List v2 = Dao課程內容.SelectOne(課程企劃ID, 課程序號);
|
||||
教材遴選List v3 = Dao教材遴選.SelectOne(課程企劃ID, 課程序號);
|
||||
|
||||
if (v1.Count > 0)
|
||||
{
|
||||
lb課程企劃.Text = String.Format("[{0}] {1}", v1[0].顯示編號, v1[0].訓練名稱);
|
||||
}
|
||||
|
||||
if (v2.Count > 0)
|
||||
{
|
||||
lb課程內容.Text = String.Format("[{0}] {1}", v2[0].節次, v2[0].課程名稱);
|
||||
}
|
||||
|
||||
txt教材名稱A.Text = "";
|
||||
txt符合訓練目標A.Text = "";
|
||||
txt架構規劃完整性A.Text = "";
|
||||
txt符合課程時數A.Text = "";
|
||||
txt引起學習興趣A.Text = "";
|
||||
txt未來工作參考運用A.Text = "";
|
||||
lb合計A.Text = "";
|
||||
|
||||
txt教材名稱B.Text = "";
|
||||
txt符合訓練目標B.Text = "";
|
||||
txt架構規劃完整性B.Text = "";
|
||||
txt符合課程時數B.Text = "";
|
||||
txt引起學習興趣B.Text = "";
|
||||
txt未來工作參考運用B.Text = "";
|
||||
lb合計B.Text = "";
|
||||
|
||||
txt教材名稱C.Text = "";
|
||||
txt符合訓練目標C.Text = "";
|
||||
txt架構規劃完整性C.Text = "";
|
||||
txt符合課程時數C.Text = "";
|
||||
txt引起學習興趣C.Text = "";
|
||||
txt未來工作參考運用C.Text = "";
|
||||
lb合計C.Text = "";
|
||||
|
||||
txt總評.Text = "";
|
||||
txt備註.Text = "";
|
||||
|
||||
if (v3.Count > 0)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(v3[0].教材名稱_A))
|
||||
{
|
||||
txt教材名稱A.Text = v3[0].教材名稱_A;
|
||||
txt符合訓練目標A.Text = v3[0].符合訓練目標_A.ToString();
|
||||
txt架構規劃完整性A.Text = v3[0].架構規劃完整性_A.ToString();
|
||||
txt符合課程時數A.Text = v3[0].符合課程時數_A.ToString();
|
||||
txt引起學習興趣A.Text = v3[0].引起學習興趣_A.ToString();
|
||||
txt未來工作參考運用A.Text = v3[0].未來工作參考運用_A.ToString();
|
||||
lb合計A.Text = (v3[0].符合訓練目標_A + v3[0].架構規劃完整性_A + v3[0].符合課程時數_A + v3[0].引起學習興趣_A + v3[0].未來工作參考運用_A).ToString();
|
||||
}
|
||||
|
||||
if (!String.IsNullOrEmpty(v3[0].教材名稱_B))
|
||||
{
|
||||
txt教材名稱B.Text = v3[0].教材名稱_B;
|
||||
txt符合訓練目標B.Text = v3[0].符合訓練目標_B.ToString();
|
||||
txt架構規劃完整性B.Text = v3[0].架構規劃完整性_B.ToString();
|
||||
txt符合課程時數B.Text = v3[0].符合課程時數_B.ToString();
|
||||
txt引起學習興趣B.Text = v3[0].引起學習興趣_B.ToString();
|
||||
txt未來工作參考運用B.Text = v3[0].未來工作參考運用_B.ToString();
|
||||
lb合計B.Text = (v3[0].符合訓練目標_B + v3[0].架構規劃完整性_B + v3[0].符合課程時數_B + v3[0].引起學習興趣_B + v3[0].未來工作參考運用_B).ToString();
|
||||
}
|
||||
|
||||
if (!String.IsNullOrEmpty(v3[0].教材名稱_C))
|
||||
{
|
||||
txt教材名稱C.Text = v3[0].教材名稱_C;
|
||||
txt符合訓練目標C.Text = v3[0].符合訓練目標_C.ToString();
|
||||
txt架構規劃完整性C.Text = v3[0].架構規劃完整性_C.ToString();
|
||||
txt符合課程時數C.Text = v3[0].符合課程時數_C.ToString();
|
||||
txt引起學習興趣C.Text = v3[0].引起學習興趣_C.ToString();
|
||||
txt未來工作參考運用C.Text = v3[0].未來工作參考運用_C.ToString();
|
||||
lb合計C.Text = (v3[0].符合訓練目標_C + v3[0].架構規劃完整性_C + v3[0].符合課程時數_C + v3[0].引起學習興趣_C + v3[0].未來工作參考運用_C).ToString();
|
||||
}
|
||||
|
||||
txt總評.Text = v3[0].總評;
|
||||
txt備註.Text = v3[0].備註;
|
||||
}
|
||||
}
|
||||
|
||||
private bool Validate分數()
|
||||
{
|
||||
string[] 教材名稱 = { txt教材名稱A.Text.Trim(), txt教材名稱B.Text.Trim(), txt教材名稱C.Text.Trim() };
|
||||
string[][] 分數 = {
|
||||
new[] { txt符合訓練目標A.Text, txt架構規劃完整性A.Text, txt符合課程時數A.Text, txt引起學習興趣A.Text, txt未來工作參考運用A.Text },
|
||||
new[] { txt符合訓練目標B.Text, txt架構規劃完整性B.Text, txt符合課程時數B.Text, txt引起學習興趣B.Text, txt未來工作參考運用B.Text },
|
||||
new[] { txt符合訓練目標C.Text, txt架構規劃完整性C.Text, txt符合課程時數C.Text, txt引起學習興趣C.Text, txt未來工作參考運用C.Text }
|
||||
};
|
||||
string[] 名稱 = { "一", "二", "三" };
|
||||
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
if (String.IsNullOrEmpty(教材名稱[i]))
|
||||
continue;
|
||||
|
||||
foreach (string 值 in 分數[i])
|
||||
{
|
||||
int 分 = DAC.GetInt32(值);
|
||||
if (分 < 0 || 分 > 20)
|
||||
{
|
||||
ClientShowMessage(String.Format("請完整填寫教材{0}的評分(0~20)。", 名稱[i]));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
protected void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (String.IsNullOrEmpty(txt教材名稱A.Text.Trim())
|
||||
&& String.IsNullOrEmpty(txt教材名稱B.Text.Trim())
|
||||
&& String.IsNullOrEmpty(txt教材名稱C.Text.Trim()))
|
||||
{
|
||||
ClientShowMessage("請至少輸入一項教材名稱。");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Validate分數())
|
||||
return;
|
||||
|
||||
教材遴選Item item = Dao教材遴選.SelectOne(課程企劃ID, 課程序號).FirstOrDefault();
|
||||
|
||||
if (item == null)
|
||||
{
|
||||
item = new 教材遴選Item()
|
||||
{
|
||||
課程企劃編號 = 課程企劃ID,
|
||||
課程序號 = 課程序號,
|
||||
|
||||
教材名稱_A = txt教材名稱A.Text,
|
||||
符合訓練目標_A = DAC.GetInt32(txt符合訓練目標A.Text),
|
||||
架構規劃完整性_A = DAC.GetInt32(txt架構規劃完整性A.Text),
|
||||
符合課程時數_A = DAC.GetInt32(txt符合課程時數A.Text),
|
||||
引起學習興趣_A = DAC.GetInt32(txt引起學習興趣A.Text),
|
||||
未來工作參考運用_A = DAC.GetInt32(txt未來工作參考運用A.Text),
|
||||
|
||||
教材名稱_B = txt教材名稱B.Text,
|
||||
符合訓練目標_B = DAC.GetInt32(txt符合訓練目標B.Text),
|
||||
架構規劃完整性_B = DAC.GetInt32(txt架構規劃完整性B.Text),
|
||||
符合課程時數_B = DAC.GetInt32(txt符合課程時數B.Text),
|
||||
引起學習興趣_B = DAC.GetInt32(txt引起學習興趣B.Text),
|
||||
未來工作參考運用_B = DAC.GetInt32(txt未來工作參考運用B.Text),
|
||||
|
||||
教材名稱_C = txt教材名稱C.Text,
|
||||
符合訓練目標_C = DAC.GetInt32(txt符合訓練目標C.Text),
|
||||
架構規劃完整性_C = DAC.GetInt32(txt架構規劃完整性C.Text),
|
||||
符合課程時數_C = DAC.GetInt32(txt符合課程時數C.Text),
|
||||
引起學習興趣_C = DAC.GetInt32(txt引起學習興趣C.Text),
|
||||
未來工作參考運用_C = DAC.GetInt32(txt未來工作參考運用C.Text),
|
||||
|
||||
總評 = txt總評.Text,
|
||||
備註 = txt備註.Text
|
||||
};
|
||||
Dao教材遴選.InsertOne(item);
|
||||
}
|
||||
else
|
||||
{
|
||||
item.教材名稱_A = txt教材名稱A.Text;
|
||||
item.符合訓練目標_A = DAC.GetInt32(txt符合訓練目標A.Text);
|
||||
item.架構規劃完整性_A = DAC.GetInt32(txt架構規劃完整性A.Text);
|
||||
item.符合課程時數_A = DAC.GetInt32(txt符合課程時數A.Text);
|
||||
item.引起學習興趣_A = DAC.GetInt32(txt引起學習興趣A.Text);
|
||||
item.未來工作參考運用_A = DAC.GetInt32(txt未來工作參考運用A.Text);
|
||||
|
||||
item.教材名稱_B = txt教材名稱B.Text;
|
||||
item.符合訓練目標_B = DAC.GetInt32(txt符合訓練目標B.Text);
|
||||
item.架構規劃完整性_B = DAC.GetInt32(txt架構規劃完整性B.Text);
|
||||
item.符合課程時數_B = DAC.GetInt32(txt符合課程時數B.Text);
|
||||
item.引起學習興趣_B = DAC.GetInt32(txt引起學習興趣B.Text);
|
||||
item.未來工作參考運用_B = DAC.GetInt32(txt未來工作參考運用B.Text);
|
||||
|
||||
item.教材名稱_C = txt教材名稱C.Text;
|
||||
item.符合訓練目標_C = DAC.GetInt32(txt符合訓練目標C.Text);
|
||||
item.架構規劃完整性_C = DAC.GetInt32(txt架構規劃完整性C.Text);
|
||||
item.符合課程時數_C = DAC.GetInt32(txt符合課程時數C.Text);
|
||||
item.引起學習興趣_C = DAC.GetInt32(txt引起學習興趣C.Text);
|
||||
item.未來工作參考運用_C = DAC.GetInt32(txt未來工作參考運用C.Text);
|
||||
|
||||
item.總評 = txt總評.Text;
|
||||
item.備註 = txt備註.Text;
|
||||
|
||||
Dao教材遴選.UpdateOne(item);
|
||||
}
|
||||
|
||||
UpdateUI();
|
||||
|
||||
ClientShowMessage("儲存成功!");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user