Class GroupService
- Namespace
- Dynamicweb.Ecommerce.Products
- Assembly
- Dynamicweb.Ecommerce.dll
The GroupService class providing methods for querying and saving the Group aggregate to and from persistence.
public class GroupService : ICacheStorage<GroupKey, Group>, ICacheStorage<GroupKey>, ICacheStorage
- Inheritance
-
GroupService
- Implements
- Inherited Members
Properties
DataModelPrefix
public string DataModelPrefix { get; }
Property Value
Methods
AddGroupRelationForProductIds(IEnumerable<string>, IEnumerable<string>)
Adds group relation to specified product ids
public void AddGroupRelationForProductIds(IEnumerable<string> groupIds, IEnumerable<string> productIds)
Parameters
groupIds
IEnumerable<string>The group ids
productIds
IEnumerable<string>The product ids
AddRelatedGroups(Group, IEnumerable<string>)
Adds related group ids to speficified group
public void AddRelatedGroups(Group group, IEnumerable<string> relatedGroupIds)
Parameters
group
GroupThe group
relatedGroupIds
IEnumerable<string>The related group ids
AddRelatedProductId(Group, string, string, string)
Adds the related product to group.
public void AddRelatedProductId(Group group, string relatedGroupId, string productId, string variantId)
Parameters
group
GroupThe group.
relatedGroupId
stringThe relation group ID.
productId
stringThe product ID.
variantId
stringThe variant ID.
AddSubgroup(Group, Group)
Adds a subgroup to group.
public void AddSubgroup(Group toGroup, Group subgroup)
Parameters
ClearCache()
Clears all the product group cache.
public void ClearCache()
ClearCache(GroupKey)
Resets the specified key to the default value for objects stored in the object cache
public void ClearCache(GroupKey key)
Parameters
key
GroupKeyKey to reset
ClearCache(IEnumerable<GroupKey>)
Resets the specified keys to the default value for objects stored in the object cache
public void ClearCache(IEnumerable<GroupKey> keys)
Parameters
keys
IEnumerable<GroupKey>Keys to reset
CreateProductGroupRelation(string, string, bool?)
Creates the new product group relation.
public ProductGroupRelation CreateProductGroupRelation(string productId, string groupId, bool? isPrimary = null)
Parameters
productId
stringThe product Id.
groupId
stringThe group Id.
isPrimary
bool?Is this group primary.
Returns
Delete(Group)
Deletes the group.
public void Delete(Group group)
Parameters
group
GroupThe group.
Delete(GroupCollection)
Deletes appropriate relations between shops, other groups and products as well.
public void Delete(GroupCollection groups)
Parameters
groups
GroupCollectionThe groups collection.
DeleteGroupsAndProductsByGroupKeys(IEnumerable<GroupKey>)
Deletes groups by given group keys and also deletes the products from removed groups if the products only belong to those groups
public void DeleteGroupsAndProductsByGroupKeys(IEnumerable<GroupKey> groupKeysToDelete)
Parameters
groupKeysToDelete
IEnumerable<GroupKey>The group keys to be deleted
DeleteRelatedProductId(Group, string, string, string)
Deletes the related product from relation.
public void DeleteRelatedProductId(Group group, string relatedGroupId, string productId, string variantId)
Parameters
group
GroupThe group.
relatedGroupId
stringThe relation group ID.
productId
stringThe product ID to delete.
variantId
stringThe product variant ID to delete.
DeleteRelation(string, string)
Deletes the specified product relation.
public void DeleteRelation(string productId, string groupId)
Parameters
DeleteRelations(IEnumerable<Product>, string)
Deletes the specified product relations.
public int DeleteRelations(IEnumerable<Product> products, string groupId)
Parameters
products
IEnumerable<Product>The products
groupId
stringThe group Id.
Returns
- int
The number of rows affected by the command.
FindPath(Shop, Group)
Find path from shop to group.
public IEnumerable<Group> FindPath(Shop fromShop, Group toGroup)
Parameters
Returns
- IEnumerable<Group>
returns path to group include target group or empty if path not found
GetDataModelSystemName(string)
public string GetDataModelSystemName(string groupName)
Parameters
groupName
string
Returns
GetGroup(string, string)
Gets the group.
public Group? GetGroup(string groupId, string languageId)
Parameters
Returns
- Group
The group.
GetGroup(string, string, bool)
Gets the group.
public Group? GetGroup(string groupId, string languageId, bool showUnTranslated)
Parameters
groupId
stringThe group ID.
languageId
stringThe language ID.
showUnTranslated
boolDetermines whether untranslated group could be returned.
Returns
- Group
The group.
GetGroups(IEnumerable<string>)
Gets groups by provided group IDs in default language.
public IEnumerable<Group> GetGroups(IEnumerable<string> groupIds)
Parameters
groupIds
IEnumerable<string>The list of group IDs.
Returns
- IEnumerable<Group>
Groups ordered by name
GetGroups(string)
Gets groups by language ID.
public IEnumerable<Group> GetGroups(string languageId)
Parameters
languageId
stringThe language ID.
Returns
- IEnumerable<Group>
The GroupCollection.
GetGroupsByKeys(IEnumerable<GroupKey>)
public IEnumerable<Group> GetGroupsByKeys(IEnumerable<GroupKey> groupKeys)
Parameters
groupKeys
IEnumerable<GroupKey>
Returns
GetProductCountForBackendTree(string, string?)
Gets the number of the products in the group.
public int GetProductCountForBackendTree(string groupId, string? languageId)
Parameters
Returns
- int
The number of products with the specified language ID in the group.
GetProductGroupRelation(string, string)
Gets the product group relation.
public ProductGroupRelation GetProductGroupRelation(string productId, string groupId)
Parameters
Returns
GetProductGroupRelations(string)
Gets the product group relations.
public IEnumerable<ProductGroupRelation> GetProductGroupRelations(string productId)
Parameters
productId
stringThe product Id.
Returns
GetRelatedGroups(IEnumerable<ProductGroupRelation>, string)
public IEnumerable<Group> GetRelatedGroups(IEnumerable<ProductGroupRelation> relations, string languageId)
Parameters
relations
IEnumerable<ProductGroupRelation>languageId
string
Returns
GetRelatedProducts(Group, string)
Gets the list of related products for relation group. Related products are used as default list of related products for child products.
public IEnumerable<Product> GetRelatedProducts(Group group, string relatedGroupId)
Parameters
Returns
- IEnumerable<Product>
Related products collection
GetSubgroups(Group)
Gets the subgroups for this Group in the same language as the group.
public IEnumerable<Group> GetSubgroups(Group group)
Parameters
group
Group
Returns
GetSubgroups(Group, bool)
Gets the list of child groups in current or default language.
public IEnumerable<Group> GetSubgroups(Group group, bool showUnTranslated)
Parameters
Returns
HasSubgroups(Group)
Defines if a group includes child elements.
public bool HasSubgroups(Group group)
Parameters
group
Group
Returns
IsParentGroup(Group, string)
Determines whether source group is a parent of target group (might be not direct parent).
public bool IsParentGroup(Group sourceGroup, string targetGroupId)
Parameters
Returns
MoveToGroup(IEnumerable<Product>, string, string)
Moves to group.
public int MoveToGroup(IEnumerable<Product> products, string toGroupId, string fromGroupId)
Parameters
products
IEnumerable<Product>The products.
toGroupId
stringThe destination group id.
fromGroupId
stringThe source group id.
Returns
- int
The number of rows affected by the command.
RemoveRelatedGroups(Group, IEnumerable<string>)
Removes related group ids from speficified group
public void RemoveRelatedGroups(Group group, IEnumerable<string> relatedGroupIds)
Parameters
group
GroupThe group
relatedGroupIds
IEnumerable<string>The related group ids
Save(Group)
Saves the group.
public void Save(Group group)
Parameters
group
GroupThe group.
Save(ProductGroupRelation)
Saves the product group relation
public void Save(ProductGroupRelation relation)
Parameters
relation
ProductGroupRelationThe product group relation.