private async Task <DialogTurnResult> FinalStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken) { var _DialogInfo = await _dialogInfoStateProperty.GetAsync(stepContext.Context); var dialogsMUI = DecisionMaker.GetDialogsMui(_DialogInfo.Language); if (stepContext.Context.Activity.Text == dialogsMUI.EmailDictionary["back"]) { return(await stepContext.ReplaceDialogAsync(nameof(FinishDialog), cancellationToken : cancellationToken)); } var dialogId = _DialogInfo.DialogId; var message = _db.GetUserConversation(dialogId); if (!_DialogInfo.IsNotification) { await EmailSender.SendEmailAsync(userEmail, "StuddyBot", message); _DialogInfo.IsNotification = false; } //using (var scope = new TransactionScope(TransactionScopeOption.RequiresNew, // new TransactionOptions() { IsolationLevel = IsolationLevel.ReadCommitted })) { _db.EditUserEmail(_DialogInfo, userEmail); _db.SaveChanges(); } await _dialogInfoStateProperty.SetAsync(stepContext.Context, _DialogInfo); return(await stepContext.ReplaceDialogAsync(nameof(FinishDialog), cancellationToken : cancellationToken)); }
private async Task <DialogTurnResult> FinalStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken) { var _DialogInfo = await _dialogInfoStateProperty.GetAsync(stepContext.Context); var dialogsMUI = DecisionMaker.GetDialogsMui(_DialogInfo.Language); if (stepContext.Context.Activity.Text == dialogsMUI.EmailDictionary["back"]) { return(await stepContext.ReplaceDialogAsync(nameof(EmailDialog), cancellationToken : cancellationToken)); } _db.EditUserEmail(_DialogInfo, userEmail); return(await stepContext.ReplaceDialogAsync(nameof(EmailDialog), cancellationToken : cancellationToken)); }