/// <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); }
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)); }