Class GradebookChangeProcessor
- Namespace
- InSite.Application.Records.Read
- Assembly
- Shift.Sdk.dll
Implements the process manager for Gradebook changes.
public class GradebookChangeProcessor
- Inheritance
-
GradebookChangeProcessor
- Inherited Members
- Extension Methods
Remarks
A process manager (sometimes called a saga in CQRS) is an independent component that reacts to domain changes 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 changes (which may be published from many aggregates). Some states will have side effects, such as sending commands, talking to external web services, or sending emails.
Constructors
GradebookChangeProcessor(ICommander, IChangeQueue, IAlertMailer, Urls, IAchievementSearch, IBankSearch, IRecordSearch, ICourseObjectSearch, ICourseObjectStore, IMessageSearch, IContactSearch, IContentSearch, IProgramSearch, IProgramStore, IProgramService, IAggregateSearch)
public GradebookChangeProcessor(ICommander commander, IChangeQueue publisher, IAlertMailer mailer, Urls urls, IAchievementSearch achievements, IBankSearch banks, IRecordSearch records, ICourseObjectSearch courses, ICourseObjectStore courseStore, IMessageSearch messages, IContactSearch contacts, IContentSearch contents, IProgramSearch program, IProgramStore programStore, IProgramService programService, IAggregateSearch aggregateSearch)
Parameters
commanderICommanderpublisherIChangeQueuemailerIAlertMailerurlsUrlsachievementsIAchievementSearchbanksIBankSearchrecordsIRecordSearchcoursesICourseObjectSearchcourseStoreICourseObjectStoremessagesIMessageSearchcontactsIContactSearchcontentsIContentSearchprogramIProgramSearchprogramStoreIProgramStoreprogramServiceIProgramServiceaggregateSearchIAggregateSearch