public async Task <ResultModel> GetRoles(RolesQueryDto rolesQueryDto) { return(await Task.Run(() => { try { var query = _userDatabaseContext.Roles.Where(x => 1 == 1); if (!string.IsNullOrWhiteSpace(rolesQueryDto.RoleName)) { query = query.Where(x => x.RoleName.Contains(rolesQueryDto.RoleName)); } //后面要做根据条件排序 query = query.OrderBy(x => x.RoleName); var list = query.Select(x => new RolesDto { Id = x.Id.ToString(), RoleName = x.RoleName }); var page = PagedList <RolesDto> .ToPagedList(list, rolesQueryDto.CurrentPage, rolesQueryDto.PageSize); return new ResultModel(ResultCode.Success, page); } catch (Exception ex) { return new ResultModel(ResultCode.Fail, ex.Message); } })); }
public async Task <ResultModel> GetUserRolesByUserId(RolesQueryDto rolesQueryDto) { return(await Task.Run(() => { try { var roleQuery = from a in _userDatabaseContext.Roles join b in _userDatabaseContext.UserRoles on a.Id equals b.RoleId where b.UserId == rolesQueryDto.UserId select new UserRoleDto { RoleId = a.Id.ToString(), RoleName = a.RoleName, IsHaveRole = false }; var page = PagedList <UserRoleDto> .ToPagedList(roleQuery, rolesQueryDto.CurrentPage, rolesQueryDto.PageSize); var roleIdPage = page.Data.Select(x => Guid.Parse(x.RoleId)).ToList(); var userRoleQuery = _userDatabaseContext.UserRoles.Where(x => x.UserId == rolesQueryDto.UserId && roleIdPage.Contains(x.RoleId)); page.Data.ForEach(x => { if (userRoleQuery.Any(u => u.RoleId.ToString() == x.RoleId)) { x.IsHaveRole = true; } }); return new ResultModel(ResultCode.Success, page); } catch (Exception ex) { return new ResultModel(ResultCode.Fail, ex.Message); } })); }
public async Task <ResultModel> GetUserRoleAndIsHaveRoleByUserId(RolesQueryDto rolesQueryDto) { return(await Task.Run(() => { try { var query = _userDatabaseContext.Roles.Where(x => 1 == 1); if (!string.IsNullOrWhiteSpace(rolesQueryDto.RoleName)) { query = query.Where(x => x.RoleName.Contains(rolesQueryDto.RoleName)); } var dtoQuery = query.Select(x => new UserRoleDto { RoleId = x.Id.ToString(), RoleName = x.RoleName, IsHaveRole = false }); //var page = PagedList<UserRoleDto>.ToPagedList(dtoQuery, rolesQueryDto.CurrentPage, rolesQueryDto.PageSize); //var roleIdPage = page.Data.Select(x => Guid.Parse(x.RoleId)).ToList(); //var userRoleQuery = _userDatabaseContext.UserRoles.Where(x => x.UserId == rolesQueryDto.UserId && roleIdPage.Contains(x.RoleId)); //page.Data.ForEach(x => //{ // if (userRoleQuery.Any(u => u.RoleId.ToString() == x.RoleId)) // { // x.IsHaveRole = true; // } //}); return new ResultModel(ResultCode.Success, dtoQuery.ToList()); } catch (Exception ex) { return new ResultModel(ResultCode.Fail, ex.Message); } })); }
public IActionResult Query([FromBody] RolesQueryDto parm) { //开始拼装查询条件 var predicate = Expressionable.Create <Sys_Role>(); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Name), m => m.Name.Contains(parm.Name)); var response = _roleService.GetPages(predicate.ToExpression(), parm); return(toResponse(response)); }
public IActionResult Query([FromBody] RolesQueryDto parm) { //开始拼装查询条件 var predicate = Expressionable.Create <Sys_Role>(); //判断是否是超级管理员 var userSession = _tokenManager.GetSessionInfo(); predicate = predicate.AndIF(!userSession.Administrator, m => m.Administrator == false); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Name), m => m.Name.Contains(parm.Name)); var response = _roleService.GetPages(predicate.ToExpression(), parm); return(toResponse(response)); }
public async Task <IActionResult> GetRolesPage([FromBody] RolesQueryDto dto) { return(Json(await _roleService.GetRoles(dto))); }
public async Task <IActionResult> GetUserRoleAndIsHaveRoleByUserId([FromBody] RolesQueryDto rolesQueryDto) { return(Json(await _roleService.GetUserRoleAndIsHaveRoleByUserId(rolesQueryDto))); }