/// <summary> /// Removes category bindings assigned to SKU. /// </summary> /// <param name="categoryIDs">ID of categories which should be removed</param> /// <returns>Returns true if some category binding was removed.</returns> private bool RemoveSKUCategoryBindings(IEnumerable <int> categoryIDs) { var ids = categoryIDs.ToList(); var variantCategoryIDs = VariantHelper.GetProductVariantsCategoryIDs(ProductID); var categoryIDsToRemove = ids.Except(variantCategoryIDs).ToList(); foreach (var id in categoryIDsToRemove) { ProductHelper.RemoveOptionCategory(ProductID, id); } // Categories are already used in variants -> they cannot be removed if (ids.Except(categoryIDsToRemove).Any()) { ShowWarning(GetString("com.optioncategory.remove")); } return(categoryIDsToRemove.Any()); }