Table of Contents

Class CourseObjectChangeProcessor

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

Implements the process manager for Course events.

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

CourseObjectChangeProcessor(ICommander, IChangeQueue, IProgressRestarter)

public CourseObjectChangeProcessor(ICommander commander, IChangeQueue publisher, IProgressRestarter restarter)

Parameters

commander ICommander
publisher IChangeQueue
restarter IProgressRestarter

Methods

EnsureEnrollment(Action<ICommand>, IRecordSearch, Guid, Guid, DateTimeOffset?)

public static void EnsureEnrollment(Action<ICommand> send, IRecordSearch records, Guid gradebook, Guid learner, DateTimeOffset? time)

Parameters

send Action<ICommand>
records IRecordSearch
gradebook Guid
learner Guid
time DateTimeOffset?

Handle(CourseEnrollmentRestarted)

public void Handle(CourseEnrollmentRestarted @event)

Parameters

event CourseEnrollmentRestarted