コード例 #1
0
        public static async Task <StreamProcessorChain <TIn, TIn> > Where <TIn>(this ITransactionalStreamProviderAggregate <TIn> source, Func <TIn, bool> filterFunc,
                                                                                IStreamProcessorAggregateFactory factory)
        {
            var processorAggregate = await factory.CreateWhere(filterFunc, await source.GetStreamIdentities());

            var processorChain = new StreamProcessorChainStart <TIn, TIn>(processorAggregate, source, factory);

            return(processorChain);
        }
コード例 #2
0
        public static async Task <StreamProcessorChain <TIn, TOut> > Select <TIn, TOut>(
            this ITransactionalStreamProviderAggregate <TIn> source, Func <TIn, TOut> selectionFunc,
            IStreamProcessorAggregateFactory factory)
        {
            var processorAggregate = await factory.CreateSelect <TIn, TOut>(selectionFunc, await source.GetStreamIdentities());

            var processorChain = new StreamProcessorChainStart <TIn, TOut>(processorAggregate, source, factory);

            return(processorChain);
        }
コード例 #3
0
 public StreamProcessorChainStart(IStreamProcessorAggregate <TIn, TOut> aggregate, ITransactionalStreamProviderAggregate <TIn> source, IStreamProcessorAggregateFactory factory) : base(aggregate, factory)
 {
     _source = source;
 }
コード例 #4
0
 public StreamProcessorChain(IStreamProcessorAggregate <TIn, TOut> aggregate, IStreamProcessorChain <TIn> previous)
 {
     Aggregate = aggregate;
     Factory   = previous.Factory;
     _previous = previous;
 }
コード例 #5
0
 public StreamProcessorChain(IStreamProcessorAggregate <TIn, TOut> aggregate, IStreamProcessorAggregateFactory factory)
 {
     Aggregate = aggregate;
     Factory   = factory;
     _previous = null;
 }