2025-03-27 15:05:14 +08:00

132 lines
4.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Web;
using SuperMap.RealEstate.Web.UI;
using System.Web.UI.WebControls;
using Business = SuperMap.RealEstate.FrameWork.Business;
namespace SuperMap.RealEstate.HighWay.Modules.UserServerPart
{
public partial class UserTree : BasePage
{
Business.UserRole _UserRole = new Business.UserRole();
protected void Page_Load(object sender, EventArgs e)
{
this.Master_SizeBox.SideBar.Width = "50%";
//this.Master_SizeBox.ContentPlaceHolder_ToolBar.ContentPlaceHolder_Center.TextAlign
// = Web.UI.SizeBoxMasterPages.TextAlign.Center;
//this.Master_SizeBox.ContentPlaceHolder_Footer.ContentPlaceHolder_Center.TextAlign
// = Web.UI.SizeBoxMasterPages.TextAlign.Center;
if (IsPostBack)
return;
_UserRole.Open();
TreeViewBinding_RoleType();
_UserRole.Close();
this.FixTreeViewDoubleClick(MyTreeView,false);
this.FixTreeViewDoubleClick(TreeViewUserRole,false);
this.FixTreeViewNodeChecked(MyTreeView);
this.FixTreeViewNodeChecked(TreeViewUserRole);
SetControlClientAction(ButtonRemove, false, true, true);
SetControlClientAction(ButtonSave, false, true, true);
SetControlClosePopDialog(buttonClose);
}
#region User_ID
private int User_ID
{
get
{
return Request["ID"].ToDecryptInt32();
}
}
#endregion
//绑定数据源
private void TreeViewBinding_RoleType()
{
MyTreeView.Nodes.Clear();
_UserRole.BindingTreeView_RoleType("-1", MyTreeView.Nodes, false);
TreeViewBinding_UserRole();
}
private void TreeViewBinding_UserRole()
{
TreeViewUserRole.Nodes.Clear();
_UserRole.BindingRoleTreeView(User_ID.ToString(), TreeViewUserRole.Nodes);
}
protected void MyTreeView_TreeNodePopulate(object sender, TreeNodeEventArgs e)
{
_UserRole.Open();
_UserRole.BindingTreeView_RoleType(e.Node.Value, e.Node.ChildNodes, e.Node.Checked);
_UserRole.Close();
}
protected void ButtonSave_Click(object sender, EventArgs e)
{
_UserRole = new Business.UserRole(Transaction);
SaveUserRole(MyTreeView.Nodes);
TreeViewBinding_UserRole();
}
private void SaveUserRole(TreeNodeCollection treeNodeCollection)
{
foreach (TreeNode _Node in treeNodeCollection)
{
if (!_Node.Checked)
{
_Node.Checked = false;
continue;
}
if (_Node.ImageToolTip == "RoleType")
{
if (_Node.PopulateOnDemand)
{
_Node.PopulateOnDemand = false;
_UserRole.BindingTreeView_RoleType(_Node.Value, _Node.ChildNodes,_Node.Checked);
}
SaveUserRole(_Node.ChildNodes);
_Node.Checked = false;
continue;
}
_Node.Checked = false;
_UserRole.ResetProperty();
_UserRole.AddSearchParameter("User_ID", User_ID);
_UserRole.AddSearchParameter("Role_ID", int.Parse(_Node.Value.Replace("Role|", "")));
//是否存在
if (!_UserRole.Search())
{
_UserRole.ResetProperty();
_UserRole.User_ID = User_ID;
_UserRole.Role_ID = int.Parse(_Node.Value.Replace("Role|", ""));
_UserRole.Insert();
}
}
}
protected void ButtonRemove_Click(object sender, EventArgs e)
{
_UserRole = new Business.UserRole(Transaction);
DeleteUserRole(TreeViewUserRole.Nodes);
TreeViewBinding_UserRole();
}
private void DeleteUserRole(TreeNodeCollection treeNodeCollection)
{
foreach (TreeNode _Node in treeNodeCollection)
{
if (_Node.ImageToolTip == "RoleType")
{
DeleteUserRole(_Node.ChildNodes);
continue;
}
if (_Node.ImageToolTip == "UserRole")
{
if (!_Node.Checked)
{
_UserRole.ResetProperty();
_UserRole.Delete(int.Parse(_Node.Value));
}
}
}
}
}
}