public async Task <ActionResult <IEnumerable <CustomerViewModel> > > GetAllAsync(int pageNumber = 1, int pageSize = 100, string name = null, string email = null, int?offerId = null) { _logger.LogDebug("GetAll {0} {1} {2} {3}", pageNumber, pageSize, name, email, offerId); InputValidation(pageNumber, pageSize); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await _repository.GetAllCustomersAsync(pageNumber, pageSize, name, email, offerId); return(Ok(result?.Select((customer) => _mapper.Map <CustomerViewModel>(customer)))); }