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.Akka.Domain.AkkaSaga< TAuthenticationToken > Class Template Reference

A ISaga<TAuthenticationToken> that is safe to use within Akka.NET More...

+ Inheritance diagram for Cqrs.Akka.Domain.AkkaSaga< TAuthenticationToken >:

Public Member Functions

virtual IEnumerable< ISagaEvent< TAuthenticationToken > > GetUncommittedChanges ()
 Get all applied changes that haven't yet been committed. More...
 
virtual void MarkChangesAsCommitted ()
 Mark all applied changes as committed, increment Version and flush the internal collection of changes. More...
 
virtual void LoadFromHistory (IEnumerable< ISagaEvent< TAuthenticationToken >> history)
 Apply all the events in history using event replay to this instance. More...
 
virtual IEnumerable< ICommand< TAuthenticationToken > > GetUnpublishedCommands ()
 Get all pending commands that haven't yet been published yet. More...
 
virtual void MarkCommandsAsPublished ()
 Mark all published commands as published and flush the internal collection of commands. More...
 

Protected Member Functions

 AkkaSaga (ISagaUnitOfWork< TAuthenticationToken > unitOfWork, ILogger logger, IAkkaSagaRepository< TAuthenticationToken > repository, ICorrelationIdHelper correlationIdHelper, IAuthenticationTokenHelper< TAuthenticationToken > authenticationTokenHelper, ICommandPublisher< TAuthenticationToken > commandPublisher)
 Instantiates a new instance of AkkaSaga<TAuthenticationToken> More...
 
override void PreStart ()
 User overridable callback. Is called when an Actor is started. Actors are automatically started asynchronously when created. Empty default implementation. More...
 
virtual void Execute< TEvent > (Action< TEvent > action, TEvent @event)
 Executes the provided action passing it the provided event , then calls AggregateRepository<TAuthenticationToken>.PublishEvent More...
 
virtual void QueueCommand (ICommand< TAuthenticationToken > command)
 Queue the provided command for publishing. More...
 
virtual void ApplyChange (ISagaEvent< TAuthenticationToken > @event)
 Call the "Apply" method with a signature matching the provided event without using event replay to this instance. More...
 
virtual void ApplyChange (IEvent< TAuthenticationToken > @event)
 Calls SetId, then ApplyChange(Cqrs.Events.ISagaEvent<TAuthenticationToken>). More...
 
virtual void SetId (ISagaEvent< TAuthenticationToken > sagaEvent)
 Sets the IEvent<TAuthenticationToken>.Id from ISagaEvent<TAuthenticationToken>.Event back onto sagaEvent . More...
 
virtual void Apply (ISagaEvent< TAuthenticationToken > sagaEvent)
 Dynamically calls the "Apply" method, passing it the ISagaEvent<TAuthenticationToken>.Event of the provided sagaEvent . More...
 

Properties

ISagaUnitOfWork< TAuthenticationToken > UnitOfWork [get, set]
 Gets or sets the ISagaUnitOfWork<TAuthenticationToken>. More...
 
IAkkaSagaRepository< TAuthenticationToken > Repository [get, set]
 Gets or sets the IAkkaSagaRepository<TAuthenticationToken>. More...
 
ILogger Logger [get, set]
 Gets or sets the ILogger. More...
 
ICorrelationIdHelper CorrelationIdHelper [get, set]
 Gets or sets the ICorrelationIdHelper. More...
 
IAuthenticationTokenHelper< TAuthenticationToken > AuthenticationTokenHelper [get, set]
 Gets or sets the IAuthenticationTokenHelper<TAuthenticationToken>. More...
 
Guid Id [get, protected set]
 The identifier of the ISaga<TAuthenticationToken>. More...
 
int Version [get, protected set]
 The current version of this ISaga<TAuthenticationToken>. More...
 
ICommandPublisher< TAuthenticationToken > CommandPublisher [get, set]
 Gets or sets the ICommandPublisher<TAuthenticationToken>. More...
 
- Properties inherited from Cqrs.Domain.ISaga< TAuthenticationToken >
Guid Id [get]
 The identifier of the ISaga<TAuthenticationToken>. More...
 
int Version [get]
 The current version of this ISaga<TAuthenticationToken>. More...
 

Detailed Description

A ISaga<TAuthenticationToken> that is safe to use within Akka.NET

Template Parameters
TAuthenticationTokenThe Type of authentication token.