예제 #1
0
        public UmbrellaProcessManager(ICommandQueue commander, IEventQueue publisher, IQuerySearch querySearch)
        {
            _querySearch = querySearch;

            publisher.Subscribe <TransferStarted>(Handle);
            commander.Override <RenamePerson>(Handle, Tenants.Umbrella.Identifier);
        }
예제 #2
0
        public TransferEventSubscriber(IEventQueue queue, IQueryStore store, IQuerySearch search)
        {
            queue.Subscribe <TransferStarted>(Handle);
            queue.Subscribe <TransferUpdated>(Handle);
            queue.Subscribe <TransferCompleted>(Handle);

            _store  = store;
            _search = search;
        }
예제 #3
0
        public UserRegistrationProcessManager(ICommandQueue commander, IEventQueue publisher, IQuerySearch querySearch)
        {
            _commander   = commander;
            _querySearch = querySearch;

            publisher.Subscribe <UserRegistrationStarted>(Handle);
            publisher.Subscribe <UserRegistrationSucceeded>(Handle);
            publisher.Subscribe <UserRegistrationFailed>(Handle);
        }
예제 #4
0
        public AccountEventSubscriber(IEventQueue queue, IQueryStore store, IQuerySearch search)
        {
            queue.Subscribe <AccountOpened>(Handle);
            queue.Subscribe <AccountClosed>(Handle);
            queue.Subscribe <MoneyDeposited>(Handle);
            queue.Subscribe <MoneyWithdrawn>(Handle);

            _store  = store;
            _search = search;
        }
예제 #5
0
        public static void InitializeApplication(string databaseConnectionString)
        {
            // Register query store and search services.

            QueryStore  = new QueryStore(databaseConnectionString);
            QuerySearch = new QuerySearch(databaseConnectionString);

            // Register subscribers for application commands and domain events.

            _ = new AccountCommandSubscriber(CommandQueue, EventQueue, SnapshotRepository);
            _ = new AccountEventSubscriber(EventQueue, QueryStore, QuerySearch);

            _ = new PersonCommandSubscriber(CommandQueue, EventQueue, SnapshotRepository);
            _ = new PersonEventSubscriber(EventQueue, QueryStore);

            _ = new TransferCommandSubscriber(CommandQueue, EventQueue, SnapshotRepository);
            _ = new TransferEventSubscriber(EventQueue, QueryStore, QuerySearch);
            _ = new TransferProcessManager(CommandQueue, EventQueue, SnapshotRepository);

            _ = new UserCommandSubscriber(CommandQueue, EventQueue, SnapshotRepository);
            _ = new UserEventSubscriber(EventQueue, QueryStore);
            _ = new UserRegistrationProcessManager(CommandQueue, EventQueue, QuerySearch);
        }
예제 #6
0
 public Test04(ICommandQueue commander, IQuerySearch querySearch)
 {
     _commander   = commander;
     _querySearch = querySearch;
 }