Interface IMemberRepository

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

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

Methods

Add(Member)

Adds a user as a member to the repository to the underlying data store

Declaration
Member Add(Member member)
Parameters
Type Name Description
Member member

Member to be added

Returns
Type Description
Member

Member of the member

Add<TExtension>(Member, TExtension)

Adds a user as a member and its corresponding extension data to the underlying data store

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

Member to be added

TExtension extension

extension data to be added

Returns
Type Description
Composite<Member, TExtension>

Composite of Member of the member and extension data

Type Parameters
Name Description
TExtension

AddAsync(Member)

Asynchronously adds a member within the underlying data store.

Declaration
Task<Member> AddAsync(Member member)
Parameters
Type Name Description
Member member

Member to be added

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

Member which was added

AddAsync<TExtension>(Member, TExtension)

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

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

Member to be added

TExtension extension

Extension data to be added

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

Composite of Member and TExtension which was added

Type Parameters
Name Description
TExtension

Get(Criteria<MemberFilter>)

Retrieves a result page of members assigned to the specified member from the underlying data store

Declaration
ResultPage<Member> Get(Criteria<MemberFilter> criteria)
Parameters
Type Name Description
Criteria<MemberFilter> criteria

Filters the result set of members

Returns
Type Description
ResultPage<Member>

Page of members of the specified member

Get(MemberId)

Gets a member of an existing member from the underlying data store

Declaration
Member Get(MemberId memberId)
Parameters
Type Name Description
MemberId memberId

ID of the member to be retrieved

Returns
Type Description
Member

Member with the specified ID

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

Retrieves a result page of members assigned to the specified member and their extension data from the underlying data store

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

Composite Criteria that contains Filters for the result set of members and extension

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

Page of members of the specified member and their corresponding extension data

Type Parameters
Name Description
TExtension

Get<TExtension>(MemberId)

Gets a member of an existing member and its corresponding extension data from the underlying data store

Declaration
Composite<Member, TExtension> Get<TExtension>(MemberId memberId)
    where TExtension : class
Parameters
Type Name Description
MemberId memberId

ID of the member to be retrieved

Returns
Type Description
Composite<Member, TExtension>

Composite of member and extension data for the specified ID

Type Parameters
Name Description
TExtension

GetAsync(Criteria<MemberFilter>)

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

Declaration
Task<ResultPage<Member>> GetAsync(Criteria<MemberFilter> criteria)
Parameters
Type Name Description
Criteria<MemberFilter> criteria

Filters the result set of members

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

Page of members filtered according to the specified criteria

GetAsync(MemberId)

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

Declaration
Task<Member> GetAsync(MemberId memberId)
Parameters
Type Name Description
MemberId memberId

ID fo the member to be retrieved

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

Member which was retrieved

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

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

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

Filters the result set of members and the extension data

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

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

Type Parameters
Name Description
TExtension

GetAsync<TExtension>(MemberId)

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

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

ID fo the member to be retrieved

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

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

Type Parameters
Name Description
TExtension

IsMember(GroupId, Reference)

Returns true if the specified user is a member of the specified member, false otherwise.

Declaration
bool IsMember(GroupId member, Reference user)
Parameters
Type Name Description
GroupId member

Member in which the specified user may be a member

Reference user

Identifies the user for whom member should be verified

Returns
Type Description
System.Boolean

True if the specified user is a member of the specified member, false otherwise.

Remove(MemberId)

Removes a member from an existing member from the underlying data store

Declaration
void Remove(MemberId memberId)
Parameters
Type Name Description
MemberId memberId

ID of the member to be removed

RemoveAsync(MemberId)

Asynchronously removes an existing member from the underlying data store.

Declaration
Task RemoveAsync(MemberId memberId)
Parameters
Type Name Description
MemberId memberId

ID of the member to be removed

Returns
Type Description
System.Threading.Tasks.Task

Update<TExtension>(MemberId, TExtension)

Update a member in the repository with new extension data

Declaration
Composite<Member, TExtension> Update<TExtension>(MemberId memberId, TExtension extension)
    where TExtension : class
Parameters
Type Name Description
MemberId memberId

MemberId used to filter collection with

TExtension extension

Extension data to be added

Returns
Type Description
Composite<Member, TExtension>

Composite of Member of the member and extension data

Type Parameters
Name Description
TExtension

UpdateAsync<TExtension>(MemberId, TExtension)

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

Declaration
Task<Composite<Member, TExtension>> UpdateAsync<TExtension>(MemberId memberId, TExtension extension)
    where TExtension : class
Parameters
Type Name Description
MemberId memberId

Member to be updated

TExtension extension

Extension Data to be updated

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

Member which was updated

Type Parameters
Name Description
TExtension
arrow_upward