protected override async Task <ReadModelEnvelope <TReadModel> > UpdateAsync(
            IReadModelContext readModelContext,
            IReadOnlyCollection <IDomainEvent> domainEvents,
            ReadModelEnvelope <TReadModel> readModelEnvelope,
            CancellationToken cancellationToken)
        {
            var readModel = readModelEnvelope.ReadModel ??
                            await ReadModelFactory.CreateAsync(readModelEnvelope.ReadModelId, cancellationToken)
                            .ConfigureAwait(false);

            await ReadModelDomainEventApplier.UpdateReadModelAsync(readModel, domainEvents, readModelContext,
                                                                   cancellationToken).ConfigureAwait(false);

            return(ReadModelEnvelope <TReadModel> .With(readModelEnvelope.ReadModelId, readModel));
        }
Example #2
0
 protected abstract Task <ReadModelEnvelope <TReadModel> > UpdateAsync(
     IReadModelContext readModelContext,
     IReadOnlyCollection <IDomainEvent> domainEvents,
     ReadModelEnvelope <TReadModel> readModelEnvelope,
     CancellationToken cancellationToken);