/// <inheritdoc/> public async Task Write(CommittedEvent @event, ScopeId scope, StreamId stream, PartitionId partition, CancellationToken cancellationToken) { _logger.Trace("Writing Event: {EventLogSequenceNumber} to Stream: {Stream} in Scope: {Scope}", @event.EventLogSequenceNumber, stream, scope); await Write( await _streams.Get(scope, stream, cancellationToken).ConfigureAwait(false), _streamFilter, streamPosition => @event is CommittedExternalEvent externalEvent? _eventConverter.ToStoreStreamEvent(externalEvent, streamPosition, partition) : _eventConverter.ToStoreStreamEvent(@event, streamPosition, partition), cancellationToken).ConfigureAwait(false); }
/// <inheritdoc/> public async Task Write(CommittedEvent @event, ScopeId scope, StreamId stream, PartitionId partition, CancellationToken cancellationToken) { _logger.WritingEventToStream(@event.EventLogSequenceNumber, stream, scope); var writtenStreamPosition = await Write( await _streams.Get(scope, stream, cancellationToken).ConfigureAwait(false), _streamFilter, streamPosition => @event is CommittedExternalEvent externalEvent? _eventConverter.ToStoreStreamEvent(externalEvent, streamPosition, partition) : _eventConverter.ToStoreStreamEvent(@event, streamPosition, partition), cancellationToken).ConfigureAwait(false); _streamWatcher.NotifyForEvent(scope, stream, writtenStreamPosition); }
/// <inheritdoc/> public async Task Write(CommittedEvent @event, StreamId streamId, PartitionId partitionId, CancellationToken cancellationToken) { _logger.Trace("Writing Event: {EventLogSequenceNumber} to Public Stream: {Stream}", @event.EventLogSequenceNumber, streamId); await _eventsToStreamsWriter.Write( await _streams.GetPublic(streamId, cancellationToken).ConfigureAwait(false), _filter, streamPosition => _eventConverter.ToStoreStreamEvent(@event, streamPosition, partitionId), cancellationToken).ConfigureAwait(false); }
/// <inheritdoc/> public async Task Write(CommittedEvent @event, StreamId streamId, PartitionId partitionId, CancellationToken cancellationToken) { _logger.WritingEventToPublisStream(@event.EventLogSequenceNumber, streamId); var writtenStreamPosition = await _eventsToStreamsWriter.Write( await _streams.GetPublic(streamId, cancellationToken).ConfigureAwait(false), _filter, streamPosition => _eventConverter.ToStoreStreamEvent(@event, streamPosition, partitionId), cancellationToken).ConfigureAwait(false); _streamWatcher.NotifyForEvent(streamId, writtenStreamPosition); }