public Task <T> AggregateStream <T>(Guid streamId, int version = 0, DateTime?timestamp = null) where T : class, new() { var inner = new EventQueryHandler(new EventSelector(_schema.Events.As <EventGraph>(), _serializer), streamId, version, timestamp); var aggregator = _schema.Events.AggregateFor <T>(); var handler = new AggregationQueryHandler <T>(aggregator, inner); return(AddItem(handler)); }
public Task <T> AggregateStream <T>(Guid streamId, int version = 0, DateTime?timestamp = null) where T : class, new() { var inner = new EventQueryHandler <Guid>(new EventSelector(_store.Events, _store.Serializer), streamId, version, timestamp, _store.Events.TenancyStyle, _parent.Tenant.TenantId); var aggregator = _store.Events.AggregateFor <T>(); var handler = new AggregationQueryHandler <T>(aggregator, inner); return(AddItem(handler, null)); }
public Task <T> AggregateStream <T>(Guid streamId, int version = 0, DateTime?timestamp = null) where T : class { var events = _parent.DocumentStore.Events; var inner = new EventQueryHandler <Guid>(_parent.Tenant.EventStorage(), streamId, version, timestamp, events.TenancyStyle, _parent.Tenant.TenantId); var aggregator = events.AggregateFor <T>(); var handler = new AggregationQueryHandler <T>(aggregator, inner); return(AddItem(handler)); }