in src/app/ContosoTraders.Api.Core/Requests/Handlers/GetProductsRequestHandler.cs [21:44]
protected override IActionResult Handle(GetProductsRequest request)
{
var brands = _productService.GetBrands();
var types = _productService.GetTypes();
var typeIds = types
.Where(t => request.Types.Contains(t.Code))
.Select(t => t.Id)
.ToArray();
var productDtos = _productService.GetProducts(request.Brands, typeIds);
if (!productDtos.Any()) return new NoContentResult();
var aggregateResponse = new
{
Products = productDtos,
Brands = brands,
Types = types
};
return new OkObjectResult(aggregateResponse);
}