Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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));
        }