Beispiel #1
0
        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 }));
        }
Beispiel #2
0
        // 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);
        }