Files
thinkyu/branches/1150807/Forms/課程企劃/PickupPeople.aspx.cs
T
sryang 577060bc78 chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
2026-09-10 09:42:37 +08:00

315 lines
10 KiB
C#

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 PickupPeople : FormBase
{
private int 課程ID;
private string 課程別;
private DAC_RASN DaoRASN;
private DAC_訓練課程企劃 Dao課程企劃;
private DAC_訓練課程計畫別 Dao訓練課程計畫別;
private DAC_數位課程 Dao數位課程;
private DAC_數位課程計畫別 Dao數位課程計畫別;
private DAC_數位課程觀看紀錄 Dao數位課程觀看紀錄;
private bool 可異動;
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "訓練課程企劃書 >> 訓練對象挑選";
Title = FunctionName;
if (!IsPostBack)
{
hf編號.Value = Request["id"];
hf課程別.Value = Request["type"];
}
課程ID = DAC.GetInt32(Request["id"]);
課程別 = DAC.GetString(hf課程別.Value);
DaoRASN = new DAC_RASN(conn);
Dao課程企劃 = new DAC_訓練課程企劃(conn);
Dao訓練課程計畫別 = new DAC_訓練課程計畫別(conn);
Dao數位課程 = new DAC_數位課程(conn);
Dao數位課程計畫別 = new DAC_數位課程計畫別(conn);
Dao數位課程觀看紀錄 = new DAC_數位課程觀看紀錄(conn);
if (!IsPostBack)
{
if (課程別 == "course")
{
lbTypeLabel.Text = "訓練課程企劃";
訓練課程企劃List v1 = Dao課程企劃.SelectOne(課程ID);
if (v1.Count > 0)
{
lb課程企劃.Text = String.Format("[{0}] {1}", v1[0].顯示編號, v1[0].訓練名稱);
}
ddl計畫.DataSource = Dao訓練課程計畫別.Select(課程ID);
ddl計畫.DataTextField = "BPPYM";
ddl計畫.DataValueField = "BPPYN";
ddl計畫.DataBind();
}
else if (課程別 == "digital")
{
lbTypeLabel.Text = "數位課程";
數位課程List v1 = Dao數位課程.SelectOne(課程ID);
if (v1.Count > 0)
{
lb課程企劃.Text = String.Format("[{0:000000}] {1}", 課程ID, v1[0].課程名稱);
}
ddl計畫.DataSource = Dao數位課程計畫別.Select(課程ID);
ddl計畫.DataTextField = "BPPYM";
ddl計畫.DataValueField = "BPPYN";
ddl計畫.DataBind();
//pnl選修人員.Visible = false;
btnAdd2.Visible = false;
btnAdd1.Text = "加入訓練對象";
lbPeople.Text = "已加入訓練對象";
}
RefreshUI();
}
if (IsPostBack)
{
gv必修人員.DataBind();
gv選修人員.DataBind();
}
UIControl();
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "start",
@"
var cbBSSelectAll = document.getElementById(""cbBSSelectAll"");
if (cbBSSelectAll)
{
cbBSSelectAll.onchange = function ()
{
var BSSelect = document.getElementsByName(""cbBSSelect"");
for (i = 0; i < BSSelect.length; i++)
{
BSSelect.item(i).checked = this.checked;
}
}
}
var cbSSSelectAll = document.getElementById(""cbSSSelectAll"");
if (cbSSSelectAll)
{
cbSSSelectAll.onchange = function ()
{
var BSSelect = document.getElementsByName(""cbSSSelect"");
for (i = 0; i < BSSelect.length; i++)
{
BSSelect.item(i).checked = this.checked;
}
}
}
var btnRemoveBS = document.getElementById(""" + btnRemoveBS.ClientID + @""");
if (btnRemoveBS)
{
btnRemoveBS.onclick = function ()
{
if (!confirm(""是否確定移除勾選的必修人員?""))
return false;
var BSValue = """";
var BSSelect = document.getElementsByName(""cbBSSelect"");
for (i = 0; i < BSSelect.length; i++)
{
if (BSSelect.item(i).checked)
BSValue += BSSelect.item(i).value + ""|"";
}
document.getElementById(""" + hfBSChecked.ClientID + @""").value = BSValue;
}
}
var btnRemoveSS = document.getElementById(""" + btnRemoveSS.ClientID + @""");
if (btnRemoveSS)
{
btnRemoveSS.onclick = function ()
{
if (!confirm(""是否確定取消勾選的選修人員?""))
return false;
var SSValue = """";
var SSSelect = document.getElementsByName(""cbSSSelect"");
for (i = 0; i < SSSelect.length; i++)
{
if (SSSelect.item(i).checked)
SSValue += SSSelect.item(i).value + ""|"";
}
document.getElementById(""" + hfSSChecked.ClientID + @""").value = SSValue;
}
}", true);
}
private void UIControl()
{
// 可異動 = Dao表單簽核主檔.表單可異動("課程企劃", 課程ID.ToString());
可異動 = true;
btnAdd1.Visible = 可異動;
btnAdd2.Visible = 可異動;
btnRemoveBS.Visible = 可異動;
btnRemoveSS.Visible = 可異動;
}
private void RefreshUI()
{
if (課程別 == "course")
{
cbl已加入必修人員.DataSource = Dao課程報名.Select必修學員(課程ID);
cbl已加入選修人員.DataSource = Dao課程報名.Select選修學員(課程ID);
}
else if (課程別 == "digital")
{
cbl已加入必修人員.DataSource = Dao數位課程觀看紀錄.Select必修學員(課程ID);
}
else
return;
cbl已加入必修人員.DataTextField = "學員姓名";
cbl已加入必修人員.DataValueField = "學員編號";
cbl已加入必修人員.DataBind();
cbl已加入選修人員.DataTextField = "學員姓名";
cbl已加入選修人員.DataValueField = "學員編號";
cbl已加入選修人員.DataBind();
gv必修人員.DataBind();
gv選修人員.DataBind();
}
protected void btnSelectPeople_Click(object sender, EventArgs e)
{
cbl可加入人員.DataSource = DaoRASN.Select專案人員(ddl計畫.SelectedValue, CompanyId);
cbl可加入人員.DataTextField = "Name";
cbl可加入人員.DataValueField = "Value";
cbl可加入人員.DataBind();
Check可加入人員(true);
}
private void Check可加入人員(bool selected)
{
foreach (ListItem item in cbl可加入人員.Items)
{
item.Selected = selected;
}
}
protected void btnCheckAll_Click(object sender, EventArgs e)
{
Check可加入人員(true);
}
protected void btnCheckNone_Click(object sender, EventArgs e)
{
Check可加入人員(false);
}
protected void btnAdd_Click(object sender, EventArgs e)
{
foreach (ListItem item in cbl可加入人員.Items)
{
if (item.Selected)
{
if (課程別 == "course")
Dao課程報名.必修(item.Value, 課程ID, UserId);
else if (課程別 == "digital")
Dao數位課程觀看紀錄.報名(課程ID, item.Value, UserId);
}
}
RefreshUI();
}
protected void btnAdd2_Click(object sender, EventArgs e)
{
foreach (ListItem item in cbl可加入人員.Items)
{
if (item.Selected)
{
if (課程別 == "course")
Dao課程報名.選修(item.Value, 課程ID, UserId);
}
}
RefreshUI();
}
/*
protected void btnRemove_Click(object sender, EventArgs e)
{
foreach (ListItem item in cbl已加入必修人員.Items)
{
if (item.Selected)
{
if (課程別 == "course")
Dao課程報名.取消必修(item.Value, 課程ID, UserId);
else if (課程別 == "digital")
Dao數位課程觀看紀錄.取消報名(課程ID, item.Value);
}
}
RefreshUI();
}
protected void btnRemove2_Click(object sender, EventArgs e)
{
foreach (ListItem item in cbl已加入選修人員.Items)
{
if (item.Selected)
{
if (課程別 == "course")
Dao課程報名.取消選修(item.Value, 課程ID, UserId);
}
}
RefreshUI();
}
*/
// 移除必修人員
protected void btnRemoveBS_Click(object sender, EventArgs e)
{
string[] IDs = hfBSChecked.Value.Split('|');
foreach (string id in IDs)
{
if (id.Length > 0)
{
if (課程別 == "course")
Dao課程報名.取消必修(id, 課程ID, UserId);
else if (課程別 == "digital")
Dao數位課程觀看紀錄.取消報名(課程ID, id);
}
}
RefreshUI();
}
// 移除選修人員
protected void btnRemoveSS_Click(object sender, EventArgs e)
{
string[] IDs = hfSSChecked.Value.Split('|');
foreach (string id in IDs)
{
if (id.Length > 0)
{
if (課程別 == "course")
Dao課程報名.取消選修(id, 課程ID, UserId);
}
}
RefreshUI();
}
}
}