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()); }
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); }