CQRS.NET  4.0
A lightweight enterprise Function as a Service (FaaS) framework to write function based serverless and micro-service applications in hybrid multi-datacentre, on-premise and Azure environments.
Cqrs.MongoDB.Events.MongoDbEventStore< TAuthenticationToken > Class Template Reference

A MongoDB based EventStore<TAuthenticationToken>. More...

+ Inheritance diagram for Cqrs.MongoDB.Events.MongoDbEventStore< TAuthenticationToken >:

Public Member Functions

 MongoDbEventStore (IEventBuilder< TAuthenticationToken > eventBuilder, IEventDeserialiser< TAuthenticationToken > eventDeserialiser, ILogger logger, IMongoDbEventStoreConnectionStringFactory mongoDbEventStoreConnectionStringFactory, IConfigurationManager configurationManager)
 Instantiate a new instance of MongoDbEventStore<TAuthenticationToken> triggering any require index checks. More...
 
override IEnumerable< IEvent< TAuthenticationToken > > Get (Type aggregateRootType, Guid aggregateId, bool useLastEventOnly=false, int fromVersion=-1)
 Gets a collection of IEvent<TAuthenticationToken> for the IAggregateRoot<TAuthenticationToken> of type aggregateRootType with the ID matching the provided aggregateId . More...
 
override IEnumerable< IEvent< TAuthenticationToken > > GetToVersion (Type aggregateRootType, Guid aggregateId, int version)
 Gets a collection of IEvent<TAuthenticationToken> for the IAggregateRoot<TAuthenticationToken> of type aggregateRootType with the ID matching the provided aggregateId up to and including the provided version . More...
 
override IEnumerable< IEvent< TAuthenticationToken > > GetToDate (Type aggregateRootType, Guid aggregateId, DateTime versionedDate)
 Gets a collection of IEvent<TAuthenticationToken> for the IAggregateRoot<TAuthenticationToken> of type aggregateRootType with the ID matching the provided aggregateId up to and including the provided versionedDate . More...
 
override IEnumerable< IEvent< TAuthenticationToken > > GetBetweenDates (Type aggregateRootType, Guid aggregateId, DateTime fromVersionedDate, DateTime toVersionedDate)
 Gets a collection of IEvent<TAuthenticationToken> for the IAggregateRoot<TAuthenticationToken> of type aggregateRootType with the ID matching the provided aggregateId from and including the provided fromVersionedDate up to and including the provided toVersionedDate . More...
 
override IEnumerable< EventDataGet (Guid correlationId)
 Get all IEvent<TAuthenticationToken> instances for the given correlationId . More...
 
- Public Member Functions inherited from Cqrs.Events.EventStore< TAuthenticationToken >
virtual void Save< T > (IEvent< TAuthenticationToken > @event)
 Saves the provided event . More...
 
virtual void Save (Type aggregateRootType, IEvent< TAuthenticationToken > @event)
 Saves the provided event . More...
 
virtual IEnumerable< IEvent< TAuthenticationToken > > Get< T > (Guid aggregateId, bool useLastEventOnly=false, int fromVersion=-1)
 Gets a collection of IEvent<TAuthenticationToken> for the T aggregate root with the ID matching the provided aggregateId . More...
 
virtual IEnumerable< IEvent< TAuthenticationToken > > GetToVersion< T > (Guid aggregateId, int version)
 Gets a collection of IEvent<TAuthenticationToken> for the T aggregate root with the ID matching the provided aggregateId up to and including the provided version . More...
 
virtual IEnumerable< IEvent< TAuthenticationToken > > GetToDate< T > (Guid aggregateId, DateTime versionedDate)
 Gets a collection of IEvent<TAuthenticationToken> for the T aggregate root with the ID matching the provided aggregateId up to and including the provided versionedDate . More...
 
virtual IEnumerable< IEvent< TAuthenticationToken > > GetBetweenDates< T > (Guid aggregateId, DateTime fromVersionedDate, DateTime toVersionedDate)
 Gets a collection of IEvent<TAuthenticationToken> for the T aggregate root with the ID matching the provided aggregateId from and including the provided fromVersionedDate up to and including the provided toVersionedDate . More...
 

Protected Member Functions

virtual IMongoCollection< MongoDbEventDataGetCollection ()
 Get a IMongoCollection<TDocument> More...
 
virtual void VerifyIndexes ()
 Verify all required MongoDbIndex<TEntity> are defined and ready to go. More...
 
virtual void VerifyIndex (MongoDbIndex< MongoDbEventData > mongoIndex)
 Verify the provided mongoIndex is defined and ready to go. More...
 
override void PersistEvent (EventData eventData)
 Persist the provided eventData into storage. More...
 
- Protected Member Functions inherited from Cqrs.Events.EventStore< TAuthenticationToken >
 EventStore (IEventBuilder< TAuthenticationToken > eventBuilder, IEventDeserialiser< TAuthenticationToken > eventDeserialiser, ILogger logger)
 Instantiates a new instance of EventStore<TAuthenticationToken>. More...
 
virtual string GenerateStreamName (Type aggregateRootType, IEvent< TAuthenticationToken > @event)
 Generate a unique stream name based on the provided aggregateRootType and the IEvent<TAuthenticationToken>.Id from the provided event . More...
 
virtual string GenerateStreamName (Type aggregateRootType, Guid aggregateId)
 Generate a unique stream name based on the provided aggregateRootType and the aggregateId . More...
 

Properties

IMongoCollection< MongoDbEventDataMongoCollection [get]
 Gets or sets the IMongoCollection<TData> More...
 
IMongoDbEventStoreConnectionStringFactory MongoDbEventStoreConnectionStringFactory [get]
 Gets or sets the IMongoDbEventStoreConnectionStringFactory More...
 
IConfigurationManager ConfigurationManager [get]
 Gets or sets the IConfigurationManager More...
 
- Properties inherited from Cqrs.Events.EventStore< TAuthenticationToken >
IEventBuilder< TAuthenticationToken > EventBuilder [get, set]
 The IEventBuilder<TAuthenticationToken> used to build events. More...
 
IEventDeserialiser< TAuthenticationToken > EventDeserialiser [get, set]
 The IEventDeserialiser<TAuthenticationToken> used to deserialise events. More...
 
ITelemetryHelper TelemetryHelper [get, set]
 The ITelemetryHelper to use. More...
 
ILogger Logger [get]
 The ILogger to use. More...
 

Additional Inherited Members

- Static Protected Attributes inherited from Cqrs.Events.EventStore< TAuthenticationToken >
const string CqrsEventStoreStreamNamePattern = "{0}/{1}"
 The pattern used to generate the stream name. More...
 

Detailed Description

A MongoDB based EventStore<TAuthenticationToken>.

Template Parameters
TAuthenticationTokenThe Type of the authentication token.