Table of Contents

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

Methods

AddRelatedProductId(Group, string, string)

Adds the related product to group.
public void AddRelatedProductId(Group group, string relatedGroupId, string productId)

Parameters

group Group
The group.
relatedGroupId string
The relation group ID.
productId string
The product ID.

AddRelatedProductId(Group, string, string, string)

Adds the related product to group.
public void AddRelatedProductId(Group group, string relatedGroupId, string productId, string variantId)

Parameters

group Group
The group.
relatedGroupId string
The relation group ID.
productId string
The product ID.
variantId string
The variant ID.

AddSubgroup(Group, Group)

Adds a subgroup to group.
public void AddSubgroup(Group toGroup, Group subgroup)

Parameters

toGroup Group
The group to which will added a subgroup.
subgroup Group
The subgroup for adding.

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 GroupKey
Key to reset

ClearCache(bool)

Clears the product group cache.
[Obsolete("Use ClearCache() instead.")]
public void ClearCache(bool clearAssortmentsNavigationCache)

Parameters

clearAssortmentsNavigationCache bool
The indicator whether to clear assortment navigation cache also.

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

ClearOrderLineFieldCache(Group)

Clears order line fields cache.
[Obsolete("No longer used. Cached fields are cleared when changes are made to fields or field relations.")]
public void ClearOrderLineFieldCache(Group group)

Parameters

group Group

ClearProductGroupRelationCache()

Clears the product group relation cache
public void ClearProductGroupRelationCache()

ClearProductGroupRelationCache(string)

Clears the product group relation cache
public void ClearProductGroupRelationCache(string productId)

Parameters

productId string

CreateProductGroupRelation(string, string, bool?)

Creates the new product group relation.
public ProductGroupRelation CreateProductGroupRelation(string productId, string groupId, bool? isPrimary = null)

Parameters

productId string
The product Id.
groupId string
The group Id.
isPrimary bool?
Is this group primary.

Returns

ProductGroupRelation

Delete(Group, string)

Deletes the group.
public void Delete(Group group, string languageId)

Parameters

group Group
The group.
languageId string

Delete(GroupCollection)

Deletes all groups from provided collection.
public void Delete(GroupCollection groups)

Parameters

groups GroupCollection
The group collection.

DeleteAll(GroupCollection)

Deletes appropriate relations between shops, other groups and products as well.
public void DeleteAll(GroupCollection groups)

Parameters

groups GroupCollection
The groups collection.

DeleteRelatedProductId(Group, string, string)

Deletes the related product from relation.
public void DeleteRelatedProductId(Group group, string relatedGroupId, string productId)

Parameters

group Group
The group.
relatedGroupId string
The relation group ID.
productId string
The product ID to delete.

DeleteRelatedProductId(Group, string, string, string)

Deletes the related product from relation.
public void DeleteRelatedProductId(Group group, string relatedGroupId, string productId, string variantId)

Parameters

group Group
The group.
relatedGroupId string
The relation group ID.
productId string
The product ID to delete.
variantId string
The product variant ID to delete.

DeleteRelatedProducts(Group, string)

Deletes the related products from group.
public void DeleteRelatedProducts(Group group, string relatedGroupId)

Parameters

group Group
The group.
relatedGroupId string
The relation group ID.

DeleteRelation(ProductGroupRelation)

Deletes the specified product relation.
public void DeleteRelation(ProductGroupRelation relation)

Parameters

relation ProductGroupRelation
The product group relation.

DeleteRelation(string, string)

Deletes the specified product relation.
public void DeleteRelation(string productId, string groupId)

Parameters

productId string
The product id.
groupId string
The group id.

DeleteRelations(IEnumerable<Product>)

Deletes the specified product relations.
public int DeleteRelations(IEnumerable<Product> products)

Parameters

products IEnumerable<Product>
The products.

Returns

int
The number of rows affected by the command.

DeleteRelations(IEnumerable<Product>, string)

Deletes the specified product relations.
public int DeleteRelations(IEnumerable<Product> products, string groupId)

Parameters

products IEnumerable<Product>
The products
groupId string
The group Id.

