private async Task ProcessEventPublishedAsync(EventPublished eventPublished) { using var scope = _serviceProvider.CreateScope(); var repository = scope.ServiceProvider.GetRequiredService <IEventPublishedRepository>(); eventPublished.Publish(); await repository.UpdateAndCommit(eventPublished); await _eventBus.PublishAsync(eventPublished.Event); eventPublished.Complete(); await repository.UpdateAndCommit(eventPublished); }