chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -0,0 +1,355 @@
|
||||
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}\"); return false;",
|
||||
txt教材名稱A.ClientID, Get評選下拉ClientIDs("A"), btnClearA.ClientID);
|
||||
btnClearB.OnClientClick = String.Format("clearMaterial(\"{0}\", [{1}], \"{2}\"); return false;",
|
||||
txt教材名稱B.ClientID, Get評選下拉ClientIDs("B"), btnClearB.ClientID);
|
||||
btnClearC.OnClientClick = String.Format("clearMaterial(\"{0}\", [{1}], \"{2}\"); return false;",
|
||||
txt教材名稱C.ClientID, Get評選下拉ClientIDs("C"), btnClearC.ClientID);
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
填入評選下拉();
|
||||
UpdateUI();
|
||||
}
|
||||
|
||||
UIControl();
|
||||
|
||||
(Master as PopupForm).RefreshOpener = true;
|
||||
}
|
||||
|
||||
private string Get評選下拉ClientIDs(string 教材別)
|
||||
{
|
||||
string[] ids = new string[]
|
||||
{
|
||||
"\"" + 訓練目標相符(教材別).ClientID + "\"",
|
||||
"\"" + 參訓對象符合(教材別).ClientID + "\"",
|
||||
"\"" + 課程大綱相符(教材別).ClientID + "\"",
|
||||
"\"" + 內容正確適切(教材別).ClientID + "\"",
|
||||
"\"" + 學員理解應用(教材別).ClientID + "\"",
|
||||
"\"" + 使用方式清楚(教材別).ClientID + "\"",
|
||||
"\"" + 評選結果(教材別).ClientID + "\""
|
||||
};
|
||||
return String.Join(",", ids);
|
||||
}
|
||||
|
||||
private void 填入評選下拉()
|
||||
{
|
||||
DAC_教材評選選項 選項 = new DAC_教材評選選項();
|
||||
|
||||
foreach (string 別 in new[] { "A", "B", "C" })
|
||||
{
|
||||
填入下拉(訓練目標相符(別), 選項.Select評選項目ForDropDown());
|
||||
填入下拉(參訓對象符合(別), 選項.Select評選項目ForDropDown());
|
||||
填入下拉(課程大綱相符(別), 選項.Select評選項目ForDropDown());
|
||||
填入下拉(內容正確適切(別), 選項.Select評選項目ForDropDown());
|
||||
填入下拉(學員理解應用(別), 選項.Select評選項目ForDropDown());
|
||||
填入下拉(使用方式清楚(別), 選項.Select評選項目ForDropDown());
|
||||
填入下拉(評選結果(別), 選項.Select評選結果ForDropDown());
|
||||
}
|
||||
}
|
||||
|
||||
private void 填入下拉(DropDownList ddl, NameValueList list)
|
||||
{
|
||||
ddl.DataSource = list;
|
||||
ddl.DataTextField = "Name";
|
||||
ddl.DataValueField = "Value";
|
||||
ddl.DataBind();
|
||||
}
|
||||
|
||||
private DropDownList 訓練目標相符(string 教材別)
|
||||
{
|
||||
return 教材別 == "A" ? ddl訓練目標相符A : 教材別 == "B" ? ddl訓練目標相符B : ddl訓練目標相符C;
|
||||
}
|
||||
|
||||
private DropDownList 參訓對象符合(string 教材別)
|
||||
{
|
||||
return 教材別 == "A" ? ddl參訓對象符合A : 教材別 == "B" ? ddl參訓對象符合B : ddl參訓對象符合C;
|
||||
}
|
||||
|
||||
private DropDownList 課程大綱相符(string 教材別)
|
||||
{
|
||||
return 教材別 == "A" ? ddl課程大綱相符A : 教材別 == "B" ? ddl課程大綱相符B : ddl課程大綱相符C;
|
||||
}
|
||||
|
||||
private DropDownList 內容正確適切(string 教材別)
|
||||
{
|
||||
return 教材別 == "A" ? ddl內容正確適切A : 教材別 == "B" ? ddl內容正確適切B : ddl內容正確適切C;
|
||||
}
|
||||
|
||||
private DropDownList 學員理解應用(string 教材別)
|
||||
{
|
||||
return 教材別 == "A" ? ddl學員理解應用A : 教材別 == "B" ? ddl學員理解應用B : ddl學員理解應用C;
|
||||
}
|
||||
|
||||
private DropDownList 使用方式清楚(string 教材別)
|
||||
{
|
||||
return 教材別 == "A" ? ddl使用方式清楚A : 教材別 == "B" ? ddl使用方式清楚B : ddl使用方式清楚C;
|
||||
}
|
||||
|
||||
private DropDownList 評選結果(string 教材別)
|
||||
{
|
||||
return 教材別 == "A" ? ddl評選結果A : 教材別 == "B" ? ddl評選結果B : ddl評選結果C;
|
||||
}
|
||||
|
||||
private void UIControl()
|
||||
{
|
||||
btnSave.Visible = 可異動;
|
||||
btnClearA.Visible = 可異動;
|
||||
btnClearB.Visible = 可異動;
|
||||
btnClearC.Visible = 可異動;
|
||||
|
||||
txt教材名稱A.Enabled = 可異動;
|
||||
txt教材名稱B.Enabled = 可異動;
|
||||
txt教材名稱C.Enabled = 可異動;
|
||||
|
||||
foreach (string 別 in new[] { "A", "B", "C" })
|
||||
{
|
||||
訓練目標相符(別).Enabled = 可異動;
|
||||
參訓對象符合(別).Enabled = 可異動;
|
||||
課程大綱相符(別).Enabled = 可異動;
|
||||
內容正確適切(別).Enabled = 可異動;
|
||||
學員理解應用(別).Enabled = 可異動;
|
||||
使用方式清楚(別).Enabled = 可異動;
|
||||
評選結果(別).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].課程名稱);
|
||||
}
|
||||
|
||||
foreach (string 別 in new[] { "A", "B", "C" })
|
||||
{
|
||||
string 名稱 = 別 == "A" ? "一" : 別 == "B" ? "二" : "三";
|
||||
(別 == "A" ? txt教材名稱A : 別 == "B" ? txt教材名稱B : txt教材名稱C).Text = "";
|
||||
訓練目標相符(別).SelectedValue = "";
|
||||
參訓對象符合(別).SelectedValue = "";
|
||||
課程大綱相符(別).SelectedValue = "";
|
||||
內容正確適切(別).SelectedValue = "";
|
||||
學員理解應用(別).SelectedValue = "";
|
||||
使用方式清楚(別).SelectedValue = "";
|
||||
評選結果(別).SelectedValue = "";
|
||||
}
|
||||
|
||||
txt備註.Text = "";
|
||||
|
||||
if (v3.Count > 0)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(v3[0].教材名稱_A))
|
||||
{
|
||||
txt教材名稱A.Text = v3[0].教材名稱_A;
|
||||
訓練目標相符("A").SelectedValue = v3[0].訓練目標相符_A;
|
||||
參訓對象符合("A").SelectedValue = v3[0].參訓對象符合_A;
|
||||
課程大綱相符("A").SelectedValue = v3[0].課程大綱相符_A;
|
||||
內容正確適切("A").SelectedValue = v3[0].內容正確適切_A;
|
||||
學員理解應用("A").SelectedValue = v3[0].學員理解應用_A;
|
||||
使用方式清楚("A").SelectedValue = v3[0].使用方式清楚_A;
|
||||
評選結果("A").SelectedValue = v3[0].評選結果_A;
|
||||
}
|
||||
|
||||
if (!String.IsNullOrEmpty(v3[0].教材名稱_B))
|
||||
{
|
||||
txt教材名稱B.Text = v3[0].教材名稱_B;
|
||||
訓練目標相符("B").SelectedValue = v3[0].訓練目標相符_B;
|
||||
參訓對象符合("B").SelectedValue = v3[0].參訓對象符合_B;
|
||||
課程大綱相符("B").SelectedValue = v3[0].課程大綱相符_B;
|
||||
內容正確適切("B").SelectedValue = v3[0].內容正確適切_B;
|
||||
學員理解應用("B").SelectedValue = v3[0].學員理解應用_B;
|
||||
使用方式清楚("B").SelectedValue = v3[0].使用方式清楚_B;
|
||||
評選結果("B").SelectedValue = v3[0].評選結果_B;
|
||||
}
|
||||
|
||||
if (!String.IsNullOrEmpty(v3[0].教材名稱_C))
|
||||
{
|
||||
txt教材名稱C.Text = v3[0].教材名稱_C;
|
||||
訓練目標相符("C").SelectedValue = v3[0].訓練目標相符_C;
|
||||
參訓對象符合("C").SelectedValue = v3[0].參訓對象符合_C;
|
||||
課程大綱相符("C").SelectedValue = v3[0].課程大綱相符_C;
|
||||
內容正確適切("C").SelectedValue = v3[0].內容正確適切_C;
|
||||
學員理解應用("C").SelectedValue = v3[0].學員理解應用_C;
|
||||
使用方式清楚("C").SelectedValue = v3[0].使用方式清楚_C;
|
||||
評選結果("C").SelectedValue = v3[0].評選結果_C;
|
||||
}
|
||||
|
||||
txt備註.Text = v3[0].備註;
|
||||
}
|
||||
}
|
||||
|
||||
private bool Validate評選()
|
||||
{
|
||||
string[] 教材名稱 = { txt教材名稱A.Text.Trim(), txt教材名稱B.Text.Trim(), txt教材名稱C.Text.Trim() };
|
||||
string[] 名稱 = { "一", "二", "三" };
|
||||
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
if (String.IsNullOrEmpty(教材名稱[i]))
|
||||
continue;
|
||||
|
||||
string 別 = i == 0 ? "A" : i == 1 ? "B" : "C";
|
||||
|
||||
if (String.IsNullOrEmpty(訓練目標相符(別).SelectedValue)
|
||||
|| String.IsNullOrEmpty(參訓對象符合(別).SelectedValue)
|
||||
|| String.IsNullOrEmpty(課程大綱相符(別).SelectedValue)
|
||||
|| String.IsNullOrEmpty(內容正確適切(別).SelectedValue)
|
||||
|| String.IsNullOrEmpty(學員理解應用(別).SelectedValue)
|
||||
|| String.IsNullOrEmpty(使用方式清楚(別).SelectedValue)
|
||||
|| String.IsNullOrEmpty(評選結果(別).SelectedValue))
|
||||
{
|
||||
ClientShowMessage(String.Format("請完整填寫教材{0}的評選項目與評選結果。", 名稱[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 = Get選擇值(訓練目標相符("A")),
|
||||
參訓對象符合_A = Get選擇值(參訓對象符合("A")),
|
||||
課程大綱相符_A = Get選擇值(課程大綱相符("A")),
|
||||
內容正確適切_A = Get選擇值(內容正確適切("A")),
|
||||
學員理解應用_A = Get選擇值(學員理解應用("A")),
|
||||
使用方式清楚_A = Get選擇值(使用方式清楚("A")),
|
||||
評選結果_A = Get選擇值(評選結果("A")),
|
||||
|
||||
教材名稱_B = txt教材名稱B.Text,
|
||||
訓練目標相符_B = Get選擇值(訓練目標相符("B")),
|
||||
參訓對象符合_B = Get選擇值(參訓對象符合("B")),
|
||||
課程大綱相符_B = Get選擇值(課程大綱相符("B")),
|
||||
內容正確適切_B = Get選擇值(內容正確適切("B")),
|
||||
學員理解應用_B = Get選擇值(學員理解應用("B")),
|
||||
使用方式清楚_B = Get選擇值(使用方式清楚("B")),
|
||||
評選結果_B = Get選擇值(評選結果("B")),
|
||||
|
||||
教材名稱_C = txt教材名稱C.Text,
|
||||
訓練目標相符_C = Get選擇值(訓練目標相符("C")),
|
||||
參訓對象符合_C = Get選擇值(參訓對象符合("C")),
|
||||
課程大綱相符_C = Get選擇值(課程大綱相符("C")),
|
||||
內容正確適切_C = Get選擇值(內容正確適切("C")),
|
||||
學員理解應用_C = Get選擇值(學員理解應用("C")),
|
||||
使用方式清楚_C = Get選擇值(使用方式清楚("C")),
|
||||
評選結果_C = Get選擇值(評選結果("C")),
|
||||
|
||||
備註 = txt備註.Text
|
||||
};
|
||||
Dao教材遴選.InsertOne(item);
|
||||
}
|
||||
else
|
||||
{
|
||||
item.教材名稱_A = txt教材名稱A.Text;
|
||||
item.訓練目標相符_A = Get選擇值(訓練目標相符("A"));
|
||||
item.參訓對象符合_A = Get選擇值(參訓對象符合("A"));
|
||||
item.課程大綱相符_A = Get選擇值(課程大綱相符("A"));
|
||||
item.內容正確適切_A = Get選擇值(內容正確適切("A"));
|
||||
item.學員理解應用_A = Get選擇值(學員理解應用("A"));
|
||||
item.使用方式清楚_A = Get選擇值(使用方式清楚("A"));
|
||||
item.評選結果_A = Get選擇值(評選結果("A"));
|
||||
|
||||
item.教材名稱_B = txt教材名稱B.Text;
|
||||
item.訓練目標相符_B = Get選擇值(訓練目標相符("B"));
|
||||
item.參訓對象符合_B = Get選擇值(參訓對象符合("B"));
|
||||
item.課程大綱相符_B = Get選擇值(課程大綱相符("B"));
|
||||
item.內容正確適切_B = Get選擇值(內容正確適切("B"));
|
||||
item.學員理解應用_B = Get選擇值(學員理解應用("B"));
|
||||
item.使用方式清楚_B = Get選擇值(使用方式清楚("B"));
|
||||
item.評選結果_B = Get選擇值(評選結果("B"));
|
||||
|
||||
item.教材名稱_C = txt教材名稱C.Text;
|
||||
item.訓練目標相符_C = Get選擇值(訓練目標相符("C"));
|
||||
item.參訓對象符合_C = Get選擇值(參訓對象符合("C"));
|
||||
item.課程大綱相符_C = Get選擇值(課程大綱相符("C"));
|
||||
item.內容正確適切_C = Get選擇值(內容正確適切("C"));
|
||||
item.學員理解應用_C = Get選擇值(學員理解應用("C"));
|
||||
item.使用方式清楚_C = Get選擇值(使用方式清楚("C"));
|
||||
item.評選結果_C = Get選擇值(評選結果("C"));
|
||||
|
||||
item.備註 = txt備註.Text;
|
||||
|
||||
Dao教材遴選.UpdateOne(item);
|
||||
}
|
||||
|
||||
UpdateUI();
|
||||
|
||||
ClientShowMessage("儲存成功!");
|
||||
}
|
||||
|
||||
private string Get選擇值(DropDownList ddl)
|
||||
{
|
||||
return String.IsNullOrEmpty(ddl.SelectedValue) ? null : ddl.SelectedValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user