Пример #1
0
        public async Task MainDialog_DynamicMainDialog()
        {
            var convoState = new ConversationState(new MemoryStorage());

            var adapter = new TestAdapter()
                          .Use(new AutoSaveStateMiddleware(convoState));

            var mainDialog = new MainDialog(convoState.CreateProperty <DialogState>("dialogState"));

            mainDialog
            .AddDialog(WaterfallTests.Create_Waterfall3())
            .AddDialog(WaterfallTests.Create_Waterfall4())
            .AddDialog(WaterfallTests.Create_Waterfall5());

            await new TestFlow(adapter, async(turnContext, cancellationToken) =>
            {
                await mainDialog.RunAsync(turnContext).ConfigureAwait(false);
            })
            .Send("hello")
            .AssertReply("step1")
            .AssertReply("step1.1")
            .Send("hello")
            .AssertReply("step1.2")
            .Send("hello")
            .AssertReply("step2")
            .AssertReply("step2.1")
            .Send("hello")
            .AssertReply("step2.2")
            .StartTestAsync();
        }
Пример #2
0
        protected override Task OnMessageActivityAsync(ITurnContext <IMessageActivity> turnContext, CancellationToken cancellationToken)
        {
            if (turnContext.Activity.HasFileAttachments())
            {
                return(_botService.HandleFileAttachments(turnContext, cancellationToken));
            }

            // continue process for text messages
            return(_mainDialog.RunAsync(turnContext, _conversationState.CreateProperty <DialogState>(nameof(TeamsTalentMgmtBot)), cancellationToken));
        }
Пример #3
0
 protected override async Task OnMessageActivityAsync(ITurnContext <IMessageActivity> turnContext, CancellationToken cancellationToken)
 {
     await Dialog.RunAsync(turnContext, ConversationState.CreateProperty <DialogState>(nameof(DialogState)), cancellationToken);
 }
Пример #4
0
 protected override Task OnMessageActivityAsync(ITurnContext <IMessageActivity> turnContext, CancellationToken cancellationToken)
 {
     _logger.LogInformation("Running dialog with Message Activity.");
     return(_dialog.RunAsync(turnContext, _conversationState.CreateProperty <DialogState>(nameof(DialogState)), cancellationToken));
 }