public async Task <ActionResult <IEnumerable <OfferViewModel> > > GetAllAsync(int pageNumber = 1, int pageSize = 100, string description = null, int?productId = null, bool?activeProduct = null) { _logger.LogDebug("GetAll {0} {1} {2} {3} {4}", pageNumber, pageSize, description, productId, activeProduct); InputValidation(pageNumber, pageSize); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await _repository.GetAllOffersAsync(pageNumber, pageSize, description, productId, activeProduct); return(Ok(result?.Select((Offer) => _mapper.Map <OfferViewModel>(Offer)))); }