ISagaQuery <TInstance> ISagaQueryFactory <TInstance, TData> .CreateQuery(ConsumeContext <TData> context)
        {
            Expression <Func <TInstance, bool> > filter = new EventCorrelationExpressionConverter <TInstance, TData>(context)
                                                          .Convert(_correlationExpression);

            return(new SagaQuery <TInstance>(filter));
        }
        bool ISagaQueryFactory <TInstance, TData> .TryCreateQuery(ConsumeContext <TData> context, out ISagaQuery <TInstance> query)
        {
            Expression <Func <TInstance, bool> > filter = new EventCorrelationExpressionConverter <TInstance, TData>(context)
                                                          .Convert(_correlationExpression);

            query = new SagaQuery <TInstance>(filter);
            return(true);
        }
Example #3
0
        public void Should_convert_a_simple_correlation_expression()
        {
            var message = new CorrelatedMessage {
                CorrelationId = NewId.NextGuid()
            };
            ConsumeContext <CorrelatedMessage> consumeContext = new TestConsumeContext <CorrelatedMessage>(message);
            var converter = new EventCorrelationExpressionConverter <TestState, CorrelatedMessage>(consumeContext);

            Expression <Func <TestState, bool> > result = converter
                                                          .Convert((state, context) => state.CorrelationId == context.Message.CorrelationId);

            Console.WriteLine(result);
        }
        public void Should_convert_a_simple_correlation_expression()
        {
            var message = new CorrelatedMessage
            {
                CorrelationId = NewId.NextGuid()
            };
            ConsumeContext<CorrelatedMessage> consumeContext = new TestConsumeContext<CorrelatedMessage>(message);
            var converter = new EventCorrelationExpressionConverter<TestState, CorrelatedMessage>(consumeContext);

            Expression<Func<TestState, bool>> result = converter
                .Convert((state, context) => state.CorrelationId == context.Message.CorrelationId);

            Console.WriteLine(result);
        }