Ejemplo n.º 1
0
    /// <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);;
    }