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); }
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))); }