Table of Contents

Class UserMailPreferenceCollection

Namespace
Tharga.Team.MongoDB
Assembly
Tharga.Team.MongoDB.dll

Users' mail choices, one document per user and category, default collection name UserMailPreference.

public class UserMailPreferenceCollection : DiskRepositoryCollectionBase<UserMailPreferenceEntity>, IUserMailPreferenceCollection, IDiskRepositoryCollection<UserMailPreferenceEntity>, IDiskRepositoryCollection<UserMailPreferenceEntity, ObjectId>, IRepositoryCollection<UserMailPreferenceEntity, ObjectId>, IReadOnlyRepositoryCollection<UserMailPreferenceEntity, ObjectId>, IRepositoryCollection, IReadOnlyRepositoryCollection
Inheritance
RepositoryCollectionBase
RepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>
DiskRepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>
DiskRepositoryCollectionBase<UserMailPreferenceEntity>
UserMailPreferenceCollection
Implements
IDiskRepositoryCollection<UserMailPreferenceEntity>
IDiskRepositoryCollection<UserMailPreferenceEntity, ObjectId>
IRepositoryCollection<UserMailPreferenceEntity, ObjectId>
IReadOnlyRepositoryCollection<UserMailPreferenceEntity, ObjectId>
IRepositoryCollection
IReadOnlyRepositoryCollection
Inherited Members
DiskRepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>.GetCollection()
DiskRepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>.DropCollectionAsync()
DiskRepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>.GetDirtyAsync()
DiskRepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>.GetFailedIndices()
DiskRepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>.DropEmptyAsync(IMongoCollection<UserMailPreferenceEntity>)
DiskRepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>.FetchSize
RepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>._mongoDbServiceFactory
RepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>._logger
RepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>._databaseContext
RepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>._mongoDbService
RepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>.InitAsync(IMongoCollection<UserMailPreferenceEntity>)
RepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>.ProtectedCollectionName
RepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>.CollectionName
RepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>.DatabasePart
RepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>.ConfigurationName
RepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>.AutoClean
RepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>.CleanOnStartup
RepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>.CreateCollectionStrategy
RepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>.Indices
RepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>.CoreIndices
RepositoryCollectionBase<UserMailPreferenceEntity, ObjectId>.Types
RepositoryCollectionBase.ConfigurationName
RepositoryCollectionBase.ActionEvent

Remarks

The unique index is what keeps one choice per user and category when two changes race.

Constructors

UserMailPreferenceCollection(IMongoDbServiceFactory, ILogger<UserMailPreferenceCollection>, IOptions<ThargaTeamOptions>)

Creates the collection under the configured name.

public UserMailPreferenceCollection(IMongoDbServiceFactory mongoDbServiceFactory, ILogger<UserMailPreferenceCollection> logger, IOptions<ThargaTeamOptions> options = null)

Parameters

mongoDbServiceFactory IMongoDbServiceFactory
logger ILogger<UserMailPreferenceCollection>
options IOptions<ThargaTeamOptions>

Properties

CollectionName

public override string CollectionName { get; }

Property Value

string

Indices

public override IEnumerable<CreateIndexModel<UserMailPreferenceEntity>> Indices { get; }

Property Value

IEnumerable<CreateIndexModel<UserMailPreferenceEntity>>