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