Exemplo n.º 1
0
        public GetVariantSkuFromSelectionResponse(UCommerce.EntitiesV2.Product parentProduct, IDictionary <string, string> properties)
        {
            UCommerce.EntitiesV2.Product variant = null;

            if (parentProduct.Variants.Any() && properties.Any()) // If there are variant values we'll need to find the selected variant
            {
                variant = parentProduct.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 => properties.Any(kv => kv.Key.Equals(p.ProductDefinitionField.Name, StringComparison.InvariantCultureIgnoreCase) && kv.Value.Equals(p.Value, StringComparison.InvariantCultureIgnoreCase))));
            }
            else if (!parentProduct.Variants.Any()) // Only use the current product where there are no variants
            {
                variant = parentProduct;
            }

            if (variant == null)
            {
                return;
            }

            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
                })
            };
        }
        public ProductViewModel MapProduct(UCommerce.EntitiesV2.Product product)
        {
            var productViewModel = new ProductViewModel()
            {
            };

            return(productViewModel);
        }
Exemplo n.º 3
0
 public GetProductVariationsResponse(UCommerce.EntitiesV2.Product parentProduct)
 {
     Variations = parentProduct.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();
 }
Exemplo n.º 4
0
        private Document IndexProduct(UCommerce.EntitiesV2.Product uProduct, CultureInfo cInfo, string baseUrl)
        {
            var prodDescr = uProduct.GetDescription(cInfo.TwoLetterISOLanguageName);

            var fields = new List <IField>();

            var identityFld = new Field();

            identityFld.Name  = Telerik.Sitefinity.Publishing.PublishingConstants.FieldIdentifier;
            identityFld.Value = uProduct.ProductId.ToString() + "_" + cInfo.TwoLetterISOLanguageName;
            fields.Add(identityFld);

            var myTitleField = new Field();

            myTitleField.Name  = Telerik.Sitefinity.Publishing.PublishingConstants.FieldTitle;
            myTitleField.Value = prodDescr.DisplayName;
            fields.Add(myTitleField);

            var contentField = new Field();

            contentField.Name  = Telerik.Sitefinity.Publishing.PublishingConstants.FieldContent;
            contentField.Value = HttpUtility.HtmlDecode(Regex.Replace(prodDescr.LongDescription, "<(.|\n)*?>", ""));
            fields.Add(contentField);

            var lastModifiedField = new Field();

            lastModifiedField.Name  = Telerik.Sitefinity.Publishing.PublishingConstants.FieldLastModified;
            lastModifiedField.Value = uProduct.ModifiedOn;
            fields.Add(lastModifiedField);

            string category = null;
            var    cat      = uProduct.GetCategories().FirstOrDefault();

            if (cat != null)
            {
                category = cat.DisplayName();
            }
            else
            {
                category = SiteContext.Current.CatalogContext.CurrentCategory.DisplayName();
            }

            fields.Add(new Telerik.Sitefinity.Services.Search.Publishing.Field()
            {
                Name  = Telerik.Sitefinity.Publishing.PublishingConstants.FieldLink,
                Value = baseUrl + "/" + category + "/" + uProduct.Id
            });

            fields.Add(new Telerik.Sitefinity.Services.Search.Publishing.Field()
            {
                Name  = Telerik.Sitefinity.Publishing.PublishingConstants.LanguageField,
                Value = Telerik.Sitefinity.Model.Localization.LocalizationHelper.GetLanguageKey(cInfo)
            });

            fields.Add(new Telerik.Sitefinity.Services.Search.Publishing.Field()
            {
                Name  = Telerik.Sitefinity.Publishing.PublishingConstants.FieldContentType,
                Value = typeof(UCommerce.EntitiesV2.Product).FullName
            });

            var doc = new Document(fields, Telerik.Sitefinity.Publishing.PublishingConstants.FieldIdentifier);

            return(doc);
        }