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)); }