コード例 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CompositeUnitOfWorkDomainRepository{TUnitOfWork, TAggregateRoot1, TAggregateRoot2}"/> class.
        /// </summary>
        /// <param name="eventHandlerResolver">Event handler resolver for finding domain event handlers.</param>
        /// <param name="unitOfWorkEventHandlerResolver">Event handler resolver for finding unit-of-work domain event handlers.</param>
        /// <param name="unitOfWork">The Unit of Work context instance.</param>
        protected CompositeUnitOfWorkDomainRepository(IDomainEventHandlerResolver eventHandlerResolver, IUnitOfWorkDomainEventHandlerResolver unitOfWorkEventHandlerResolver, TUnitOfWork unitOfWork)
        {
            if (unitOfWork == null)
            {
                throw new ArgumentNullException("unitOfWork");
            }

            this.unitOfWork             = unitOfWork;
            immediateEventBroker        = new DomainEventBroker(eventHandlerResolver);
            unitOfWorkDomainEventBroker = new UnitOfWorkDomainEventBroker <TUnitOfWork>(unitOfWorkEventHandlerResolver, unitOfWork);
        }
コード例 #2
0
        public void Setup()
        {
            domainEventHandler1 = Substitute.For<IDomainEventHandler<TestDomainEvent>>();
            domainEventHandler2 = Substitute.For<IDomainEventHandler<TestDomainEvent>>();
            domainEventHandler3 = Substitute.For<IDomainEventHandler<AnotherTestDomainEvent>>();
            asyncDomainEventHandler1 = Substitute.For<IAsyncDomainEventHandler<TestDomainEvent>>();
            asyncDomainEventHandler2 = Substitute.For<IAsyncDomainEventHandler<TestDomainEvent>>();
            asyncDomainEventHandler3 = Substitute.For<IAsyncDomainEventHandler<AnotherTestDomainEvent>>();

            resolver = Substitute.For<IDomainEventHandlerResolver>();
            resolver.ResolveEventHandlers<IDomainEventHandler<TestDomainEvent>>().Returns(new[] { domainEventHandler1, domainEventHandler2 });
            resolver.ResolveEventHandlers<IDomainEventHandler<TestDomainEvent>>().Returns(new[] { domainEventHandler1, domainEventHandler2 });
            resolver.ResolveEventHandlers<IDomainEventHandler<AnotherTestDomainEvent>>().Returns(new[] { domainEventHandler3 });
            resolver.ResolveEventHandlers<IAsyncDomainEventHandler<TestDomainEvent>>().Returns(new[] { asyncDomainEventHandler1, asyncDomainEventHandler2 });
            resolver.ResolveEventHandlers<IAsyncDomainEventHandler<TestDomainEvent>>().Returns(new[] { asyncDomainEventHandler1, asyncDomainEventHandler2 });
            resolver.ResolveEventHandlers<IAsyncDomainEventHandler<AnotherTestDomainEvent>>().Returns(new[] { asyncDomainEventHandler3 });

            sut = new DomainEventBroker(resolver);
        }
コード例 #3
0
        public void Setup()
        {
            domainEventHandler1      = Substitute.For <IDomainEventHandler <TestDomainEvent> >();
            domainEventHandler2      = Substitute.For <IDomainEventHandler <TestDomainEvent> >();
            domainEventHandler3      = Substitute.For <IDomainEventHandler <AnotherTestDomainEvent> >();
            asyncDomainEventHandler1 = Substitute.For <IAsyncDomainEventHandler <TestDomainEvent> >();
            asyncDomainEventHandler2 = Substitute.For <IAsyncDomainEventHandler <TestDomainEvent> >();
            asyncDomainEventHandler3 = Substitute.For <IAsyncDomainEventHandler <AnotherTestDomainEvent> >();

            resolver = Substitute.For <IDomainEventHandlerResolver>();
            resolver.ResolveEventHandlers <IDomainEventHandler <TestDomainEvent> >().Returns(new[] { domainEventHandler1, domainEventHandler2 });
            resolver.ResolveEventHandlers <IDomainEventHandler <TestDomainEvent> >().Returns(new[] { domainEventHandler1, domainEventHandler2 });
            resolver.ResolveEventHandlers <IDomainEventHandler <AnotherTestDomainEvent> >().Returns(new[] { domainEventHandler3 });
            resolver.ResolveEventHandlers <IAsyncDomainEventHandler <TestDomainEvent> >().Returns(new[] { asyncDomainEventHandler1, asyncDomainEventHandler2 });
            resolver.ResolveEventHandlers <IAsyncDomainEventHandler <TestDomainEvent> >().Returns(new[] { asyncDomainEventHandler1, asyncDomainEventHandler2 });
            resolver.ResolveEventHandlers <IAsyncDomainEventHandler <AnotherTestDomainEvent> >().Returns(new[] { asyncDomainEventHandler3 });

            sut = new DomainEventBroker(resolver);
        }
コード例 #4
0
 public SourcererFactory Abracadabra()
 {
     var domainEventBroker = new DomainEventBroker(DependencyResolver);
     return new SourcererFactory(FactStore, domainEventBroker, Clock);
 }