private async Task DeleteEventInternal( StreamIdInfo streamIdInfo, Guid eventId, MySqlTransaction transaction, CancellationToken cancellationToken) { var deletedMessageMessage = Deleted.CreateMessageDeletedMessage( streamIdInfo.MySqlStreamId.IdOriginal, eventId); var deletedStreamId = Parameters.DeletedStreamId(); var deletedStreamIdOriginal = Parameters.DeletedStreamIdOriginal(); var deletedMetadataStreamId = Parameters.DeletedMetadataStreamId(); var deletedMessageMessageId = Parameters.DeletedMessageMessageId(deletedMessageMessage); var deletedMessageType = Parameters.DeletedMessageType(deletedMessageMessage); var deletedMessageJsonData = Parameters.DeletedMessageJsonData(deletedMessageMessage); using (var command = BuildStoredProcedureCall( _schema.DeleteStreamMessage, transaction, Parameters.StreamId(streamIdInfo.MySqlStreamId), Parameters.MessageId(eventId), Parameters.CreatedUtc(_settings.GetUtcNow?.Invoke()), Parameters.DeletionTrackingDisabled(_settings.DisableDeletionTracking), _settings.DisableDeletionTracking ? deletedStreamId.Empty() : deletedStreamId, _settings.DisableDeletionTracking ? deletedStreamIdOriginal.Empty() : deletedStreamIdOriginal, _settings.DisableDeletionTracking ? deletedMetadataStreamId.Empty() : deletedMetadataStreamId, _settings.DisableDeletionTracking ? deletedMessageMessageId.Empty() : deletedMessageMessageId, _settings.DisableDeletionTracking ? deletedMessageType.Empty() : deletedMessageType, _settings.DisableDeletionTracking ? deletedMessageJsonData.Empty() : deletedMessageJsonData)) { await command.ExecuteNonQueryAsync(cancellationToken).ConfigureAwait(false); } }
private async Task DeleteEventInternal( StreamIdInfo streamIdInfo, Guid eventId, MySqlTransaction transaction, CancellationToken cancellationToken) { var deletedMessageMessage = Deleted.CreateMessageDeletedMessage( streamIdInfo.MySqlStreamId.IdOriginal, eventId); using (var command = BuildStoredProcedureCall( _schema.DeleteStreamMessage, transaction, Parameters.StreamId(streamIdInfo.MySqlStreamId), Parameters.MessageId(eventId), Parameters.DeletedStreamId(), Parameters.DeletedStreamIdOriginal(), Parameters.DeletedMetadataStreamId(), Parameters.CreatedUtc(_settings.GetUtcNow?.Invoke()), Parameters.DeletedMessageMessageId(deletedMessageMessage), Parameters.DeletedMessageType(deletedMessageMessage), Parameters.DeletedMessageJsonData(deletedMessageMessage))) { await command.ExecuteNonQueryAsync(cancellationToken).NotOnCapturedContext(); } }
public static NpgsqlParameter DeletedMessages(PostgresqlStreamId streamId, params Guid[] messageIds) { return(new NpgsqlParameter <PostgresNewStreamMessage[]> { TypedValue = Array.ConvertAll( messageIds, messageId => PostgresNewStreamMessage.FromNewStreamMessage( Deleted.CreateMessageDeletedMessage(streamId.IdOriginal, messageId)) ) }); }