示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="function"></param>
        /// <param name="roleRights"></param>
        /// <param name="selectRights">需要选中的</param>
        /// <param name="showCheckBox">是否选中  1:选;0:不选</param>
        /// <returns></returns>
        private EasyuiTreeNode GetChildRights(vTenantFunction function, IEnumerable <vTenantFunction> roleRights, IEnumerable <vTenantFunction> selectRights, int showCheckBox = 1)
        {
            var childrens = roleRights.Where(p => p.ParentId == function.PermissionId);
            var node      = new EasyuiTreeNode {
                id = function.PermissionId.ToString(), text = function.MenuLanguageName
            };

            if (showCheckBox == 1 && !childrens.Any() && selectRights.Any(p => p.PermissionId == function.PermissionId))
            {
                node.@checked = true;
            }
            foreach (var f in childrens)
            {
                node.children.Add(GetChildRights(f, roleRights, selectRights, showCheckBox));
            }
            return(node);
        }
示例#2
0
        private List <vTenantFunction> GetFathers(int funcId)
        {
            var             allfuncs = _permissionManager.GetPermissionsByTenantId(CurrentTenant.TenantId);
            vTenantFunction fun      = allfuncs.FirstOrDefault(p => p.PermissionId == funcId);

            if (fun == null)
            {
                return(new List <vTenantFunction>());
            }
            vTenantFunction father = allfuncs.FirstOrDefault(p => p.PermissionId == fun.ParentId);
            var             list   = new List <vTenantFunction> {
                fun
            };

            while (father != null)
            {
                list.Add(father);
                father = allfuncs.FirstOrDefault(p => p.PermissionId == father.ParentId);
            }
            return(list);
        }