Ejemplo n.º 1
0
        /// <summary>
        /// 获取所有或根据角色名、描述和状态返回角色列表
        /// </summary>
        /// <param name="kw">关键字</param>
        /// <param name="status">角色是否禁用</param>
        /// <returns></returns>
        public object GetRoleList(string kw, int?status)
        {
            kw = (kw ?? "").Trim();
            var roleList = _peRoleRepository.FindListByClause(x => (string.IsNullOrEmpty(kw) || x.roleName.Contains(kw) || x.description.Contains(kw)) &&
                                                              (status == null || x.state == status)).Select(x => new
            {
                x.id,
                x.roleName,
                x.description,
                x.state
            });

            return(roleList);
        }
Ejemplo n.º 2
0
        public List <Menu> GetMenuListByRole(int id)
        {
            PeAdmin     admin    = _peAdminRepository.FindById(id);
            List <Menu> menuList = new List <Menu>();

            if ((admin?.adminCode ?? "").Trim().ToUpper() == "SuperAdmin".ToUpper())
            {
                menuList = _menuRepository.FindAll().OrderBy(x => x.sortIndex).ToList();
            }
            else if (id == 0 || (admin?.adminCode ?? "").Trim().ToUpper() == "Admin".ToUpper())
            {
                menuList = _menuRepository.FindAll().Where(x => x.state == 1).OrderBy(x => x.sortIndex).ToList();
            }
            else
            {
                menuList = (from r in _peRoleRepository.FindListByClause(x => x.id == admin.adminType)
                            join s in _menuRoleRepository.FindAll() on r.id equals s.roleId
                            join m in _menuRepository.FindAll().Where(x => x.state == 1) on s.menuId equals m.id
                            select m).OrderBy(x => x.sortIndex).ToList();
            }
            return(AddChildN(0, menuList));
        }