⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nodepermissions.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 CS
📖 第 1 页 / 共 3 页
字号:
namespace PowerEasy.WebSite.Admin.User
{
    using PowerEasy.AccessManage;
    using PowerEasy.Common;
    using PowerEasy.Contents;
    using PowerEasy.Controls;
    using PowerEasy.Enumerations;
    using PowerEasy.Model.Contents;
    using PowerEasy.Web.UI;
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Web.UI.WebControls;

    public class NodePermissions : AdminPage
    {
        protected Button BtnSubmit;
        protected ExtendedGridView EgvNodes;
        private CheckBox m_ChildNodeManage;
        private bool m_ChildNodeManageAll;
        private string m_ChildNodeManageId;
        private CheckBox m_ChkContentManage;
        private CheckBox m_ChkCurrentNodesManage;
        private CheckBox m_ChkNodeCheck;
        private CheckBox m_ChkNodeCommentCheck;
        private bool m_ChkNodeCommentCheckAll;
        private string m_ChkNodeCommentCheckId;
        private CheckBox m_ChkNodeCommentManage;
        private bool m_ChkNodeCommentManageAll;
        private string m_ChkNodeCommentManageId;
        private CheckBox m_ChkNodeCommentReply;
        private bool m_ChkNodeCommentReplyAll;
        private string m_ChkNodeCommentReplyId;
        private CheckBox m_ChkNodeInput;
        private CheckBox m_ChkNodePreview;
        private CheckBox m_ChkNodeSkim;
        private bool m_ContentManageAll;
        private string m_ContentManageId;
        private bool m_CurrentNodesManageAll;
        private string m_CurrentNodesManageId;
        private int m_IdType;
        private bool m_NodeCheckAll;
        private string m_NodeCheckId;
        private bool m_NodeInputAll;
        private string m_NodeInputId;
        private bool m_NodePreviewAll;
        private string m_NodePreviewId;
        private bool m_NodeSkimAll;
        private string m_NodeSkimId;
        private string m_PermissionsType = "";
        private int m_RoleId;
        private string m_Type = "";
        protected ObjectDataSource OdsEgvNodes;

        private static void AppendAllId(StringBuilder roleIdList, int countNum)
        {
            if (roleIdList.Length > 0)
            {
                string str = roleIdList.ToString();
                if ((str.IndexOf(",") > 0) && (str.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Length == countNum))
                {
                    StringHelper.AppendString(roleIdList, "-1");
                }
            }
        }

        private static void AppendSelectId(bool isChecked, string selectId, ref StringBuilder roleIdList)
        {
            if (isChecked)
            {
                StringHelper.AppendString(roleIdList, selectId);
            }
        }

        protected void BtnSubmit_Click(object sender, EventArgs e)
        {
            string permissionsType = this.m_PermissionsType;
            if (permissionsType != null)
            {
                if (!(permissionsType == "Role"))
                {
                    if (permissionsType == "User")
                    {
                        this.SaveUserFieldPermissions();
                    }
                }
                else
                {
                    this.SaveRoleFieldPermissions();
                }
            }
            this.Page.ClientScript.RegisterClientScriptBlock(base.GetType(), "windowsclose", "<script type='text/javascript'>window.close();</script>");
        }

