Beispiel #1
0
        public SearchResponse <UserResponseModel> SearchForUser(SearchUserRequestModel model, int page, int size)
        {
            var allUsers = this._userRepo.GetAll();

            if (!string.IsNullOrWhiteSpace(model.Email))
            {
                allUsers = allUsers.Where(x => x.Email.ToLower().Contains(model.Email.Trim().ToLower()));
            }

            if (!string.IsNullOrWhiteSpace(model.Name))
            {
                allUsers = allUsers.Where(x => x.Name.ToLower().Contains(model.Name.Trim().ToLower()));
            }

            if (model.IsAdmin.HasValue)
            {
                allUsers = allUsers.Where(x => x.IsAdmin == model.IsAdmin.Value);
            }

            return(new SearchResponse <UserResponseModel> {
                Page = page,
                TotalCount = allUsers.Count(),
                Result = allUsers.ToList().Skip((page - 1) * size).Take(size).Select(x => x.ToModel())
            });
        }
Beispiel #2
0
 public IActionResult AllUsers([FromQuery] SearchUserRequestModel model, int page = 1, int size = 10)
 {
     try
     {
         page = page > 0 ? page : 1;
         size = size > 0 ? size : 10;
         var users = this._userService.SearchForUser(model, page, size);
         return(Ok(users));
     }
     catch (ArgumentException ex)
     {
         return(BadRequest(ex.Message));
     }
     catch (Exception ex)
     {
         // log exception
         return(StatusCode(500, Constants.ServerErrorMessageText));
     }
 }