コード例 #1
0
        public static SynchronousViewManagerEventDispatcherConfiguationBuilder UseSynchronousViewManangerEventDispatcher(
            this EventDispatcherConfigurationBuilder builder, params IViewManager[] viewManagers)
        {
            var viewManagerConfigurationContainer = new ConfigurationContainer();

            builder.UseEventDispatcher(context =>
            {
                var viewManagerContext = viewManagerConfigurationContainer.CreateContext();

                context.AddChildContext(viewManagerContext);

                var eventDispatcher = new SynchronousViewManagerEventDispatcher(
                    context.Get <IEventStore>(),
                    context.Get <IAggregateRootRepository>(),
                    context.Get <IDomainEventSerializer>(),
                    context.Get <IDomainTypeNameMapper>(),
                    viewManagers);

                var contextItems = viewManagerContext.GetOrDefault <IDictionary <string, object> >();
                if (contextItems != null)
                {
                    eventDispatcher.SetContextItems(contextItems);
                }

                return(eventDispatcher);
            });

            return(new SynchronousViewManagerEventDispatcherConfiguationBuilder(viewManagerConfigurationContainer));
        }
コード例 #2
0
        public TestContext Create()
        {
            FillInDefaults();

            var resolutionContext = _container.CreateContext();

            var eventStore = resolutionContext.Get <InMemoryEventStore>();
            var aggregateRootRepository = resolutionContext.Get <IAggregateRootRepository>();
            var eventDispatcher         = resolutionContext.Get <IEventDispatcher>();
            var serializer       = resolutionContext.Get <IDomainEventSerializer>();
            var commandMapper    = resolutionContext.Get <ICommandMapper>();
            var domainTypeMapper = resolutionContext.Get <IDomainTypeNameMapper>();

            var testContext = new TestContext(eventStore, aggregateRootRepository, eventDispatcher, serializer, commandMapper, domainTypeMapper);

            testContext.Disposed += resolutionContext.Dispose;

            resolutionContext
            .GetAll <Action <TestContext> >().ToList()
            .ForEach(action => action(testContext));

            testContext.Initialize();

            return(testContext);
        }
コード例 #3
0
        public static SynchronousViewManagerEventDispatcherConfiguationBuilder UseSynchronousViewManangerEventDispatcher(
            this EventDispatcherConfigurationBuilder builder, params IViewManager[] viewManagers)
        {
            var viewManagerConfigurationContainer = new ConfigurationContainer();

            builder.UseEventDispatcher(context =>
            {
                var viewManagerContext = viewManagerConfigurationContainer.CreateContext();

                context.AddChildContext(viewManagerContext);

                var eventDispatcher = new SynchronousViewManagerEventDispatcher(
                    context.Get<IAggregateRootRepository>(),
                    context.Get<IDomainEventSerializer>(),
                    context.Get<IDomainTypeNameMapper>(),
                    viewManagers);

                var contextItems = viewManagerContext.GetOrDefault<IDictionary<string, object>>();
                if (contextItems != null)
                {
                    eventDispatcher.SetContextItems(contextItems);
                }

                return eventDispatcher;
            });

            return new SynchronousViewManagerEventDispatcherConfiguationBuilder(viewManagerConfigurationContainer);
        }
コード例 #4
0
 public void ThrowsWhenNoResolverIsPresent()
 {
     Assert.Throws <ResolutionException>(() => _container.CreateContext().Get <string>());
 }