Table of Contents

Class SupportCaseRepositoryCollection

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

MongoDB collection for support cases. Default collection name SupportCase (override via SupportCaseCollectionName).

public class SupportCaseRepositoryCollection : DiskRepositoryCollectionBase<SupportCaseEntity>, ISupportCaseRepositoryCollection, IDiskRepositoryCollection<SupportCaseEntity>, IDiskRepositoryCollection<SupportCaseEntity, ObjectId>, IRepositoryCollection<SupportCaseEntity, ObjectId>, IReadOnlyRepositoryCollection<SupportCaseEntity, ObjectId>, IRepositoryCollection, IReadOnlyRepositoryCollection
Inheritance
RepositoryCollectionBase
RepositoryCollectionBase<SupportCaseEntity, ObjectId>
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>
DiskRepositoryCollectionBase<SupportCaseEntity>
SupportCaseRepositoryCollection
Implements
IDiskRepositoryCollection<SupportCaseEntity>
IDiskRepositoryCollection<SupportCaseEntity, ObjectId>
IRepositoryCollection<SupportCaseEntity, ObjectId>
IReadOnlyRepositoryCollection<SupportCaseEntity, ObjectId>
IRepositoryCollection
IReadOnlyRepositoryCollection
Inherited Members
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>.AddAsync(SupportCaseEntity, IClientSessionHandle)
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>.TryAddAsync(SupportCaseEntity, IClientSessionHandle)
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>.AddOrReplaceAsync(SupportCaseEntity, IClientSessionHandle)
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>.ReplaceOneAsync(SupportCaseEntity, OneOption<SupportCaseEntity>, IClientSessionHandle)
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>.ReplaceOneAsync(SupportCaseEntity, FilterDefinition<SupportCaseEntity>, OneOption<SupportCaseEntity>, IClientSessionHandle)
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>.UpdateOneAsync(ObjectId, UpdateDefinition<SupportCaseEntity>, IClientSessionHandle)
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>.UpdateOneAsync(FilterDefinition<SupportCaseEntity>, UpdateDefinition<SupportCaseEntity>, OneOption<SupportCaseEntity>, IClientSessionHandle)
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>.UpdateManyAsync(FilterDefinition<SupportCaseEntity>, UpdateDefinition<SupportCaseEntity>, IClientSessionHandle)
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>.DeleteOneAsync(ObjectId, IClientSessionHandle)
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>.DeleteOneAsync(FilterDefinition<SupportCaseEntity>, OneOption<SupportCaseEntity>, IClientSessionHandle)
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>.DeleteManyAsync(FilterDefinition<SupportCaseEntity>, IClientSessionHandle)
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>.GetCollection()
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>.DropCollectionAsync()
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>.GetDirtyAsync()
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>.GetFailedIndices()
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>.DropEmptyAsync(IMongoCollection<SupportCaseEntity>)
DiskRepositoryCollectionBase<SupportCaseEntity, ObjectId>.FetchSize
RepositoryCollectionBase<SupportCaseEntity, ObjectId>._mongoDbServiceFactory
RepositoryCollectionBase<SupportCaseEntity, ObjectId>._logger
RepositoryCollectionBase<SupportCaseEntity, ObjectId>._databaseContext
RepositoryCollectionBase<SupportCaseEntity, ObjectId>._mongoDbService
RepositoryCollectionBase<SupportCaseEntity, ObjectId>.InitAsync(IMongoCollection<SupportCaseEntity>)
RepositoryCollectionBase<SupportCaseEntity, ObjectId>.ProtectedCollectionName
RepositoryCollectionBase<SupportCaseEntity, ObjectId>.CollectionName
RepositoryCollectionBase<SupportCaseEntity, ObjectId>.DatabasePart
RepositoryCollectionBase<SupportCaseEntity, ObjectId>.ConfigurationName
RepositoryCollectionBase<SupportCaseEntity, ObjectId>.AutoClean
RepositoryCollectionBase<SupportCaseEntity, ObjectId>.CleanOnStartup
RepositoryCollectionBase<SupportCaseEntity, ObjectId>.CreateCollectionStrategy
RepositoryCollectionBase<SupportCaseEntity, ObjectId>.Indices
RepositoryCollectionBase<SupportCaseEntity, ObjectId>.CoreIndices
RepositoryCollectionBase<SupportCaseEntity, ObjectId>.Types
RepositoryCollectionBase.ConfigurationName
RepositoryCollectionBase.ActionEvent

Remarks

The team index is not unique and leads on TeamKey rather than on the case id, because every read is scoped by team — a case id alone never identifies a case. The case index is unique on the pair for the same reason: two teams may not share one case id, and a lookup that forgot the team would otherwise still find something.

Constructors

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

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

Parameters

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

Properties

CollectionName

public override string CollectionName { get; }

Property Value

string

Indices

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

Property Value

IEnumerable<CreateIndexModel<SupportCaseEntity>>