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

115 lines
3.7 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 組織人員處理 : FormBase
{
private int 組織類別Id;
private DAC_組織人員 Dao組織人員;
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "組織人員處理";
Dao組織人員 = new DAC_組織人員(conn);
if (!IsPostBack)
ddl組織類別.DataBind();
else if (pnl組織圖.Visible)
{
GridView1.DataBind();
}
}
protected void btnSelect組織類別_Click(object sender, EventArgs e)
{
組織類別Id = DAC.GetInt32(ddl組織類別.SelectedValue);
Dao組織圖.DrawTree(TV, 組織類別Id);
pnl組織圖.Visible = true;
TV.ExpandAll();
if (TV.Nodes.Count > 0)
{
TV.Nodes[0].Select();
TV_SelectedNodeChanged(sender, e);
}
else
{
txt人員.Text = "";
txt人員姓名.Text = "";
lb組織名稱.Text = "";
}
}
protected void TV_SelectedNodeChanged(object sender, EventArgs e)
{
GridView1.DataBind();
lb組織名稱.Text = TV.SelectedNode.Text;
//txt人員.Focus();
}
protected void btnInsert_Click(object sender, EventArgs e)
{
if (!IsValid)
return;
組織人員 newValue = new 組織人員();
newValue.組織ID = DAC.GetInt32(TV.SelectedValue);
newValue.人員ID = txt人員.Text;
newValue.職務ID = DAC.GetInt32(ddl職務.SelectedValue);
newValue.直接主管ID = ddl主管.SelectedValue;
newValue.DB_CRUSR = UserId;
Dao組織人員.InsertOne(newValue);
GridView1.DataBind();
ddl主管.DataBind();
//txt人員.Focus();
}
protected void dsGrid_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao組織人員;
}
protected void ds職務_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao職務;
}
protected void cv人員_ServerValidate(object source, ServerValidateEventArgs args)
{
// 檢查人員是否存在
args.IsValid = Get員工姓名(args.Value).Trim().Length > 0;
}
protected void cv主管_ServerValidate(object source, ServerValidateEventArgs args)
{
// 檢查人員是否存在
args.IsValid = Get員工姓名(args.Value).Trim().Length > 0;
}
protected void cv人員重複_ServerValidate(object source, ServerValidateEventArgs args)
{
// 檢查人員是否重複
args.IsValid = !Dao組織人員.IsDuplicate(DAC.GetInt32(TV.SelectedValue), args.Value);
}
protected void GridView1_RowDeleted(object sender, GridViewDeletedEventArgs e)
{
ddl主管.DataBind();
// 20181023 檢查部門主管是否在部門人員中,若無則清除部門的主管欄位
組織圖 dept = Dao組織圖.SelectOne(DAC.GetInt32(TV.SelectedNode.Value)).FirstOrDefault();
if (dept != null && ddl主管.Items.FindByValue(dept.部門主管) == null)
{
dept.部門主管 = "";
Dao組織圖.UpdateOne(dept);
}
}
}
}