public async Task <IActionResult> Products(ProductSearchViewModel data) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var products = await _domainService.Get(data.Name, data.Description, data.Price, data.StartDate, data.EndDate, data.OrderBy, data.OrderType); var query = from product in products select new ProductSearchResultViewModel { ProductId = product.ProductId, Name = product.Name, Description = product.Description, Price = product.Price, CreationDate = product.CreationDate }; return(new OkObjectResult(query.ToList())); } catch { return(BadRequest()); } }