public async Task <Result <PagedList <UserDto> > > List(FilterUserQueryDto filterQueryDto) { var users = await WhereAsyncAsNoTracking(u => u.Status != UserStatus.Delete && ( string.IsNullOrEmpty(filterQueryDto.Keyword) || u.Name.ToLower().Contains(filterQueryDto.Keyword.ToLower()) || u.Family.ToLower().Contains(filterQueryDto.Keyword.ToLower()) || u.Username.ToLower().Contains(filterQueryDto.Keyword.ToLower()) || u.Mobile.ToLower().Contains(filterQueryDto.Keyword.ToLower()) || u.Email.ToLower().Contains(filterQueryDto.Keyword.ToLower())) && (filterQueryDto.Status == null || u.Status == filterQueryDto.Status) && (filterQueryDto.RoleId == null || u.UserInRoles.Any(ur => ur.RoleId == filterQueryDto.RoleId)) , filterQueryDto, u => u.UserInRoles.Select(ur => ur.Role)); if (users == null) { return(Result <PagedList <UserDto> > .Failed(new NotFoundObjectResult(new ApiMessage { Message = ResponseMessage.BadRequestQuery }))); } return(Result <PagedList <UserDto> > .SuccessFull(users.MapTo <UserDto>(_mapper))); }
public async Task <IActionResult> List([FromQuery] FilterUserQueryDto filterQueryDto) { var result = await _unitOfWork.UserService.List(filterQueryDto); if (filterQueryDto.Page == null && filterQueryDto.Limit == null) { return(Ok(result.Data.Items)); } return(result.ApiResult); }