public async Task <ObjectId> Handle(SendConfirmationCommand request, CancellationToken ct) { var confirmation = await _confirmation.CreateAsync(request.Id, TimeSpan.FromMinutes(20), ct); var email = await _emailBuilder.CreateEmailAsync( $"Confirmation.{request.Language}.liquid", new ConfirmationCodeModel(confirmation.Code) ); var evt = new EmailMessageCreatedIntegrationEvent( Guid.NewGuid(), DateTime.UtcNow, request.Email.Value, email.Subject, email.Body ); await _bus.PublishAsync(evt, ct); return(confirmation.Id); }