public IHttpActionResult GetVariantSkuFromSelectionRequest([FromBody] GetVariantSkuFromSelectionRequest request) { // TODO here should go own service for getting injected product // var productx = CatalogLibrary.GetProduct(request.ProductSku); var service = new SearchProductCRMService(); var product = service.MockedProduct(); UCommerce.EntitiesV2.Product variant = null; variant = product; //if (product.Variants.Any() && request.VariantProperties.Any()) // If there are variant values we'll need to find the selected variant //{ // variant = product.Variants.FirstOrDefault(v => v.ProductProperties.Where(pp => pp.ProductDefinitionField.DisplayOnSite && pp.ProductDefinitionField.IsVariantProperty && !pp.ProductDefinitionField.Deleted && pp.Value != null && pp.Value != String.Empty).All(p => request.VariantProperties.Any(kv => kv.Key.Equals(p.ProductDefinitionField.Name, StringComparison.InvariantCultureIgnoreCase) && kv.Value.ToString().Equals(p.Value, StringComparison.InvariantCultureIgnoreCase)))); //} //else if (!product.Variants.Any()) // Only use the current product where there are no variants //{ // variant = product; //} var variantModel = 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 }) }; return(Json(new { Variant = variantModel })); }
// My code private IList <ProductViewModel> MapProducts() { IList <Facet> facetsForQuerying = System.Web.HttpContext.Current.Request.QueryString.ToFacets(); var productsInCategory = new List <ProductViewModel>(); // original code //productsInCategory.AddRange(MapProducts(SearchLibrary.GetProductsFor(category, facetsForQuerying))); SearchProductCRMService service = new SearchProductCRMService(); productsInCategory.AddRange(MapProducts(service.GetMockProducts())); return(productsInCategory); }