315 lines
10 KiB
C#
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();
|
|
}
|
|
|
|
}
|
|
} |