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 UserTreeCopy : 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(ButtonReplace, false, true, true); SetControlClientAction(ButtonAdd, 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); bool IsShowDefault = true; if (!string.IsNullOrEmpty(Request["ShowDefault"])) { IsShowDefault = false; } BindingTreeView(Transaction, "-1", MyTreeView.Nodes, "UserType", "", true, "", true, "#", "#", true, "", "", null, null, IsShowDefault); 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(); _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(); 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); 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)); } } } } //复制替换 protected void ButtonReplace_Click(object sender, EventArgs e) { //获取选中的所有人 foreach (TreeNode _Node in MyTreeView.CheckedNodes) { //判断是否选中且是人员节点 if (_Node.ImageToolTip != "User" || !_Node.Checked) { continue; } //人员内码不为空时 if (string.IsNullOrEmpty(_Node.Value)) { continue; } //清空原权限 _UserRole.ExecuteNonQuery("DELETE FROM PLATFORM_FRAMEWORK.T_USERROLE WHERE USER_ID = " + _Node.Value, null); //获取选中的权限模块 foreach (TreeNode _RoleNode in TreeViewUserRole.CheckedNodes) { //判断是否选中且是模块节点 if (_RoleNode.ImageToolTip != "UserRole" || !_RoleNode.Checked) { continue; } //角色内码不为空时 if (string.IsNullOrEmpty(_RoleNode.Value)) { return; } //获取关联关系 _UserRole.UserRole_ID_Encrypt = _RoleNode.Value.ToEncrypt(); if (_UserRole.Select()) { int ROLE_ID = _UserRole.Role_ID.Value; _UserRole.ResetProperty(); _UserRole.User_ID = _Node.Value.TryParseToInt(); _UserRole.Role_ID = ROLE_ID; _UserRole.Insert(); } } } Alert("替换成功!", 3); } //复制叠加 protected void ButtonAdd_Click(object sender, EventArgs e) { //获取选中的所有人 foreach (TreeNode _Node in MyTreeView.CheckedNodes) { //判断是否选中且是人员节点 if (_Node.ImageToolTip != "User" || !_Node.Checked) { continue; } //人员内码不为空时 if (string.IsNullOrEmpty(_Node.Value)) { continue; } //获取选中的权限模块 foreach (TreeNode _RoleNode in TreeViewUserRole.CheckedNodes) { //判断是否选中且是模块节点 if (_RoleNode.ImageToolTip != "UserRole" || !_RoleNode.Checked) { continue; } //角色内码不为空时 if (string.IsNullOrEmpty(_RoleNode.Value)) { return; } //获取关联关系 _UserRole.UserRole_ID_Encrypt = _RoleNode.Value.ToEncrypt(); if (_UserRole.Select()) { int ROLE_ID = _UserRole.Role_ID.Value; //判断角色关联是否存在 _UserRole.ResetProperty(); _UserRole.AddSearchParameter("User_ID", _Node.Value); _UserRole.AddSearchParameter("Role_ID", ROLE_ID); //是否存在 if (!_UserRole.Search()) { _UserRole.ResetProperty(); _UserRole.User_ID = _Node.Value.TryParseToInt(); _UserRole.Role_ID = ROLE_ID; _UserRole.Insert(); } } } } Alert("叠加成功!", 3); } } }