private async Task <DialogTurnResult> NotifyBackOfficeAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            var notificationOfIllnessDetails = (NotificationOfIllnessDetails)stepContext.Options;
            var backOffice       = new BackOffice(notificationOfIllnessDetails.TokenResponse);
            var backOfficeMember = backOffice.GetBackOfficeMember();
            var mailClient       = new ExchangeMailClient(notificationOfIllnessDetails.TokenResponse, m_ExchangeSettings);
            var message          = $"Dies ist eine automatisch generierte Nachricht. {notificationOfIllnessDetails.TokenResponse.GetNameClaim()?.Value} ist bis zum {notificationOfIllnessDetails.SickUntil.GetValueOrDefault():dd.MM.yyyy} krank und ist nicht im Büro.";;

            mailClient.SendMail(new[] { backOfficeMember.MailAddress }, "Krankmeldung", message);
            var msg = $"Ich habe {backOfficeMember.Name} vom Backoffice eine Mail ({backOfficeMember.MailAddress}) gesendet, daß Du bis zum {notificationOfIllnessDetails.SickUntil?.ToString("dd.MM.yyyy")} krank bist.";
            await stepContext.Context.SendActivityAsync(MessageFactory.Text(msg, msg, InputHints.IgnoringInput), cancellationToken);

            return(await stepContext.NextAsync(notificationOfIllnessDetails, cancellationToken));
        }
        private async Task <DialogTurnResult> NotifyColleaguesAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            var notificationOfIllnessDetails = (NotificationOfIllnessDetails)stepContext.Options;
            var sendNotificationToColleagues = (bool)stepContext.Result;

            if (sendNotificationToColleagues)
            {
                var colleagues             = new Colleagues(notificationOfIllnessDetails.TokenResponse);
                var colleagueMailAddresses = await colleagues.GetMyColleaguesMailAddresses();

                var mailClient = new ExchangeMailClient(notificationOfIllnessDetails.TokenResponse, m_ExchangeSettings);
                var message    = $"Dies ist eine automatisch generierte Nachricht. {notificationOfIllnessDetails.TokenResponse.GetNameClaim()?.Value} ist bis zum {notificationOfIllnessDetails.SickUntil.GetValueOrDefault():dd.MM.yyyy} krank und ist nicht im Büro.";
                mailClient.SendMail(colleagueMailAddresses, "Krankmeldung", message);

                var msg = $"Ich habe Deine Kollegen eine Mail gesendet, daß Du bis zum {notificationOfIllnessDetails.SickUntil?.ToString("dd.MM.yyyy")} krank bist.";
                await stepContext.Context.SendActivityAsync(MessageFactory.Text(msg, msg, InputHints.IgnoringInput), cancellationToken);
            }

            return(await stepContext.NextAsync(notificationOfIllnessDetails, cancellationToken));
        }