Table of Contents

Class EventChangeProcessor

Namespace
InSite.Application.Events.Read
Assembly
Shift.Sdk.dll

Implements the process manager for Event changes.

public class EventChangeProcessor
Inheritance
EventChangeProcessor
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

EventChangeProcessor(ICommander, IChangeQueue, IAlertMailer, IContactSearch, IEventSearch, IRegistrationSearch, IRecordSearch)

public EventChangeProcessor(ICommander commander, IChangeQueue publisher, IAlertMailer mailer, IContactSearch contacts, IEventSearch events, IRegistrationSearch registrations, IRecordSearch recordSearch)

Parameters

commander ICommander
publisher IChangeQueue
mailer IAlertMailer
contacts IContactSearch
events IEventSearch
registrations IRegistrationSearch
recordSearch IRecordSearch

Methods

Handle(EventCancelled)

When an event is cancelled, related registrations may be cancelled also. Automatic cancellation of related registrations is optional; the EventCancelled change has a property to indicate whether or not this is expected by the invoker.

public void Handle(EventCancelled c)

Parameters

c EventCancelled

Handle(EventDeleted)

When an activity is voided, all related registrations must be voided and all references from Gradebooks too.

public void Handle(EventDeleted c)

Parameters

c EventDeleted

Handle(EventTimerElapsed)

public void Handle(EventTimerElapsed c)

Parameters

c EventTimerElapsed

Handle(EventVenueChanged2)

public void Handle(EventVenueChanged2 c)

Parameters

c EventVenueChanged2