public Task <IAsyncEnumerable <EventBatch> > GetAll(IEventCriteria spec) { EventBatch[] events; lock (_store) { events = All.ToArray(); } return(Task.FromResult(events.ToAsyncEnumerable())); }
public Task <IAsyncEnumerable <RecordedEvent> > Get(IEventCriteria criteria) { RecordedEvent[] events; lock (_store) { events = All.SelectMany(x => x.Events).ToArray(); } // HACK: We do not consider criteria yet! return(Task.FromResult(events.ToAsyncEnumerable())); }
protected async Task <TState> Run(TState initialState, IContext context) { TState s = initialState; IEventCriteria criteria = _store.CreateCriteria(_ => { }); IEventStoreTransaction tx = context .Get <IServiceProvider>() .GetRequiredService <IEventStoreTransaction>(); IAsyncEnumerable <RecordedEvent> events = await tx.Get(criteria); await events.ForEach(re => { Handle(s, re); return(Task.CompletedTask); }); return(s); }
public Task <IAsyncEnumerable <RecordedEvent> > Get(IEventCriteria criteria) { EventCriteria c = (EventCriteria)criteria; return(GetAll(c.Filter)); }