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

Properties

DataModelPrefix

public string DataModelPrefix { get; }

Property Value

string

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 Group

The 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 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(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 string

The product Id.

groupId string

The group Id.

isPrimary bool?

Is this group primary.

Returns

ProductGroupRelation

Delete(Group)

Deletes the group.

public void Delete(Group group)

Parameters

group Group

The group.

Delete(GroupCollection)

Deletes appropriate relations between shops, other groups and products as well.

public void Delete(GroupCollection groups)

Parameters

groups GroupCollection

The 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 Group

The group.

relatedGroupId string

The relation group ID.

productId string

The product ID to delete.

variantId string

The product variant ID to delete.

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>, 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.

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

GetDataModelSystemName(string)

public string GetDataModelSystemName(string groupName)

Parameters

groupName string

Returns

string

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

Determines 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 string

The language ID.

Returns

IEnumerable<Group>

The GroupCollection.

GetGroupsByKeys(IEnumerable<GroupKey>)

public IEnumerable<Group> GetGroupsByKeys(IEnumerable<GroupKey> groupKeys)

Parameters

groupKeys IEnumerable<GroupKey>

Returns

IEnumerable<Group>

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>, string)

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

Parameters

relations IEnumerable<ProductGroupRelation>
languageId string

Returns

IEnumerable<Group>

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

Group to find relations for

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>

HasSubgroups(Group)

Defines if a group includes child elements.

public bool HasSubgroups(Group group)

Parameters

group Group

Returns

bool

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

sourceGroup Group

Source group.

targetGroupId string

Target 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.

RemoveRelatedGroups(Group, IEnumerable<string>)

Removes related group ids from speficified group

public void RemoveRelatedGroups(Group group, IEnumerable<string> relatedGroupIds)

Parameters

group Group

The group

relatedGroupIds IEnumerable<string>

The related group ids

Save(Group)

Saves the group.

public void Save(Group group)

Parameters

group Group

The group.

Save(ProductGroupRelation)

Saves the product group relation

public void Save(ProductGroupRelation relation)

Parameters

relation ProductGroupRelation

The product group relation.

To top