コード例 #1
0
ファイル: HomeController.cs プロジェクト: manlsc/ESC.Core
        public ContentResult GetResources()
        {
            SPermissionService pService = new SPermissionService();
            //查询当前用户的所有页面权限
            List <SResource> resouses = pService.GetRPermissionByUser(CurrentUser.ID, CurrentUser.SuperUser > 0);
            List <SResource> parents  = resouses.Select(r => r).Where(t => t.ParentID == 0).ToList();

            List <TreeNode> tns = new List <TreeNode>();

            foreach (SResource parent in parents)
            {
                TreeNode tn = new TreeNode();
                tn.id   = "tree" + parent.ID;
                tn.text = parent.ResourceDesc;
                tn.href = parent.ResourceURL;
                tn.name = parent.ResourceName;
                tn.children.AddRange(GetTree(parent, resouses));
                tns.Add(tn);
            }
            return(ReturnResult(tns));
        }
コード例 #2
0
ファイル: BaseController.cs プロジェクト: manlsc/ESC.Core
        /// <summary>
        /// 初始化
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="inBtn">是否包括按钮权限</param>
        /// <returns></returns>
        protected InitData BaseInit(string tableName, bool inBtn)
        {
            InitData           idata    = new InitData();
            SPermissionService pService = new SPermissionService();

            if (inBtn)
            {
                //按钮权限
                List <SOperator> operators = pService.GetOPermissionByUserAndResource(this.CurrentUser, this.ToString());
                foreach (SOperator item in operators)
                {
                    BUICommand cmd = new BUICommand()
                    {
                        CommandName = item.OperatorName, Description = item.OperatorDesc, OnClick = item.OnClick, IconClass = item.IconClass
                    };
                    idata.Commands.Add(cmd);
                }
            }

            //列权限
            List <SCPermission> itemumns = pService.GetCPermissionByUserAndResource(this.CurrentUser, tableName, this.ToString());

            foreach (SCPermission item in itemumns)
            {
                BUIColumn col = new BUIColumn
                {
                    visible      = item.Visible > 0,
                    required     = item.Required > 0,
                    title        = item.Title,
                    datatype     = item.ColumnType,
                    dataIndex    = item.ColumnName,
                    disabled     = item.Disabled > 0,
                    displayfield = item.DisplayColumn,
                    width        = item.Width
                };
                idata.Columns.Add(col);
            }

            return(idata);
        }
コード例 #3
0
        /// <summary>
        /// 获取菜单
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="superUser"></param>
        /// <param name="url"></param>
        /// <returns></returns>
        private static List <TreeNode> GetResources(int userId, int superUser, string url)
        {
            SPermissionService pService = new SPermissionService();
            //查询当前用户的所有页面权限
            List <SResource> resouses = pService.GetRPermissionByUser(userId, superUser > 0);
            List <SResource> parents  = resouses.Select(r => r).Where(t => t.ParentID == 0).ToList();

            List <TreeNode> tns = new List <TreeNode>();

            foreach (SResource parent in parents)
            {
                TreeNode tn = new TreeNode();
                tn.id     = "tree" + parent.ID;
                tn.text   = string.IsNullOrEmpty(parent.ResourceDesc) ? "菜单" : parent.ResourceDesc;
                tn.href   = string.IsNullOrEmpty(parent.ResourceURL) ? "javascript:###;" : parent.ResourceURL;
                tn.name   = parent.ResourceName;
                tn.chdCls = "treeview-menu";
                tn.level  = 1;
                tn.children.AddRange(GetTree(parent, resouses, tn, url));
                tn.iconCls = "iconfont icon-folder";
                tns.Add(tn);
            }
            return(tns);
        }