예제 #1
0
            private MockDependencyResolver()
            {
                ContextFactory       = new ThreadedContextItemCollectionFactory();
                CorrelationIdHelper  = new CorrelationIdHelper((ThreadedContextItemCollectionFactory)ContextFactory);
                ConfigurationManager = new ConfigurationManager();
                Logger     = new TraceLogger(new LoggerSettings(), CorrelationIdHelper);
                EventStore = EventStoreCreator(this);

                Bus = new InProcessBus <TAuthenticationToken>
                      (
                    (IAuthenticationTokenHelper <TAuthenticationToken>) new DefaultAuthenticationTokenHelper(ContextFactory),
                    CorrelationIdHelper,
                    this,
                    Logger,
                    ConfigurationManager,
                    new BusHelper(ConfigurationManager, ContextFactory)
                      );

                AggregateRepository = new AggregateRepository <TAuthenticationToken>
                                      (
                    new AggregateFactory(this, Logger),
                    EventStore,
                    Bus,
                    CorrelationIdHelper,
                    ConfigurationManager
                                      );
                SnapshotAggregateRepository = new SnapshotRepository <TAuthenticationToken>
                                              (
                    new SqlSnapshotStore(ConfigurationManager, new SnapshotDeserialiser(), Logger, CorrelationIdHelper, new DefaultSnapshotBuilder()),
                    new DefaultSnapshotStrategy <TAuthenticationToken>(),
                    AggregateRepository,
                    EventStore,
                    new AggregateFactory(this, Logger)
                                              );
            }
예제 #2
0
        /// <summary>
        /// Instantiates a new instance of <see cref="UnitOfWork{TAuthenticationToken}"/>
        /// </summary>
        public UnitOfWork(ISnapshotAggregateRepository <TAuthenticationToken> snapshotRepository, IAggregateRepository <TAuthenticationToken> repository)
            : this(repository)
        {
            if (snapshotRepository == null)
            {
                throw new ArgumentNullException("snapshotRepository");
            }

            SnapshotRepository = snapshotRepository;
        }