Returns

int
The number of rows affected by the command.

FindGroups(string, int)

Finds the groups by keyword.
public IEnumerable<Group> FindGroups(string keyword, int maxAmount)

Parameters

keyword string
The keyword to find.
maxAmount int
The maximum number of returned results.

Returns

IEnumerable<Group>

FindGroups(string, int, string)

Finds the groups by keyword.
public IEnumerable<Group> FindGroups(string keyword, int maxAmount, string shopId)

Parameters

keyword string
The keyword to find.
maxAmount int
The maximum number of returned results.
shopId string
The shop ID to search in.

Returns

IEnumerable<Group>

FindPath(Shop, Group)

Find path from shop to group.
public IEnumerable<Group> FindPath(Shop fromShop, Group toGroup)

Parameters

fromShop Shop
The relation group ID.
toGroup Group
The group.

Returns

IEnumerable<Group>
returns path to group include target group or empty if path not found

GetGroup(string)

Gets the group by ID.
public Group GetGroup(string groupId)

Parameters

groupId string
The group ID.

Returns

Group
The group.

GetGroup(string, string)

Gets the group.
public Group GetGroup(string groupId, string languageId)

Parameters

groupId string
The group ID.
languageId string
The language ID.

Returns

Group
The group.

GetGroup(string, string, bool)

Gets the group.
public Group GetGroup(string groupId, string languageId, bool showUnTranslated)

Parameters

groupId string
The group ID.
languageId string
The language ID.
showUnTranslated bool

Returns

Group
The group.

GetGroup(string, string, string)

Gets the group.
[Obsolete("Use overloaded GetGroup with showUnTranslated instead.")]
public Group GetGroup(string groupId, string languageId, string defaultLanguageId)

Parameters

groupId string
The group ID.
languageId string
The language ID.
defaultLanguageId string
The default language ID.

Returns

Group
The group.

GetGroups()

Gets all product groups sorted by name.
public IEnumerable<Group> GetGroups()

Returns

IEnumerable<Group>
The GroupCollection.

GetGroups(IEnumerable<string>)

Gets groups by provided group IDs.
public IEnumerable<Group> GetGroups(IEnumerable<string> groupIds)

Parameters

groupIds IEnumerable<string>
The list of group IDs.

Returns

IEnumerable<Group>
Groups ordered by name

GetGroups(IEnumerable<string>, bool)

Gets groups by provided group IDs.
[Obsolete("Use overloaded GetGroups with specified languageId and showUnTranslated instead.")]
public IEnumerable<Group> GetGroups(IEnumerable<string> groupIds, bool applyFiltering)

Parameters

groupIds IEnumerable<string>
The list of group IDs.
applyFiltering bool
The filter results by current language.

Returns

IEnumerable<Group>

GetGroups(IEnumerable<string>, string)

Gets groups by provided group IDs.
public IEnumerable<Group> GetGroups(IEnumerable<string> groupIds, string languageId)

Parameters

groupIds IEnumerable<string>
The list of group IDs.
languageId string

Returns

IEnumerable<Group>
Groups ordered by name

GetGroups(IEnumerable<string>, string, bool, bool)

Gets groups by provided group IDs.
public IEnumerable<Group> GetGroups(IEnumerable<string> groupIds, string languageId, bool showUnTranslated, bool keepSortOrder)

Parameters

groupIds IEnumerable<string>
The list of group IDs.
languageId string
The language ID.
showUnTranslated bool
keepSortOrder bool
Group sorting is based on order of specified group Ids.

Returns

IEnumerable<Group>

GetGroups(string)

Gets groups by language ID.
public IEnumerable<Group> GetGroups(string languageId)

Parameters

languageId string
The language ID.

Returns

IEnumerable<Group>
The GroupCollection.

GetGroupShops(string)

Gets the shops for specified group.
public IEnumerable<Shop> GetGroupShops(string groupId)

Parameters

groupId string
The group ID.

Returns

IEnumerable<Shop>
The collections of the Shop.

GetProductCountByGroupsForBackendTree(GroupCollection)

