public decimal RunQueryWithPipeline()
        {
            var pipelineService = new DefaultMessagePipelineService();

            pipelineService.PipelineContainer.AddQueryPipeline()
            .AddMiddleware(new Queries.PipelineMiddlewares.QueryObjectResolverMiddleware
            {
                UseInternalObjectResolver = true
            })
            .AddMiddleware(new Queries.PipelineMiddlewares.QueryExecutorMiddleware());
            decimal result = 0;

            for (int i = 0; i < NumberOfInterations; i++)
            {
                result += pipelineService.Query <MathQueryHandlers>().With(q => q.Sum(2, 3));
            }
            return(result);
        }
Ejemplo n.º 2
0
        private static void Test()
        {
            var pipelineService = new DefaultMessagePipelineService();

            pipelineService.ServiceProvider   = new FuncServiceProvider(Resolver);
            pipelineService.PipelineContainer = new DefaultMessagePipelineContainer
            {
                Pipelines = new IMessagePipeline[]
                {
                    CommandPipeline,
                    QueryPipeline,
                    EventPipeline
                }
            };

            // Command.
            pipelineService.HandleCommand(new UpdateProductCommand
            {
                ProductId = 10,
                Name      = "Test",
            });
            Console.WriteLine(inMemoryMessageRepository.Dump());
            inMemoryMessageRepository.Messages.Clear();

            // Query.
            var list = pipelineService.Query <ProductsQueries>().With(q => q.Get(0, 10));

            Console.WriteLine(inMemoryMessageRepository.Dump());
            inMemoryMessageRepository.Messages.Clear();

            // Event.
            pipelineService.RaiseEvent(new UpdateProductEvent {
                Id = 1
            });
            Console.WriteLine(inMemoryMessageRepository.Dump());
            inMemoryMessageRepository.Messages.Clear();
        }