        protected void EgvNodes_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            NodeInfo nodeInfo = new NodeInfo();
            nodeInfo = (NodeInfo) e.Row.DataItem;
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                Label label = (Label) e.Row.FindControl("LabNodeShowTree");
                label.Text = Nodes.GetTreeLine(nodeInfo.Depth, nodeInfo.ParentPath, nodeInfo.NextId, nodeInfo.Child) + nodeInfo.NodeName + Nodes.GetNodeDir(nodeInfo.Child, nodeInfo.NodeType, nodeInfo.NodeDir);
                string permissionsType = this.m_PermissionsType;
                if (permissionsType != null)
                {
                    if (!(permissionsType == "Role"))
                    {
                        if (permissionsType == "User")
                        {
                            this.UserNodeContentSelectPermission(e, nodeInfo);
                        }
                    }
                    else
                    {
                        string type = this.m_Type;
                        if (type != null)
                        {
                            if (!(type == "Content"))
                            {
                                if (!(type == "Comment"))
                                {
                                    if (type == "Node")
                                    {
                                        this.NodeSelectPermission(e, nodeInfo);
                                    }
                                    return;
                                }
                            }
                            else
                            {
                                this.NodeContentSelectPermission(e, nodeInfo);
                                return;
                            }
                            this.NodeCommentSelectPermission(e, nodeInfo);
                        }
                    }
                }
            }
        }

        private void GetContentNodeSelectPermission()
        {
            string selectId = "";
            StringBuilder roleIdList = new StringBuilder();
            StringBuilder builder2 = new StringBuilder();
            StringBuilder builder3 = new StringBuilder();
            StringBuilder builder4 = new StringBuilder();
            this.m_NodePreviewAll = ((CheckBox) this.EgvNodes.Rows[0].FindControl("ChkNodePreview")).Checked;
            this.m_NodeInputAll = ((CheckBox) this.EgvNodes.Rows[0].FindControl("ChkNodeInput")).Checked;
            this.m_NodeCheckAll = ((CheckBox) this.EgvNodes.Rows[0].FindControl("ChkNodeCheck")).Checked;
            this.m_ContentManageAll = ((CheckBox) this.EgvNodes.Rows[0].FindControl("ChkContentManage")).Checked;
            for (int i = 0; i < this.EgvNodes.Rows.Count; i++)
            {
                this.m_ChkNodePreview = (CheckBox) this.EgvNodes.Rows[i].Cells[2].FindControl("ChkNodePreview");
                this.m_ChkNodeInput = (CheckBox) this.EgvNodes.Rows[i].Cells[3].FindControl("ChkNodeInput");
                this.m_ChkNodeCheck = (CheckBox) this.EgvNodes.Rows[i].Cells[4].FindControl("ChkNodeCheck");
                this.m_ChkContentManage = (CheckBox) this.EgvNodes.Rows[i].Cells[5].FindControl("ChkContentManage");
                selectId = this.EgvNodes.DataKeys[i].Value.ToString();
                AppendSelectId(this.m_ChkNodePreview.Checked || this.m_NodePreviewAll, selectId, ref roleIdList);
                AppendSelectId(this.m_ChkNodeInput.Checked || this.m_NodeInputAll, selectId, ref builder2);
                AppendSelectId(this.m_ChkNodeCheck.Checked || this.m_NodeCheckAll, selectId, ref builder3);
                AppendSelectId(this.m_ChkContentManage.Checked || this.m_ContentManageAll, selectId, ref builder4);
            }
            AppendAllId(roleIdList, this.EgvNodes.Rows.Count - 1);
            AppendAllId(builder2, this.EgvNodes.Rows.Count - 1);
            AppendAllId(builder3, this.EgvNodes.Rows.Count - 1);
            AppendAllId(builder4, this.EgvNodes.Rows.Count - 1);
            RolePermissions.DeleteNodePermissionFromRoles(this.m_RoleId, -2, OperateCode.NodeContentPreview);
            RolePermissions.DeleteNodePermissionFromRoles(this.m_RoleId, -2, OperateCode.NodeContentInput);
            RolePermissions.DeleteNodePermissionFromRoles(this.m_RoleId, -2, OperateCode.NodeContentCheck);
            RolePermissions.DeleteNodePermissionFromRoles(this.m_RoleId, -2, OperateCode.NodeContentManage);
            RolePermissions.AddNodePermissionToRoles(this.m_RoleId, OperateCode.NodeContentPreview, roleIdList.ToString());
            RolePermissions.AddNodePermissionToRoles(this.m_RoleId, OperateCode.NodeContentInput, builder2.ToString());
            RolePermissions.AddNodePermissionToRoles(this.m_RoleId, OperateCode.NodeContentCheck, builder3.ToString());
            RolePermissions.AddNodePermissionToRoles(this.m_RoleId, OperateCode.NodeContentManage, builder4.ToString());
        }

        private void GetNodeCommentSelectPermission()
        {
            string selectId = "";
            StringBuilder roleIdList = new StringBuilder();
            StringBuilder builder2 = new StringBuilder();
            StringBuilder builder3 = new StringBuilder();
            this.m_ChkNodeCommentReplyAll = ((CheckBox) this.EgvNodes.Rows[0].FindControl("ChkNodeCommentReply")).Checked;
            this.m_ChkNodeCommentCheckAll = ((CheckBox) this.EgvNodes.Rows[0].FindControl("ChkNodeCommentCheck")).Checked;
            this.m_ChkNodeCommentManageAll = ((CheckBox) this.EgvNodes.Rows[0].FindControl("ChkNodeCommentManage")).Checked;
            for (int i = 0; i < this.EgvNodes.Rows.Count; i++)
            {
                this.m_ChkNodeCommentReply = (CheckBox) this.EgvNodes.Rows[i].Cells[2].FindControl("ChkNodeCommentReply");
                this.m_ChkNodeCommentCheck = (CheckBox) this.EgvNodes.Rows[i].Cells[3].FindControl("ChkNodeCommentCheck");
                this.m_ChkNodeCommentManage = (CheckBox) this.EgvNodes.Rows[i].Cells[4].FindControl("ChkNodeCommentManage");
                selectId = this.EgvNodes.DataKeys[i].Value.ToString();
                AppendSelectId(this.m_ChkNodeCommentReply.Checked || this.m_ChkNodeCommentReplyAll, selectId, ref roleIdList);
                AppendSelectId(this.m_ChkNodeCommentCheck.Checked || this.m_ChkNodeCommentCheckAll, selectId, ref builder2);
                AppendSelectId(this.m_ChkNodeCommentManage.Checked || this.m_ChkNodeCommentManageAll, selectId, ref builder3);
            }
            AppendAllId(roleIdList, this.EgvNodes.Rows.Count - 1);
            AppendAllId(builder2, this.EgvNodes.Rows.Count - 1);
            AppendAllId(builder3, this.EgvNodes.Rows.Count - 1);
            RolePermissions.DeleteNodePermissionFromRoles(this.m_RoleId, -2, OperateCode.NodeCommentReply);
            RolePermissions.DeleteNodePermissionFromRoles(this.m_RoleId, -2, OperateCode.NodeCommentCheck);
            RolePermissions.DeleteNodePermissionFromRoles(this.m_RoleId, -2, OperateCode.NodeCommentManage);
            RolePermissions.AddNodePermissionToRoles(this.m_RoleId, OperateCode.NodeCommentReply, roleIdList.ToString());
            RolePermissions.AddNodePermissionToRoles(this.m_RoleId, OperateCode.NodeCommentCheck, builder2.ToString());
            RolePermissions.AddNodePermissionToRoles(this.m_RoleId, OperateCode.NodeCommentManage, builder3.ToString());
        }

        private void GetNodeSelectPermission()
        {
            StringBuilder roleIdList = new StringBuilder();
            StringBuilder builder2 = new StringBuilder();
            string selectId = "";
            this.m_CurrentNodesManageAll = ((CheckBox) this.EgvNodes.Rows[0].FindControl("ChkCurrentNodesManage")).Checked;
            this.m_ChildNodeManageAll = ((CheckBox) this.EgvNodes.Rows[0].FindControl("ChkChildNodeManage")).Checked;
            for (int i = 0; i < this.EgvNodes.Rows.Count; i++)
            {
                this.m_ChkCurrentNodesManage = (CheckBox) this.EgvNodes.Rows[i].Cells[2].FindControl("ChkCurrentNodesManage");
                this.m_ChildNodeManage = (CheckBox) this.EgvNodes.Rows[i].Cells[3].FindControl("ChkChildNodeManage");
                selectId = this.EgvNodes.DataKeys[i].Value.ToString();
                AppendSelectId(this.m_ChkCurrentNodesManage.Checked || this.m_CurrentNodesManageAll, selectId, ref roleIdList);
                AppendSelectId(this.m_ChildNodeManage.Checked || this.m_ChildNodeManageAll, selectId, ref builder2);
            }
            AppendAllId(roleIdList, this.EgvNodes.Rows.Count - 1);
            AppendAllId(builder2, this.EgvNodes.Rows.Count - 1);
            RolePermissions.DeleteNodePermissionFromRoles(this.m_RoleId, -2, OperateCode.CurrentNodesManage);
            RolePermissions.DeleteNodePermissionFromRoles(this.m_RoleId, -2, OperateCode.ChildNodesManage);
            RolePermissions.AddNodePermissionToRoles(this.m_RoleId, OperateCode.CurrentNodesManage, roleIdList.ToString());

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -