コード例 #1
0
 public Dispatcher(ICommandSenderAsync commandSenderAsync, IEventPublisherAsync eventPublisherAsync,
                   IQueryProcessorAsync queryProcessorAsync)
 {
     this.commandSenderAsync  = commandSenderAsync;
     this.eventPublisherAsync = eventPublisherAsync;
     this.queryProcessorAsync = queryProcessorAsync;
 }
コード例 #2
0
 public Dispatcher(ICommandSenderAsync commandSenderAsync,
                   ICommandSender commandSender,
                   IEventPublisherAsync eventPublisherAsync,
                   IEventPublisher eventPublisher,
                   IQueryProcessorAsync queryProcessorAsync,
                   IQueryProcessor queryProcessor)
 {
     _commandSenderAsync  = commandSenderAsync;
     _commandSender       = commandSender;
     _eventPublisherAsync = eventPublisherAsync;
     _eventPublisher      = eventPublisher;
     _queryProcessorAsync = queryProcessorAsync;
     _queryProcessor      = queryProcessor;
 }
コード例 #3
0
 public Mediator(ICommandSenderAsync commandSenderAsync,
                 ICommandSender commandSender,
                 IEventPublisherAsync eventPublisherAsync,
                 IEventPublisher eventPublisher,
                 IQueryDispatcherAsync queryDispatcherAsync,
                 IQueryDispatcher queryDispatcher)
 {
     _commandSenderAsync   = commandSenderAsync;
     _commandSender        = commandSender;
     _eventPublisherAsync  = eventPublisherAsync;
     _eventPublisher       = eventPublisher;
     _queryDispatcherAsync = queryDispatcherAsync;
     _queryDispatcher      = queryDispatcher;
 }
コード例 #4
0
        public void SetUp()
        {
            _createSomething          = new CreateSomething();
            _somethingCreated         = new SomethingCreated();
            _somethingCreatedConcrete = new SomethingCreated();
            _events = new List <IEvent> {
                _somethingCreated
            };

            _createAggregate          = new CreateAggregate();
            _aggregateCreatedConcrete = new AggregateCreated();
            _aggregate        = new Aggregate();
            _aggregateCreated = (AggregateCreated)_aggregate.Events[0];

            _eventPublisher = new Mock <IEventPublisherAsync>();
            _eventPublisher
            .Setup(x => x.PublishAsync(_somethingCreatedConcrete))
            .Returns(Task.CompletedTask);
            _eventPublisher
            .Setup(x => x.PublishAsync(_aggregateCreatedConcrete))
            .Returns(Task.CompletedTask);

            _eventStore = new Mock <IEventStore>();
            _eventStore
            .Setup(x => x.SaveEventAsync <Aggregate>(_aggregateCreatedConcrete))
            .Returns(Task.CompletedTask);

            _eventFactory = new Mock <IEventFactory>();
            _eventFactory
            .Setup(x => x.CreateConcreteEvent(_somethingCreated))
            .Returns(_somethingCreatedConcrete);
            _eventFactory
            .Setup(x => x.CreateConcreteEvent(_aggregateCreated))
            .Returns(_aggregateCreatedConcrete);

            _commandHandlerAsync = new Mock <ICommandHandlerAsync <CreateSomething> >();
            _commandHandlerAsync
            .Setup(x => x.HandleAsync(_createSomething))
            .Returns(Task.CompletedTask);

            _commandHandlerWithEventsAsync = new Mock <ICommandHandlerWithEventsAsync <CreateSomething> >();
            _commandHandlerWithEventsAsync
            .Setup(x => x.HandleAsync(_createSomething))
            .ReturnsAsync(_events);

            _commandHandlerWithAggregateAsync = new Mock <ICommandHandlerWithAggregateAsync <CreateAggregate> >();
            _commandHandlerWithAggregateAsync
            .Setup(x => x.HandleAsync(_createAggregate))
            .ReturnsAsync(_aggregate);

            _resolver = new Mock <IResolver>();
            _resolver
            .Setup(x => x.Resolve <ICommandHandlerAsync <CreateSomething> >())
            .Returns(_commandHandlerAsync.Object);
            _resolver
            .Setup(x => x.Resolve <ICommandHandlerWithEventsAsync <CreateSomething> >())
            .Returns(_commandHandlerWithEventsAsync.Object);
            _resolver
            .Setup(x => x.Resolve <ICommandHandlerWithAggregateAsync <CreateAggregate> >())
            .Returns(_commandHandlerWithAggregateAsync.Object);

            _sut = new CommandSenderAsync(_resolver.Object, _eventPublisher.Object, _eventFactory.Object, _eventStore.Object);
        }
コード例 #5
0
 public CoachController(ICommandSenderAsync commandSender, IQueryDispatcherAsync queryDispatcher)
 {
     this.commandSender   = commandSender;
     this.queryDispatcher = queryDispatcher;
 }