Class ResponseChangeProjector
- Namespace
- InSite.Application.Surveys.Read
- Assembly
- Shift.Sdk.dll
Implements the process manager for Response events.
public class ResponseChangeProjector
- Inheritance
-
ResponseChangeProjector
- Inherited Members
- Extension Methods
Remarks
A process manager (sometimes called a saga in CQRS) is an independent component that reacts to domain events in a cross-aggregate, eventually consistent manner. Time can be a trigger. Process managers are sometimes purely reactive, and sometimes represent workflows. From an implementation perspective, a process manager is a state machine that is driven forward by incoming events (which may come from many aggregates). Some states will have side effects, such as sending commands, talking to external web services, or sending emails.
Constructors
ResponseChangeProjector(IChangeQueue, ISurveyStore)
public ResponseChangeProjector(IChangeQueue publisher, ISurveyStore store)
Parameters
publisherIChangeQueuestoreISurveyStore
Methods
Handle(ResponseAnswerAdded)
public void Handle(ResponseAnswerAdded e)
Parameters
Handle(ResponseAnswerChanged)
public void Handle(ResponseAnswerChanged e)
Parameters
Handle(ResponseGroupChanged)
public void Handle(ResponseGroupChanged e)
Parameters
Handle(ResponseOptionSelected)
public void Handle(ResponseOptionSelected e)
Parameters
Handle(ResponseOptionUnselected)
public void Handle(ResponseOptionUnselected e)
Parameters
Handle(ResponseOptionsAdded)
public void Handle(ResponseOptionsAdded e)
Parameters
Handle(ResponsePeriodChanged)
public void Handle(ResponsePeriodChanged e)
Parameters
Handle(ResponseSessionCompleted)
public void Handle(ResponseSessionCompleted e)
Parameters
Handle(ResponseSessionConfirmed)
public void Handle(ResponseSessionConfirmed e)
Parameters
Handle(ResponseSessionCreated)
public void Handle(ResponseSessionCreated e)
Parameters
Handle(ResponseSessionDeleted)
public void Handle(ResponseSessionDeleted e)
Parameters
Handle(ResponseSessionFormConsent)
public void Handle(ResponseSessionFormConsent e)
Parameters
Handle(ResponseSessionLocked)
public void Handle(ResponseSessionLocked e)
Parameters
Handle(ResponseSessionReviewed)
public void Handle(ResponseSessionReviewed e)
Parameters
Handle(ResponseSessionStarted)
public void Handle(ResponseSessionStarted e)
Parameters
Handle(ResponseSessionUnlocked)
public void Handle(ResponseSessionUnlocked e)
Parameters
Handle(ResponseUserChanged)
public void Handle(ResponseUserChanged e)
Parameters
Replay(IChangeStore, Action<string, int, int, Guid>, Guid?)
public void Replay(IChangeStore store, Action<string, int, int, Guid> progress, Guid? id)