208 lines
8.1 KiB
C#
208 lines
8.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Web;
|
|
using System.Web.UI.WebControls;
|
|
using SuperMap.RealEstate.Web.UI;
|
|
using Business = SuperMap.RealEstate.FrameWork.Business;
|
|
using HZQR.Common;
|
|
|
|
namespace Personnel.WebSite.Modules.Roles
|
|
{
|
|
public partial class RoleTree : BasePage
|
|
{
|
|
protected override void OnInit(EventArgs e)
|
|
{
|
|
base.OnInit(e);
|
|
_RoleModule = new Business.RoleModule(Transaction);
|
|
}
|
|
Business.RoleModule _RoleModule = null;
|
|
|
|
Business.RoleModulePopedom _RoleModulePopedom = new Business.RoleModulePopedom();
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
this.Master_SizeBox.SideBar.Width = "45%";
|
|
if (IsPostBack)
|
|
return;
|
|
this.FixTreeViewDoubleClick(MyTreeView, false);
|
|
this.FixTreeViewDoubleClick(TreeViewRoleModule, false);
|
|
this.FixTreeViewNodeChecked(MyTreeView);
|
|
this.FixTreeViewNodeChecked(TreeViewRoleModule);
|
|
SetControlClientAction(ButtonRemove, false, true, true);
|
|
SetControlClientAction(ButtonSave, false, true, true);
|
|
//SetControlClientAction(ButtonSearch);
|
|
TreeViewBinding_BusinessSystem();
|
|
this.SetControlClosePopDialog(buttonClose);
|
|
}
|
|
|
|
#region Role_ID
|
|
private int Role_ID
|
|
{
|
|
get
|
|
{
|
|
return Request["ID"].ToDecryptInt32();
|
|
}
|
|
}
|
|
#endregion
|
|
//绑定数据源
|
|
private void TreeViewBinding_BusinessSystem()
|
|
{
|
|
MyTreeView.Nodes.Clear();
|
|
BindingTreeViewUnModular(Transaction, MyTreeView.Nodes, Role_ID, -1, null, null);
|
|
TreeViewBinding_RoleModule();
|
|
}
|
|
private void TreeViewBinding_RoleModule()
|
|
{
|
|
TreeViewRoleModule.Nodes.Clear();
|
|
BindingTreeViewModular(Transaction, TreeViewRoleModule.Nodes, Role_ID, -1, null, null);
|
|
}
|
|
protected void MyTreeView_TreeNodePopulate(object sender, TreeNodeEventArgs e)
|
|
{
|
|
TreeView treeView = sender as TreeView;
|
|
switch (treeView.ID)
|
|
{
|
|
case "TreeViewRoleModule":
|
|
BindingTreeViewModular(Transaction, TreeViewRoleModule.Nodes, Role_ID, -1, null, null);
|
|
break;
|
|
case "MyTreeView":
|
|
BindingTreeViewUnModular(Transaction, MyTreeView.Nodes, Role_ID, -1, null, null);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
//if (e.Node.Value.StartsWith("Module|"))
|
|
// _RoleModule.BindingTreeView_ModulePopedom(e.Node.Value, e.Node.ChildNodes, e.Node.Checked);
|
|
//else
|
|
// _RoleModule.BindingTreeView_BusinessSystem(e.Node.Value, e.Node.ChildNodes, e.Node.Checked);
|
|
}
|
|
|
|
protected void ButtonSave_Click(object sender, EventArgs e)
|
|
{
|
|
_RoleModulePopedom = new Business.RoleModulePopedom(Transaction);
|
|
foreach (TreeNode _TreeNode in MyTreeView.CheckedNodes)
|
|
{
|
|
if (_TreeNode.ImageToolTip == "Module")
|
|
{
|
|
_RoleModule.ResetProperty();
|
|
_RoleModule.Module_ID = _TreeNode.Value.TryParseToInt();
|
|
_RoleModule.Role_ID = Role_ID;
|
|
_RoleModule.Insert();
|
|
}
|
|
}
|
|
//SaveRoleModule(MyTreeView.Nodes);
|
|
TreeViewBinding_BusinessSystem();
|
|
}
|
|
|
|
private void SaveRoleModule(TreeNodeCollection treeNodeCollection)
|
|
{
|
|
foreach (TreeNode _Node in treeNodeCollection)
|
|
{
|
|
if (!_Node.Checked)
|
|
{
|
|
_Node.Checked = false;
|
|
continue;
|
|
}
|
|
if (_Node.ImageToolTip == "BusinessSystem")
|
|
{
|
|
if (_Node.PopulateOnDemand)
|
|
{
|
|
_Node.PopulateOnDemand = false;
|
|
_RoleModule.BindingTreeView_BusinessSystem(_Node.Value, _Node.ChildNodes,_Node.Checked);
|
|
}
|
|
SaveRoleModule(_Node.ChildNodes);
|
|
_Node.Checked = false;
|
|
continue;
|
|
}
|
|
_Node.Checked = false;
|
|
_RoleModule.ResetProperty();
|
|
_RoleModule.AddSearchParameter("Role_ID", Role_ID);
|
|
_RoleModule.AddSearchParameter("Module_ID", int.Parse(_Node.Value.Replace("Module|", "")));
|
|
//是否存在
|
|
if (!_RoleModule.Search())
|
|
{
|
|
_RoleModule.ResetProperty();
|
|
_RoleModule.Role_ID = Role_ID;
|
|
_RoleModule.Module_ID = int.Parse(_Node.Value.Replace("Module|", ""));
|
|
//_RoleModule.
|
|
_RoleModule.Insert();
|
|
}
|
|
if (_Node.PopulateOnDemand)
|
|
{
|
|
_Node.PopulateOnDemand = false;
|
|
_RoleModule.BindingTreeView_ModulePopedom(_Node.Value, _Node.ChildNodes, true);
|
|
}
|
|
//判斷是否有模塊權限
|
|
foreach (TreeNode _PopedomNode in _Node.ChildNodes)
|
|
{
|
|
if (!_PopedomNode.Checked)
|
|
{
|
|
_PopedomNode.Checked = false;
|
|
continue;
|
|
}
|
|
_PopedomNode.Checked = false;
|
|
_RoleModulePopedom.ResetProperty();
|
|
_RoleModulePopedom.AddSearchParameter("ModulePopedom_ID", _PopedomNode.Value);
|
|
_RoleModulePopedom.AddSearchParameter("RoleModule_ID", _RoleModule.RoleModule_ID);
|
|
//是否存在
|
|
if (_RoleModulePopedom.Search())
|
|
continue;
|
|
_RoleModulePopedom.ResetProperty();
|
|
_RoleModulePopedom.ModulePopedom_ID = int.Parse(_PopedomNode.Value);
|
|
_RoleModulePopedom.RoleModule_ID = _RoleModule.RoleModule_ID;
|
|
_RoleModulePopedom.Insert();
|
|
}
|
|
}
|
|
}
|
|
protected void ButtonRemove_Click(object sender, EventArgs e)
|
|
{
|
|
_RoleModule = new Business.RoleModule(Transaction);
|
|
//_RoleModulePopedom = new Business.RoleModulePopedom(Transaction);
|
|
|
|
foreach (TreeNode _TreeNode in TreeViewRoleModule.CheckedNodes)
|
|
{
|
|
if (_TreeNode.ImageToolTip == "Module")
|
|
{
|
|
_RoleModule.ResetProperty();
|
|
_RoleModule.AddSearchParameter("MODULE_ID", _TreeNode.Value.TryParseToInt());
|
|
_RoleModule.AddSearchParameter("Role_ID", Role_ID);
|
|
if (_RoleModule.Search())
|
|
{
|
|
_RoleModule.Delete();
|
|
}
|
|
}
|
|
}
|
|
//DeleteRoleModule(TreeViewRoleModule.Nodes);
|
|
TreeViewBinding_BusinessSystem();
|
|
}
|
|
|
|
private void DeleteRoleModule(TreeNodeCollection treeNodeCollection)
|
|
{
|
|
foreach (TreeNode _Node in treeNodeCollection)
|
|
{
|
|
if (_Node.ImageToolTip == "BusinessSystem")
|
|
{
|
|
DeleteRoleModule(_Node.ChildNodes);
|
|
continue;
|
|
}
|
|
if (_Node.ImageToolTip == "RoleModule")
|
|
{
|
|
//判斷是否有模塊權限
|
|
foreach (TreeNode _PopedomNode in _Node.ChildNodes)
|
|
{
|
|
if (!_PopedomNode.Checked)
|
|
{
|
|
_PopedomNode.Checked = false;
|
|
_RoleModulePopedom.ResetProperty();
|
|
_RoleModulePopedom.Delete(int.Parse(_PopedomNode.Value));
|
|
}
|
|
}
|
|
if (!_Node.Checked)
|
|
{
|
|
_RoleModule.ResetProperty();
|
|
_RoleModule.Delete(int.Parse(_Node.Value));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|