Example #1
0
        private async Task <DialogTurnResult> FinalStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken = default)
        {
            var accessor = _userState.CreateProperty <string>("Solicitacao");
            await accessor.SetAsync(stepContext.Context, (string)stepContext.Result, cancellationToken);

            var luisResult = await LuisService.ExecuteLuisQuery(_configuration, stepContext.Context, cancellationToken);

            if (luisResult.intent.Equals("None"))
            {
                return(await stepContext.BeginDialogAsync(nameof(LearningDialog), null, cancellationToken));
            }
            else
            {
                await stepContext.Context.SendActivityAsync(Conversation.Answer(luisResult.intent), cancellationToken : cancellationToken);
            }

            return(await stepContext.ReplaceDialogAsync(nameof(LoopDialog), cancellationToken : cancellationToken));
        }