public IHttpActionResult GetProductVariations([FromBody] GetProductVariationsRequest request) { var product = CatalogLibrary.GetProduct(request.ProductSku); if (product.ProductType != ProductType.ProductFamily) { return(NotFound()); } var variations = CatalogLibrary.GetVariants(product).Select(variant => { var properties = variant .GetUserDefinedFields().Select(field => new ProductProperty() { Name = field.Key, Value = field.Value.ToString() }); return(new ProductVariation { Sku = variant.Sku, VariantSku = variant.VariantSku, ProductName = variant.Name, Properties = properties }); }).ToList(); return(Json(new { Variations = variations })); }
public IHttpActionResult GetProductVariations([FromBody] GetProductVariationsRequest request) { var product = CatalogLibrary.GetProduct(request.ProductSku); var variations = product.Variants.Select(variant => new ProductVariation { Sku = variant.Sku, VariantSku = variant.VariantSku, ProductName = variant.Name, Properties = variant.ProductProperties.Select(prop => new ProductProperty() { Id = prop.Id, Name = prop.ProductDefinitionField.Name, Value = prop.Value }) }).ToList(); return(Json(new { Variations = variations })); }