Esempio n. 1
0
    public CascadingDropDownNameValue[] GetItemTypes
        (string knownCategoryValues,
        string category)
    {
        List <CascadingDropDownNameValue> list = new List <CascadingDropDownNameValue>();
        ItemTypeProvider itemTypeProvider      = UnityContainerHelper.Container.Resolve <ItemTypeProvider>();

        foreach (var itemType in itemTypeProvider.GetAll())
        {
            list.Add(
                new CascadingDropDownNameValue(
                    itemType.Description,
                    itemType.ID.ToString()));
        }
        return(list.ToArray());
    }
Esempio n. 2
0
 public void Initialize(ProductEntity product, bool initializeAsMock = false)
 {
     Assert.ArgumentNotNull((object)product, nameof(product));
     CatalogItem = product.Item;
     ProductId   = product.ProductId;
     if (!initializeAsMock)
     {
         IsBundle   = ItemTypeProvider.IsBundle(product.Item);
         IsCategory = ItemTypeProvider.GetItemType(CatalogItem) == Sitecore.Commerce.XA.Foundation.Common.Constants.ItemTypes.Category;
         SetImages();
         string str = product.Item[FieldIDs.DisplayName.ToString()];
         DisplayName       = string.IsNullOrEmpty(str) ? string.Empty : str;
         Features          = CatalogItem["Features"];
         CatalogName       = StorefrontContext.CurrentStorefront.Catalog;
         Description       = CatalogItem["Description"];
         StockStatus       = product.StockStatus;
         StockStatusName   = product.StockStatusName;
         DisplayNameRender = PageContext.Current.HtmlHelper.Sitecore().Field(FieldIDs.DisplayName.ToString(), product.Item);
         DescriptionRender = PageContext.Current.HtmlHelper.Sitecore().Field("Description", product.Item);
         SetLink();
         if (IsBundle)
         {
             List <BundledItemViewModel> bundledItemViewModelList = new List <BundledItemViewModel>();
             NameValueCollection         urlParameters            = WebUtil.ParseUrlParameters(CatalogItem[Sitecore.Commerce.XA.Foundation.Common.Constants.ItemFieldNames.BundleItems]);
             foreach (string index in urlParameters)
             {
                 BundledItemViewModel model = ModelProvider.GetModel <BundledItemViewModel>();
                 Item obj = Context.Database.GetItem(ID.Parse(index));
                 model.Initialize(obj, System.Convert.ToDecimal(urlParameters[index], CultureInfo.InvariantCulture));
                 bundledItemViewModelList.Add(model);
             }
             BundledItems = bundledItemViewModelList;
         }
     }
     else
     {
         IsCategory      = false;
         StockStatus     = product.StockStatus;
         StockStatusName = product.StockStatusName;
         Images          = new List <MediaItem>();
     }
     CurrencySymbol = CurrentStorefront.SelectedCurrency;
     AdjustedPrice  = product.AdjustedPrice;
     HighestPricedVariantAdjustedPrice = product.HighestPricedVariantAdjustedPrice;
     ListPrice = product.ListPrice;
     LowestPricedVariantAdjustedPrice = product.LowestPricedVariantAdjustedPrice;
     LowestPricedVariantListPrice     = product.LowestPricedVariantListPrice;
     CustomerAverageRating            = product.CustomerAverageRating;
     if (product.Variants != null && product.Variants.Any <VariantEntity>())
     {
         List <VariantViewModel> variantViewModelList = new List <VariantViewModel>();
         foreach (VariantEntity variant in product.Variants)
         {
             VariantViewModel model = ModelProvider.GetModel <VariantViewModel>();
             model.Initialize(variant);
             variantViewModelList.Add(model);
         }
         Variants = variantViewModelList;
     }
     if (initializeAsMock)
     {
         return;
     }
     VariantDefinitions = VariantDefinitionProvider.GetVariantDefinitions(CatalogItem);
 }