/// <summary> /// Hide/rename columns in uniGrid before loading data. /// </summary> void ugOptions_OnBeforeDataReload() { // Hide price adjustment if category is used in product variants if (VariantHelper.AreCategoriesUsedInVariants(ProductID, new[] { CategoryID })) { ugOptions.NamedColumns["SKUPrice"].Visible = false; } }
/// <summary> /// Hide/rename columns in uniGrid before loading data. /// </summary> private void grid_OnBeforeDataReload() { switch (categoryObj.CategoryType) { case OptionCategoryTypeEnum.Attribute: case OptionCategoryTypeEnum.Text: ugOptions.NamedColumns["SKUName"].HeaderText = GetString("unigrid.productoptions.OptionName"); ugOptions.NamedColumns["SKUNumber"].Visible = false; ugOptions.NamedColumns["SKUDepartment"].Visible = false; ugOptions.NamedColumns["SKUAvailableItems"].Visible = false; break; } // Hide price adjustment if category is used in product variants if (parentProductId > 0) { if (VariantHelper.AreCategoriesUsedInVariants(QueryHelper.GetInteger("productId", 0), new[] { categoryObj.CategoryID })) { ugOptions.NamedColumns["SKUPrice"].Visible = false; } } }
protected void uniSelector_OnSelectionChanged(object sender, EventArgs e) { var cu = MembershipContext.AuthenticatedUser; // Check permissions if ((cu == null) || (!cu.IsAuthorizedPerResource(ModuleName.ECOMMERCE, EcommercePermissions.ECOMMERCE_MODIFY) && !cu.IsAuthorizedPerResource(ModuleName.ECOMMERCE, EcommercePermissions.PRODUCTS_MODIFY))) { RedirectToAccessDenied(ModuleName.ECOMMERCE, "EcommerceModify OR ModifyProducts"); } else { string newValues = ValidationHelper.GetString(uniSelector.Value, null); string addItems = DataHelper.GetNewItemsInList(UniSelectorData, newValues); string removeItems = DataHelper.GetNewItemsInList(newValues, UniSelectorData); // Add SKU to Option Category if (!String.IsNullOrEmpty(addItems)) { string[] newItems = addItems.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); foreach (string item in newItems) { SKUOptionCategoryInfoProvider.AddOptionCategoryToSKU(categoryId, ValidationHelper.GetInteger(item, 0)); } // Show message ShowChangesSaved(); } // Remove SKU from Option Category if (!String.IsNullOrEmpty(removeItems)) { string[] productIds = removeItems.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); bool displayWarning = false; StringBuilder ids = new StringBuilder(); // Check if category is not used in variants of product foreach (string skuID in productIds) { int productId = ValidationHelper.GetInteger(skuID, 0); // Inform user that removing of product is not possible if (VariantHelper.AreCategoriesUsedInVariants(productId, new int[] { categoryId })) { displayWarning = true; ids.Append(";" + skuID); } else { ProductHelper.RemoveOptionCategory(productId, categoryId); } } if (displayWarning) { // Display items which cannot be removed in the selector uniSelector.Value += ids.ToString(); ShowWarning(GetString("com.optioncategory.removeproduct")); } else { ShowChangesSaved(); } } } PreloadUniSelector(true); }