Exemple #1
0
        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)));
        }
Exemple #2
0
        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);
        }