Exemplo n.º 1
0
        public static INeedAQueryContext SimpleInjectorHandlers(this INeedHandlers handlerBuilder, Container container, Action <HandlerSettings> settings = null)
        {
            if (container == null)
            {
                throw new ArgumentNullException(nameof(container));
            }

            var factory         = new SimpleInjectorHandlerFactory(container);
            var registry        = new SimpleInjectorHandlerRegistry(container);
            var handlerSettings = new HandlerSettings(registry);

            settings?.Invoke(handlerSettings);

            return(handlerBuilder.Handlers(registry, factory, registry, factory));
        }
Exemplo n.º 2
0
        public static INeedAQueryContext LightInjectHandlers(this INeedHandlers handlerBuilder, ServiceContainer container, Action <HandlerSettings> settings)
        {
            if (container == null)
            {
                throw new ArgumentNullException(nameof(container));
            }
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            var factory         = new LightInjectHandlerFactory(container);
            var handlerRegistry = new QueryHandlerRegistry();

            var handlerSettings = new HandlerSettings(container, handlerRegistry);

            settings(handlerSettings);

            var handlerConfiguration = new HandlerConfiguration(handlerRegistry, factory);

            return(handlerBuilder.Handlers(handlerConfiguration));
        }