/// <summary> /// Overrides OnPreInit method. /// </summary> protected override void OnPreInit(EventArgs e) { base.OnPreInit(e); // Initialize creation of a new variants GlobalObjectsKeyName = ECommerceSettings.ALLOW_GLOBAL_PRODUCTS; // Check if product belongs to current site var product = EditedObject as SKUInfo; if (product != null) { CheckEditedObjectSiteID(product.SKUSiteID); } mAllCategoriesOptions = new List <Tuple <OptionCategoryInfo, List <SKUInfo> > >(); mVariantCategoriesOptions = new List <Tuple <OptionCategoryInfo, List <SKUInfo> > >(); // Get all enabled product option attribute categories plus option categories used in variants DataSet allCategoriesDS = VariantHelper.GetUsedProductOptionCategories(ProductID, OptionCategoryTypeEnum.Attribute); // Get all product options categories which are already in variants DataSet variantCategoriesDS = VariantHelper.GetProductVariantsCategories(ProductID); // Fill categories lists FillCategoriesOptions(mAllCategoriesOptions, allCategoriesDS); FillCategoriesOptions(mVariantCategoriesOptions, variantCategoriesDS); // Pass data to controls VariantFilter.ExternalDataSource = CategorySelector.AllCategoriesOptions = mAllCategoriesOptions.ToDictionary(c => c.Item1, c => c.Item2);; CategorySelector.VariantCategoriesOptions = mVariantCategoriesOptions.ToDictionary(c => c.Item1, c => c.Item2);; }