コード例 #1
0
        public async Task ApplyAsync(IDocumentSession session, EventStream[] streams, CancellationToken token)
        {
            foreach (var stream in MatchingStreams(streams))
            {
                var state = await _finder.FindAsync(stream, session, token).ConfigureAwait(false) ?? new T();

                update(state, stream);

                session.Store(state);
            }
        }
コード例 #2
0
        public async Task ApplyAsync(IDocumentSession session, EventPage page, CancellationToken token)
        {
            var matchingStreams = MatchingStreams(page);

            await _finder.FetchAllAggregates(session, matchingStreams, token).ConfigureAwait(false);

            foreach (var stream in matchingStreams)
            {
                var state = await _finder.FindAsync(stream, session, token).ConfigureAwait(false) ?? New <T> .Instance();

                update(state, stream);

                session.Store(state);
            }
        }