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);
        }
        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;
 }
 public static async Task <StreamProcessorChain <TIn, TIn> > Where <TIn>(
     this ITransactionalStreamProviderAggregate <TIn> source, Func <TIn, bool> filterFunc, IGrainFactory factory)
 {
     return(await Where(source, filterFunc, new DefaultStreamProcessorAggregateFactory(factory)));
 }
 public static async Task <StreamProcessorChain <TIn, TOut> > Select <TIn, TOut>(
     this ITransactionalStreamProviderAggregate <TIn> source, Func <TIn, TOut> selectionFunc, IGrainFactory factory)
 {
     return(await Select(source, selectionFunc, new DefaultStreamProcessorAggregateFactory(factory)));
 }