public AggregationProjection <T> AggregateStreamsWith <T>() where T : class, new() { var aggregator = _options.Events.AggregateFor <T>(); IAggregationFinder <T> finder = _options.Events.StreamIdentity == StreamIdentity.AsGuid ? (IAggregationFinder <T>) new AggregateFinder <T>() : new StringIdentifiedAggregateFinder <T>(); var projection = new AggregationProjection <T>(finder, aggregator); Add(projection); return(projection); }
public AggregationProjection(IAggregationFinder <T> finder, IAggregator <T> aggregator) { _finder = finder; _aggregator = aggregator; }