Gets products count in groups for current language, without variants.
[Obsolete("It is not used.")]
public Dictionary<string, int> GetProductCountByGroupsForBackendTree(GroupCollection groups)

Parameters

groups GroupCollection

Returns

Dictionary<string, int>

GetProductCountForBackendTree(string, string)

Gets the number of the products in the group.
public int GetProductCountForBackendTree(string groupId, string languageId)

Parameters

groupId string
The group ID.
languageId string
The language ID/

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

productId string
The product Id.
groupId string
The group Id.

Returns

ProductGroupRelation

GetProductGroupRelations(string)

Gets the product group relations.
public IEnumerable<ProductGroupRelation> GetProductGroupRelations(string productId)

Parameters

productId string
The product Id.

Returns

IEnumerable<ProductGroupRelation>

GetRelatedGroups(IEnumerable<ProductGroupRelation>)

Gets the related groups.
[Obsolete("Use 'Services.ProductGroups.GetRelatedGroups(relations, languageId)' instead")]
public IEnumerable<Group> GetRelatedGroups(IEnumerable<ProductGroupRelation> relations)

Parameters

relations IEnumerable<ProductGroupRelation>

Returns

IEnumerable<Group>
The group collection.

GetRelatedGroups(IEnumerable<ProductGroupRelation>, string)

public IEnumerable<Group> GetRelatedGroups(IEnumerable<ProductGroupRelation> relations, string languageId)

Parameters

relations IEnumerable<ProductGroupRelation>
languageId string

Returns

IEnumerable<Group>

GetRelatedProductIds(Group, string)

Gets the string with list of related product IDs for relation group. Related products are used as default list of related products for child products.
public string GetRelatedProductIds(Group group, string relatedGroupId)

Parameters

group Group
relatedGroupId string

Returns

string
Related product ids, delimited by "#;#"

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

group Group
relatedGroupId string
relation group ID

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

IEnumerable<Group>

GetSubgroups(Group, bool)

Gets the list of child groups in current or default language.
public IEnumerable<Group> GetSubgroups(Group group, bool showUnTranslated)

Parameters

group Group
showUnTranslated bool

Returns

IEnumerable<Group>

GetToplevelGroups()

Gets the top level groups.
public IEnumerable<Group> GetToplevelGroups()

Returns

IEnumerable<Group>
The GroupCollection.

GetToplevelGroups(string)

Gets the top level groups in specified language.
public IEnumerable<Group> GetToplevelGroups(string languageId)

Parameters

languageId string
The language ID.

Returns

IEnumerable<Group>
The GroupCollection.

HasProducts(Group)

Determines whether the group contains products.
public bool HasProducts(Group group)

Parameters

group Group
The group.

Returns

bool
True, if group contains at least one product, otherwise, False.

HasProductsWithoutVariants(Group)

Determines whether the group contains products without variants.
public bool HasProductsWithoutVariants(Group group)

Parameters

group Group
The group.

Returns

bool
True, if group contains at least one product, otherwise, False.

HasProductsWithVariants(Group)

Determines whether the group contains products with variants.
public bool HasProductsWithVariants(Group group)

Parameters

group Group
The group.

Returns

bool
True, if group contains at least one product, otherwise, False.

HasSubgroups(Group)

Defines if a group includes child elements.
public bool HasSubgroups(Group group)

Parameters

group Group

Returns

bool

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 string
The destination group id.
fromGroupId string
The source group id.

Returns

int
The number of rows affected by the command.

Save(Group)

Saves the group.
public void Save(Group group)

Parameters

group Group
The group.

Save(Group, string)

Saves the group.
public void Save(Group group, string groupId)

Parameters

group Group
The group.
groupId string
The group ID.

Save(ProductGroupRelation)

Saves the product group relation
public void Save(ProductGroupRelation relation)

Parameters

relation ProductGroupRelation
The product group relation.

UpdateGroupId(Group, string)

Updates the group ID in all related tables.
public void UpdateGroupId(Group group, string newGroupId)

Parameters

group Group
The group.
newGroupId string
The new group ID.
To top