Class MembershipChangeProcessor
- Namespace
- InSite.Application.Contacts.Read
- Assembly
- Shift.Sdk.dll
Implements the processor for Membership changes.
public class MembershipChangeProcessor
- Inheritance
-
MembershipChangeProcessor
- 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 come from many aggregates). Some states will have side effects, such as sending commands, talking to external web services, or sending emails.
Constructors
MembershipChangeProcessor(ICommander, IChangeQueue, IContactSearch, IGroupSearch, IMembershipSearch, IInvoiceSearch, IAlertMailer, Urls, Func<Guid, int>)
public MembershipChangeProcessor(ICommander commander, IChangeQueue publisher, IContactSearch users, IGroupSearch groups, IMembershipSearch memberships, IInvoiceSearch invoices, IAlertMailer mailer, Urls urls, Func<Guid, int> generateInvoiceNumber)
Parameters
commanderICommanderpublisherIChangeQueueusersIContactSearchgroupsIGroupSearchmembershipsIMembershipSearchinvoicesIInvoiceSearchmailerIAlertMailerurlsUrlsgenerateInvoiceNumberFunc<Guid, int>