Exemplo n.º 1
0
        // Dependency injection uses this constructor to instantiate MainDialog
        public MainDialog(
            ComplexParsingDialog complexDialog,
            SimpleParsingDialog simpleDialog,
            ConversationState conversationState,
            QueryFactory queryFactory,
            IComplexQueryHandler complexQueryHandler,
            ISimpleQueryHandler simpleQueryHandler,
            ILogger <MainDialog> logger
            ) : base(nameof(MainDialog))
        {
            this.queryFactory        = queryFactory;
            this.complexQueryHandler = complexQueryHandler;
            this.simpleQueryHandler  = simpleQueryHandler;
            this.logger = logger;
            conversationStateAccessors = conversationState.CreateProperty <ConversationData>(nameof(ConversationData));

            var waterfallSteps = new WaterfallStep[]
            {
                QueryParsingStepAsync,
                ShowResultStepAsync,
                FinalStepAsync
            };

            AddDialog(new WaterfallDialog(nameof(WaterfallDialog), waterfallSteps));
            AddDialog(new ChoicePrompt(nameof(ChoicePrompt)));
            AddDialog(complexDialog);
            AddDialog(simpleDialog);

            // The initial child Dialog to run.
            InitialDialogId = nameof(WaterfallDialog);
        }
Exemplo n.º 2
0
        public ComplexParsingDialog(
            ComplexStatementRecognizer complexRecognizer,
            IComplexQueryHandler queryHandler,
            EditDialog editDialog,
            ConversationState conversationState,
            ILogger <ComplexParsingDialog> logger
            ) : base(nameof(ComplexParsingDialog), conversationState, logger)
        {
            this.complexRecognizer = complexRecognizer;
            this.queryHandler      = queryHandler;

            var waterfallSteps = new WaterfallStep[]
            {
                PromptStepAsync,
                ActStepAsync,
                ProcessDonePromptAsync
            };

            AddDialog(new WaterfallDialog(nameof(WaterfallDialog), waterfallSteps));
            AddDialog(new ChoicePrompt(nameof(ChoicePrompt)));
            AddDialog(editDialog);

            // The initial child Dialog to run.
            InitialDialogId = nameof(WaterfallDialog);
        }
Exemplo n.º 3
0
        public EditDialog(
            ComplexStatementRecognizer complexRecognizer,
            IComplexQueryHandler queryHandler,
            ConversationState conversationState,
            ILogger <EditDialog> logger
            ) : base(nameof(EditDialog), conversationState, logger)
        {
            this.complexRecognizer = complexRecognizer;
            this.queryHandler      = queryHandler;

            var waterfallSteps = new WaterfallStep[]
            {
                SelectStepAsync,
                NewStatementStepAsync,
                EditStepAsync,
            };

            AddDialog(new WaterfallDialog(nameof(WaterfallDialog), waterfallSteps));
            AddDialog(new ChoicePrompt(nameof(ChoicePrompt)));

            // The initial child Dialog to run.
            InitialDialogId = nameof(WaterfallDialog);
        }