Table of Contents

Class DataSeeder

Namespace
SEBT.Portal.Infrastructure.Services
Assembly
SEBT.Portal.Infrastructure.dll

Infrastructure implementation of IDataSeeder that handles database operations and mapping between domain models and entities.

public class DataSeeder : IDataSeeder
Inheritance
object
DataSeeder
Implements

Constructors

DataSeeder(PortalDbContext, IIdentifierHasher, IPiiSymmetricEncryption, IEmailLookupHasher)

public DataSeeder(PortalDbContext dbContext, IIdentifierHasher identifierHasher, IPiiSymmetricEncryption piiSymmetricEncryption, IEmailLookupHasher emailLookupHasher)

Parameters

dbContext PortalDbContext
identifierHasher IIdentifierHasher
piiSymmetricEncryption IPiiSymmetricEncryption
emailLookupHasher IEmailLookupHasher

Methods

AddUsers(IEnumerable<User>)

Synchronous version for UseSeeding callback.

public void AddUsers(IEnumerable<User> users)

Parameters

users IEnumerable<User>

AddUsersAsync(IEnumerable<User>, CancellationToken)

Adds users to the database.

public Task AddUsersAsync(IEnumerable<User> users, CancellationToken cancellationToken = default)

Parameters

users IEnumerable<User>
cancellationToken CancellationToken

Returns

Task

AnyUsersExist()

Synchronous version for UseSeeding callback.

public bool AnyUsersExist()

Returns

bool

AnyUsersExistAsync(CancellationToken)

Checks if any users exist in the database.

public Task<bool> AnyUsersExistAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<bool>

GetExistingUserEmails(IEnumerable<string>)

Synchronous version for UseSeeding callback. Gets existing user emails from the database.

public HashSet<string> GetExistingUserEmails(IEnumerable<string> emails)

Parameters

emails IEnumerable<string>

Returns

HashSet<string>

GetExistingUserEmailsAsync(IEnumerable<string>, CancellationToken)

Gets existing user emails from the database.

public Task<HashSet<string>> GetExistingUserEmailsAsync(IEnumerable<string> emails, CancellationToken cancellationToken = default)

Parameters

emails IEnumerable<string>
cancellationToken CancellationToken

Returns

Task<HashSet<string>>

GetUserEmailsByDomainAsync(string, CancellationToken)

Gets user emails that end with the specified domain.

public Task<List<string>> GetUserEmailsByDomainAsync(string emailDomain, CancellationToken cancellationToken = default)

Parameters

emailDomain string
cancellationToken CancellationToken

Returns

Task<List<string>>

RemoveUserOptInsByEmailAsync(IEnumerable<string>, CancellationToken)

Removes user opt-ins with specified emails from the database.

public Task RemoveUserOptInsByEmailAsync(IEnumerable<string> emails, CancellationToken cancellationToken = default)

Parameters

emails IEnumerable<string>
cancellationToken CancellationToken

Returns

Task

RemoveUsersByEmailAsync(IEnumerable<string>, CancellationToken)

Removes users with specified emails from the database.

public Task RemoveUsersByEmailAsync(IEnumerable<string> emails, CancellationToken cancellationToken = default)

Parameters

emails IEnumerable<string>
cancellationToken CancellationToken

Returns

Task

SaveChanges()

Synchronous version for UseSeeding callback.

public void SaveChanges()

SaveChangesAsync(CancellationToken)

Saves changes to the database.

public Task SaveChangesAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task