Interface IGroupRepository

The IGroupRepository interface describes a component capable of persisting, deleting, and retrieving group data from an underlying data store.

Namespace: EPiServer.Social.Groups.Core
Assembly: EPiServer.Social.Groups.Core.dll
Version: 1.5.4
Syntax
public interface IGroupRepository

Methods

Add(Group)

Adds a group within the underlying data store.

Declaration
Group Add(Group group)
Parameters
Type Name Description
Group group

Group to be added

Returns
Type Description
Group

Group which was added

Add<TExtension>(Group, TExtension)

Adds a group with extension data within the underlying data store.

Declaration
Composite<Group, TExtension> Add<TExtension>(Group group, TExtension extension)
    where TExtension : class
Parameters
Type Name Description
Group group

Group to be added

TExtension extension

Extension data to be added

Returns
Type Description
Composite<Group, TExtension>

Composite of Group and TExtension which was added

Type Parameters
Name Description
TExtension

AddAsync(Group)

Asynchronously adds a group within the underlying data store.

Declaration
Task<Group> AddAsync(Group group)
Parameters
Type Name Description
Group group

Group to be added

Returns
Type Description
System.Threading.Tasks.Task<Group>

Group which was added

AddAsync<TExtension>(Group, TExtension)

Asynchronously adds a group with extension data within the underlying data store.

Declaration
Task<Composite<Group, TExtension>> AddAsync<TExtension>(Group group, TExtension extension)
    where TExtension : class
Parameters
Type Name Description
Group group

Group to be added

TExtension extension

Extension data to be added

Returns
Type Description
System.Threading.Tasks.Task<Composite<Group, TExtension>>

Composite of Group and TExtension which was added

Type Parameters
Name Description
TExtension

Get(Criteria<GroupFilter>)

Retrieves a page of groups, from the underlying data store, as specified by the provided criteria.

Declaration
ResultPage<Group> Get(Criteria<GroupFilter> criteria)
Parameters
Type Name Description
Criteria<GroupFilter> criteria

Filters the result set of groups

Returns
Type Description
ResultPage<Group>

Page of groups filtered according to the specified criteria

Get(GroupId)

Retrieves a group, represented by the specified ID, from the underlying data store.

Declaration
Group Get(GroupId groupId)
Parameters
Type Name Description
GroupId groupId

ID fo the group to be retrieved

Returns
Type Description
Group

Group which was retrieved

Get<TExtension>(CompositeCriteria<GroupFilter, TExtension>)

Retrieves a result page of composites. Each composite contains a group and its extension data, from the underlying data store, as specified by the provided criteria.

Declaration
ResultPage<Composite<Group, TExtension>> Get<TExtension>(CompositeCriteria<GroupFilter, TExtension> criteria)
    where TExtension : class
Parameters
Type Name Description
CompositeCriteria<GroupFilter, TExtension> criteria

Filters the result set of groups and the extension data

Returns
Type Description
ResultPage<Composite<Group, TExtension>>

Page of composites that contain groups and their extension data filtered according to the specified criteria

Type Parameters
Name Description
TExtension

Get<TExtension>(GroupId)

Retrieves a group with extension data, represented by the specified ID, from the underlying data store.

Declaration
Composite<Group, TExtension> Get<TExtension>(GroupId id)
    where TExtension : class
Parameters
Type Name Description
GroupId id

ID fo the group to be retrieved

Returns
Type Description
Composite<Group, TExtension>

Composite that contains a group and its extension data based on the criteria provided.

Type Parameters
Name Description
TExtension

GetAsync(Criteria<GroupFilter>)

Asynchronously retrieves a page of groups, from the underlying data store, as specified by the provided criteria.

Declaration
Task<ResultPage<Group>> GetAsync(Criteria<GroupFilter> criteria)
Parameters
Type Name Description
Criteria<GroupFilter> criteria

Filters the result set of groups

Returns
Type Description
System.Threading.Tasks.Task<ResultPage<Group>>

Page of groups filtered according to the specified criteria

GetAsync(GroupId)

Asynchronously retrieves a group, represented by the specified ID, from the underlying data store.

Declaration
Task<Group> GetAsync(GroupId groupId)
Parameters
Type Name Description
GroupId groupId

ID fo the group to be retrieved

Returns
Type Description
System.Threading.Tasks.Task<Group>

Group which was retrieved

GetAsync<TExtension>(CompositeCriteria<GroupFilter, TExtension>)

Asynchronously retrieves a result page of composites. Each composite contains a group and its extension data, from the underlying data store, as specified by the provided criteria.

Declaration
Task<ResultPage<Composite<Group, TExtension>>> GetAsync<TExtension>(CompositeCriteria<GroupFilter, TExtension> criteria)
    where TExtension : class
Parameters
Type Name Description
CompositeCriteria<GroupFilter, TExtension> criteria

Filters the result set of groups and the extension data

Returns
Type Description
System.Threading.Tasks.Task<ResultPage<Composite<Group, TExtension>>>

Page of composites that contain groups and their extension data filtered according to the specified criteria

Type Parameters
Name Description
TExtension

GetAsync<TExtension>(GroupId)

Asynchronously retrieves a group with extension data, represented by the specified ID, from the underlying data store.

Declaration
Task<Composite<Group, TExtension>> GetAsync<TExtension>(GroupId id)
    where TExtension : class
Parameters
Type Name Description
GroupId id

ID fo the group to be retrieved

Returns
Type Description
System.Threading.Tasks.Task<Composite<Group, TExtension>>

Composite that contains a group and its extension data based on the criteria provided.

Type Parameters
Name Description
TExtension

Remove(GroupId)

Removes an existing group from the underlying data store.

Declaration
void Remove(GroupId groupId)
Parameters
Type Name Description
GroupId groupId

ID of the group to be removed

RemoveAsync(GroupId)

Asynchronously removes an existing group from the underlying data store.

Declaration
Task RemoveAsync(GroupId groupId)
Parameters
Type Name Description
GroupId groupId

ID of the group to be removed

Returns
Type Description
System.Threading.Tasks.Task

Update(Group)

Updates an existing group within the underlying data store.

Declaration
Group Update(Group group)
Parameters
Type Name Description
Group group

Group to be updated

Returns
Type Description
Group

Group which was updated

Update<TExtension>(Group, TExtension)

Updates an existing group with extension data within the underlying data store

Declaration
Composite<Group, TExtension> Update<TExtension>(Group group, TExtension extension)
    where TExtension : class
Parameters
Type Name Description
Group group

Group to be updated

TExtension extension

Extension Data to be updated

Returns
Type Description
Composite<Group, TExtension>

Group which was updated

Type Parameters
Name Description
TExtension

UpdateAsync(Group)

Asynchronously updates an existing group within the underlying data store.

Declaration
Task<Group> UpdateAsync(Group group)
Parameters
Type Name Description
Group group

Group to be updated

Returns
Type Description
System.Threading.Tasks.Task<Group>

Group which was updated

UpdateAsync<TExtension>(Group, TExtension)

Asynchronously updates an existing group with extension data within the underlying data store

Declaration
Task<Composite<Group, TExtension>> UpdateAsync<TExtension>(Group group, TExtension extension)
    where TExtension : class
Parameters
Type Name Description
Group group

Group to be updated

TExtension extension

Extension Data to be updated

Returns
Type Description
System.Threading.Tasks.Task<Composite<Group, TExtension>>

Group which was updated

Type Parameters
Name Description
TExtension
arrow_upward