Table of Contents

Class InvitationRepository

Namespace
Builvero.Infrastructure.Repositories
Assembly
Builvero.Infrastructure.dll

Repository implementation for invitation data access operations using Entity Framework Core.

public class InvitationRepository : IInvitationRepository
Inheritance
InvitationRepository
Implements
Inherited Members

Remarks

Invitations are codes that allow users to register for the platform. Each invitation can have usage limits and expiration dates.

Constructors

InvitationRepository(ApplicationDbContext)

Initializes a new instance of the InvitationRepository class.

public InvitationRepository(ApplicationDbContext context)

Parameters

context ApplicationDbContext

The Entity Framework database context for data access.

Methods

CreateAsync(Invitation, CancellationToken)

Creates a new invitation in the database.

public Task<Invitation> CreateAsync(Invitation invitation, CancellationToken cancellationToken = default)

Parameters

invitation Invitation

The invitation entity to create.

cancellationToken CancellationToken

Cancellation token to cancel the operation.

Returns

Task<Invitation>

The created invitation entity with its generated ID.

GetAllAsync(int, int, CancellationToken)

Retrieves a paginated list of all invitations.

public Task<List<Invitation>> GetAllAsync(int page, int pageSize, CancellationToken cancellationToken = default)

Parameters

page int

The page number (1-based) to retrieve.

pageSize int

The number of invitations per page.

cancellationToken CancellationToken

Cancellation token to cancel the operation.

Returns

Task<List<Invitation>>

A paginated list of invitations with their creators loaded, ordered by creation date (newest first).

GetByCodeAsync(string, CancellationToken)

Retrieves an invitation by its unique code.

public Task<Invitation?> GetByCodeAsync(string code, CancellationToken cancellationToken = default)

Parameters

code string

The invitation code to search for.

cancellationToken CancellationToken

Cancellation token to cancel the operation.

Returns

Task<Invitation>

The invitation with its creator loaded, or null if not found.

GetByIdAsync(Guid, CancellationToken)

Retrieves an invitation by its unique identifier.

public Task<Invitation?> GetByIdAsync(Guid id, CancellationToken cancellationToken = default)

Parameters

id Guid

The unique identifier of the invitation to retrieve.

cancellationToken CancellationToken

Cancellation token to cancel the operation.

Returns

Task<Invitation>

The invitation with its creator loaded, or null if not found.

GetCountAsync(CancellationToken)

Gets the total count of invitations in the database.

public Task<int> GetCountAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Cancellation token to cancel the operation.

Returns

Task<int>

The total count of invitations.

UpdateAsync(Invitation, CancellationToken)

Updates an existing invitation in the database.

public Task<Invitation> UpdateAsync(Invitation invitation, CancellationToken cancellationToken = default)

Parameters

invitation Invitation

The invitation entity to update.

cancellationToken CancellationToken

Cancellation token to cancel the operation.

Returns

Task<Invitation>

The updated invitation entity.