public void RebuildProjectionsWithCustomTake()
        {
            CanGetAggregateRoot();
            var projectionManager = new ProjectionManager(new MemoryProjectionFactory(typeof(AccountProjection)));

            var projectionCatalog = new ProjectionCatalog();

            projectionCatalog.Add(new ProjectionEntry(typeof(AccountAggregateRoot), typeof(AccountProjection), projectionManager));

            var projectionDispatcher = new ProjectionDispatcher(new ProjectionManagerFactory(projectionCatalog));

            var initializer = new ProjectionInitializer <AccountAggregateRoot>(EventStore, projectionDispatcher);

            initializer.Initialize(500);
        }
        public void RebuildProjectionsAsync()
        {
            CanGetAggregateRoot();
            var projectionManager = new ProjectionManager(new MemoryProjectionFactory(typeof(AccountProjection)));

            var projectionCatalog = new ProjectionCatalog();

            projectionCatalog.Add(new ProjectionEntry(typeof(AccountAggregateRoot), typeof(AccountProjection), projectionManager));

            using (var projectionDispatcher = new QueueProjectionDispatcher(new ProjectionDispatcher(new ProjectionManagerFactory(projectionCatalog))))
            {
                var initializer = new ProjectionInitializer <AccountAggregateRoot>(EventStore, projectionDispatcher);
                initializer.InitializeAsync().Wait();

                projectionDispatcher.Wait();
            }
        }