示例#1
0
        public TestApplication(IDbContextFactoryMethod <ModelDbContext> dbContextFactoryMethod,
                               ObservableEventPublisher observableEventPublisher, BusObserverAdapter <IEvent> busObserverAdapter,
                               ICommandHandler <CreateAccountCommand> createAccountCommandHandler,
                               ICommandHandler <CreateDepositCommand> createDepositCommandHandler,
                               IEventHandler <CreateAccountEvent> createAccountEventHandler,
                               IEventHandler <CreateDepositEvent> createDepositEventHandler,
                               IEventHandler <AddDepositToAccountEvent> addDepositToAccountEventHandler,
                               IHandlerFactoryMethod <IEvent> eventHandlerFactoryMethod,
                               IHandlerFactoryMethod <ICommand> commandHandlerFactoryMethod,
                               IBus <ICommand> commandBus,
                               IBus <IEvent> eventBus,
                               IService <AccountModel> accountModelService,
                               IService <DepositModel> depositModelService,
                               IService <AtmModel> atmModelService
                               )
            : base(observableEventPublisher, busObserverAdapter, createAccountCommandHandler, createDepositCommandHandler,
                   createAccountEventHandler, createDepositEventHandler, addDepositToAccountEventHandler,
                   eventHandlerFactoryMethod, commandHandlerFactoryMethod)
        {
            _dbContextFactoryMethod = dbContextFactoryMethod;
            _dbContextFactoryMethod.Create().Database.Delete();

            CommandBus          = commandBus;
            EventBus            = eventBus;
            AccountModelService = accountModelService;
            DepositModelService = depositModelService;
            AtmModelService     = atmModelService;
        }
示例#2
0
        public Application(ObservableEventPublisher observableEventPublisher,
                           BusObserverAdapter <IEvent> busObserverAdapter,
                           ICommandHandler <CreateAccountCommand> createAccountCommandHandler,
                           ICommandHandler <CreateDepositCommand> createDepositCommandHandler,
                           IEventHandler <CreateAccountEvent> createAccountEventHandler,
                           IEventHandler <CreateDepositEvent> createDepositEventHandler,
                           IEventHandler <AddDepositToAccountEvent> addDepositToAccountEventHandler,
                           IHandlerFactoryMethod <IEvent> eventHandlerFactoryMethod,
                           IHandlerFactoryMethod <ICommand> commandHandlerFactoryMethod)
        {
            eventHandlerFactoryMethod.AddHandler(createAccountEventHandler);
            eventHandlerFactoryMethod.AddHandler(createDepositEventHandler);
            eventHandlerFactoryMethod.AddHandler(addDepositToAccountEventHandler);

            commandHandlerFactoryMethod.AddHandler(createAccountCommandHandler);
            commandHandlerFactoryMethod.AddHandler(createDepositCommandHandler);

            observableEventPublisher.AddObserver(busObserverAdapter);
        }
示例#3
0
 public Bus(IHandlerFactoryMethod <T> factoryMethod, ICache <T> cache)
 {
     _factoryMethod = factoryMethod;
     _cache         = cache;
 }