Class ProductCategoryService
- Namespace
- Dynamicweb.Ecommerce.Products.Categories
- Assembly
- Dynamicweb.Ecommerce.dll
public class ProductCategoryService : ICacheStorage<string, Category>, ICacheStorage<string>, ICacheStorage
- Inheritance
-
ProductCategoryService
- Implements
- Inherited Members
Methods
AddFieldToCategory(Category, Field)
Adds a Field to the category.
Also adds a language version of the Field to each language version of the category.
public void AddFieldToCategory(Category theCategory, Field field)
Parameters
AddFieldToCategory(Category, string, string, string, string, string, FieldListPresentationType, FieldOptionCollection)
Adds a Field to the category.
Also adds a language version of the Field to each language version of the category.
public void AddFieldToCategory(Category theCategory, string systemName, string label, string templateTag, string type, string defaultValue, FieldListPresentationType presentation, FieldOptionCollection options)
Parameters
theCategoryCategorysystemNamestring- The SystemName of the field.
labelstring- The Label of the field.
templateTagstringtypestring- The type of the field.
defaultValuestringpresentationFieldListPresentationTypeoptionsFieldOptionCollection
AddFieldToCategory(Category, string, string, string, string, string, FieldListPresentationType, FieldOptionCollection, int)
Adds a Field to the category.
Also adds a language version of the Field to each language version of the category.
public void AddFieldToCategory(Category theCategory, string systemName, string label, string templateTag, string type, string defaultValue, FieldListPresentationType presentation, FieldOptionCollection options, int sortOrder)
Parameters
theCategoryCategorysystemNamestring- The SystemName of the field.
labelstring- The Label of the field.
templateTagstringtypestring- The type of the field.
defaultValuestringpresentationFieldListPresentationTypeoptionsFieldOptionCollectionsortOrderint
AddFieldToCategory(Category, string, string, string, string, string, FieldListPresentationType, FieldOptionCollection, int, string)
Adds a Field to the category.
Also adds a language version of the Field to each language version of the category.
public void AddFieldToCategory(Category theCategory, string systemName, string label, string templateTag, string type, string defaultValue, FieldListPresentationType presentation, FieldOptionCollection options, int sortOrder, string description)
Parameters
theCategoryCategorysystemNamestring- The SystemName of the field.
labelstring- The Label of the field.
templateTagstringtypestring- The type of the field.
defaultValuestringpresentationFieldListPresentationTypeoptionsFieldOptionCollectionsortOrderintdescriptionstring
ClearCache()
Resets all keys to the default value for objects stored in the object cache
public void ClearCache()
ClearCache(LanguageBasedKey<string>)
[Obsolete("Use ClearCache(string key).")]
public void ClearCache(LanguageBasedKey<string> key)
Parameters
keyLanguageBasedKey<string>
ClearCache(IEnumerable<LanguageBasedKey<string>>)
[Obsolete("Use ClearCache(IEnumerable<string> keys).")]
public void ClearCache(IEnumerable<LanguageBasedKey<string>> keys)
Parameters
keysIEnumerable<LanguageBasedKey<string>>
ClearCache(IEnumerable<string>)
Resets the specified keys to the default value for objects stored in the object cache
public void ClearCache(IEnumerable<string> keys)
Parameters
keysIEnumerable<string>- Keys to reset
ClearCache(string)
Resets the specified key to the default value for objects stored in the object cache
public void ClearCache(string key)
Parameters
keystring- Key to reset
ClearCategoryCache()
Clears category cache.
public void ClearCategoryCache()
ClearFieldCache()
Clears fields cache.
public void ClearFieldCache()
ConvertFieldOptionsToXml(FieldOptionCollection)
Converts fields options to XML string.
[Obsolete]
public string ConvertFieldOptionsToXml(FieldOptionCollection options)
Parameters
optionsFieldOptionCollection- The options.
Returns
CreateCategory(string)
Creates a new Category object with the given parameters and saves it to the database.
In addition a Category object is creates for all current eCommerce Languages.
The ID of the object is auto-generated.
The Dynamicweb.Ecommerce.International.Language of the object is set to Context.Language.
public Category CreateCategory(string name)
Parameters
namestring- The Name of the object.
Returns
CreateCategory(string, string)
Creates a new Category object with the given parameters and saves it to the database.
public Category CreateCategory(string systemName, string name)
Parameters
Returns
CreateCategory(string, string, CategoryType)
Creates a new Category object with the given parameters and saves it to the database.
public Category CreateCategory(string systemName, string name, CategoryType categoryType)
Parameters
systemNamestring- The SystemName of the object.
namestring- The Name of the object.
categoryTypeCategoryType- The category type.
Returns
CreateCategory(string, string, CategoryType, Language)
Creates a new Category object with the given parameters and saves it to the database.
[Obsolete("Use CreateCategory(string systemName, string name, CategoryType categoryType) or Category.Translations instead.")]
public Category CreateCategory(string systemName, string name, CategoryType categoryType, Language language)
Parameters
systemNamestring- The SystemName of the object.
namestring- The Name of the object.
categoryTypeCategoryType- The category type.
languageLanguage- The category language.
Returns
CreateCategory(string, string, bool)
Creates a new Category object with the given parameters and saves it to the database.
In addition a Category object is creates for all current eCommerce Languages.
[Obsolete("Use CreateCategory(String, String, CategoryType, Language) instead.")]
public Category CreateCategory(string systemName, string name, bool productProperties)
Parameters
systemNamestring- The SystemName of the object.
namestring- The Name of the object.
productPropertiesbool- The value indicates whether category is used for product properties.
Returns
CreateCategory(string, string, bool, Language)
Creates a new Category object with the given parameters and saves it to the database.
In addition a Category object is creates for all current eCommerce Languages.
[Obsolete("Use CreateCategory(String, String, CategoryType, Language) instead.")]
public Category CreateCategory(string systemName, string name, bool productProperties, Language language)
Parameters
systemNamestring- The SystemName of the object.
namestring- The Name of the object.
productPropertiesbool- The value indicates whether category is used for product properties.
languageLanguage- The category language.
Returns
CreateField(string, Category, string, string, string)
Creates a new Field object.
public Field CreateField(string id, Category category, string templateTag, string label, string type)
Parameters
Returns
CreateField(string, Category, string, string, string, string, FieldListPresentationType, FieldOptionCollection, string)
Creates a new Field object.
public Field CreateField(string id, Category category, string templateTag, string label, string type, string defaultValue, FieldListPresentationType presentation, FieldOptionCollection options, string description)
Parameters
idstringcategoryCategorytemplateTagstringlabelstringtypestringdefaultValuestringpresentationFieldListPresentationTypeoptionsFieldOptionCollectiondescriptionstring
Returns
DeleteCategory(Category)
Deletes the Category and all fields associated, and all language versions.
public void DeleteCategory(Category theCategory)
Parameters
theCategoryCategory
DeleteCategoryTranslation(Category, string)
public void DeleteCategoryTranslation(Category theCategory, string languageId)
Parameters
DeleteField(Field)
Deletes the field.
public void DeleteField(Field theField)
Parameters
theFieldField- The field to remove.
GetCategories()
Returns all categories from database.
public IEnumerable<Category> GetCategories()
Returns
- IEnumerable<Category>
- A collection of categories containing 0 or more items.
GetCategories(Product)
public IEnumerable<Category> GetCategories(Product product)
Parameters
productProduct- The product.
Returns
- IEnumerable<Category>
- A collection of categories containing 0 or more items.
GetCategories(Product, bool)
public IEnumerable<Category> GetCategories(Product product, bool includeProductProperties)
Parameters
productProduct- The product.
includeProductPropertiesbool- Determines whether product properties should be included in result.
Returns
- IEnumerable<Category>
- A collection of categories containing 0 or more items.
GetCategories(Product, string, bool)
[Obsolete("Use the overload without languageId instead.")]
public IEnumerable<Category> GetCategories(Product product, string languageId, bool includeProductProperties)
Parameters
productProduct- The product.
languageIdstring- The language ID.
includeProductPropertiesbool- Determines whether product properties should be included in result.
Returns
- IEnumerable<Category>
- A collection of categories containing 0 or more items.
GetCategoriesByLanguage(string)
Returns all category objects from database matching the given Language ID.
[Obsolete("Use GetCategories() instead.")]
public IEnumerable<Category> GetCategoriesByLanguage(string languageId)
Parameters
languageIdstring
Returns
- IEnumerable<Category>
- A collection of categories containing 0 or more items.
GetCategoriesUsages()
public Dictionary<string, int> GetCategoriesUsages()
Returns
GetCategoryById(string)
Returns the Category with the given ID. The default Language is used.
public Category GetCategoryById(string categoryId)
Parameters
Returns
GetCategoryById(string, string)
Returns the Category with the given ID and Language ID.
[Obsolete("Use the overload without languageId instead.")]
public Category GetCategoryById(string categoryId, string languageId)
Parameters
categoryIdstring- The ID of the Category to find.
languageIdstring- The LanguageID of the Category to find.
Returns
GetCategoryLabel(string, string)
[Obsolete("Use GetCategoryById(string categoryId).GetName(string languageId)")]
public string GetCategoryLabel(string categoryId, string languageId)
Parameters
Returns
GetCategoryUsageCount(string, bool)
public int GetCategoryUsageCount(string categoryId, bool productUsages)
Parameters
Returns
GetCategoryUsageReferences(string, bool, int, int, string, string)
public IEnumerable<CategoryUsage> GetCategoryUsageReferences(string categoryId, bool productUsages, int pageNumber = 1, int pageSize = 100, string orderBy = null, string orderByDirection = null)
Parameters
categoryIdstringproductUsagesboolpageNumberintpageSizeintorderBystringorderByDirectionstring
Returns
GetFieldOptionsFromXml(string, string, string)
Converts XML string to the fields options.
public FieldOptionCollection GetFieldOptionsFromXml(string categoryId, string fieldId, string xml)
Parameters
Returns
GetFields()
public Dictionary<string, FieldCollection> GetFields()
Returns
GetFields(string)
public Dictionary<string, FieldCollection> GetFields(string languageId)
Parameters
languageIdstring
Returns
GetFieldsByCategoryId(string)
public FieldCollection GetFieldsByCategoryId(string categoryId)
Parameters
categoryIdstring
Returns
GetFieldsByCategoryId(string, string)
[Obsolete("Use GetFieldsByCategoryId(string categoryId) instead.")]
public FieldCollection GetFieldsByCategoryId(string categoryId, string languageId)
Parameters
Returns
GetGroupCategoryFieldValue(Group, Field, bool)
Gets the category field value.
public FieldValueAndInheritanceInformation GetGroupCategoryFieldValue(Group group, Field field, bool allowFallback)
Parameters
groupGroup- The group information.
fieldField- The field.
allowFallbackbool- Specifies if fallback values should be used, when the group does not yield a value.
Returns
- FieldValueAndInheritanceInformation
- category field value
GetProductCategoryFieldValue(Product, Field)
Gets the category field value.
public FieldValueAndInheritanceInformation GetProductCategoryFieldValue(Product product, Field field)
Parameters
Returns
- FieldValueAndInheritanceInformation
- category field value
GetUsageCount(Category)
public int GetUsageCount(Category category)
Parameters
categoryCategory
Returns
GetUsageGroupsAsCollection(Category)
public List<string> GetUsageGroupsAsCollection(Category category)
Parameters
categoryCategory
Returns
ParseFieldValue(Field, object)
public object ParseFieldValue(Field theField, object value)
Parameters
Returns
- object
- The parsed value.
ParseFieldValue(object, int)
public object ParseFieldValue(object value, int type)
Parameters
Returns
- object
- The parsed value.
SaveCategory(Category)
Saves the Category.
public void SaveCategory(Category theCategory)
Parameters
theCategoryCategory
SaveField(Field)
Saves this instance.
public void SaveField(Field theField)
Parameters
theFieldField
ShowField(Field, Product)
Return a boolean, which indicates whether or not the field should be shown. This is calculated based on the 'HideIfFieldHasNoValue' and the value of the field.
public bool ShowField(Field field, Product product)