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

215 lines
8.2 KiB
C#

using System;
using System.Configuration;
using System.Collections.Generic;
using System.Web;
using System.Web.UI.WebControls;
using SuperMap.RealEstate.Web.UI;
using SuperMap.RealEstate.Web.Utility;
using Business = SuperMap.RealEstate.FrameWork.Business;
using HZQR.Common;
namespace Personnel.WebSite.Modules.Users
{
public partial class UserTree : BasePage
{
Business.UserRole _UserRole = new Business.UserRole();
//protected string _RoleType = ConfigurationManager.AppSettings["RoleType"].ToString();
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();
bool IsShowDefault = true;
if (!string.IsNullOrEmpty(Request["ShowDefault"]))
{
IsShowDefault = false;
}
BindingTreeViewUnRole(Transaction, MyTreeView.Nodes, User_ID, -1, null, null, IsShowDefault);
//_UserRole.BindingTreeView_RoleType("-1", MyTreeView.Nodes, false);
TreeViewBinding_UserRole();
}
//绑定数据源
//private void TreeViewBinding_RoleType()
//{
// MyTreeView.Nodes.Clear();
// TreeNode _TreeNode = new TreeNode();
// if (!string.IsNullOrEmpty(Request["RoleType"]))
// {
// Business.RoleType _RoleType = new Business.RoleType(Transaction);
// _RoleType.RoleType_ID_Encrypt = Request["RoleType"].ToEncrypt();
// if (_RoleType.Select())
// {
// _TreeNode.Text = _RoleType.RoleType_Name;
// _TreeNode.Value = _RoleType.RoleType_ID.ToString();
// _TreeNode.NavigateUrl = "#";
// _TreeNode.ImageToolTip = "RoleType";
// _TreeNode.ImageUrl = TreeNodeImageUrl.RoleType;
// BindingTreeView(Transaction, Request["RoleType"], _TreeNode.ChildNodes, "RoleType", "", true, "", true, "#", "#", true);
// foreach (Business.Role _Role in new Business.Role(Transaction).FillCollection(
// "WHERE RoleType_ID = " + _RoleType.RoleType_ID))
// {
// TreeNode _ChileTreeNode = new TreeNode();
// _ChileTreeNode.Text = _Role.Role_Name;
// _ChileTreeNode.Value = _Role.Role_ID.ToString();
// _ChileTreeNode.NavigateUrl = "#";
// _ChileTreeNode.ImageToolTip = "Role";
// _ChileTreeNode.ImageUrl = TreeNodeImageUrl.Role;
// _TreeNode.ChildNodes.Add(_ChileTreeNode);
// }
// if (_TreeNode.ChildNodes.Count > 0)
// {
// MyTreeView.Nodes.Add(_TreeNode);
// }
// }
// }
// TreeViewBinding_UserRole();
//}
private void TreeViewBinding_UserRole()
{
TreeViewUserRole.Nodes.Clear();
bool IsShowDefault = true;
if (!string.IsNullOrEmpty(Request["ShowDefault"]))
{
IsShowDefault = false;
}
BindingTreeViewRole(Transaction, TreeViewUserRole.Nodes, User_ID, -1, null, null, IsShowDefault);
}
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();
foreach (TreeNode _TreeNode in MyTreeView.CheckedNodes)
{
if (_TreeNode.ImageToolTip == "Role")
{
_UserRole.ResetProperty();
_UserRole.User_ID = User_ID;
_UserRole.Role_ID = _TreeNode.Value.TryParseToInt();
_UserRole.Insert();
}
}
TreeViewBinding_RoleType();
Alert("选择成功!", 3);
}
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);
foreach (TreeNode _TreeNode in TreeViewUserRole.CheckedNodes)
{
if (_TreeNode.ImageToolTip == "Role")
{
_UserRole.ResetProperty();
_UserRole.AddSearchParameter("User_ID", User_ID);
_UserRole.AddSearchParameter("Role_ID", _TreeNode.Value.TryParseToInt());
if (_UserRole.Search())
{
_UserRole.Delete();
}
}
}
TreeViewBinding_RoleType();
//DeleteUserRole(TreeViewUserRole.Nodes);
//TreeViewBinding_UserRole();
Alert("更新成功!", 3);
}
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));
}
}
}
}
}
}