Example #1
0
        public AddToCartDialog(
            ICartBuilderFactory cartBuilderFactory,
            IProductFetcher productFetcher,
            ConversationState conversationState,
            ViewCartDialog viewCartDialog)
            : base(nameof(AddToCartDialog))
        {
            _conversationState  = conversationState;
            _cartBuilderFactory = cartBuilderFactory;
            _viewCartDialog     = viewCartDialog;
            _productFetcher     = productFetcher;

            AddDialog(new NumberPrompt <int>(nameof(NumberPrompt <int>)));
            AddDialog(_viewCartDialog);
            AddDialog(new ChoicePrompt(nameof(ChoicePrompt)));
            AddDialog(new WaterfallDialog(nameof(WaterfallDialog), new WaterfallStep[]
            {
                RequestQuantityAsync,
                ConfirmAsync,
                ViewCartPromptAsync,
                BackOrViewCartAsync
            }));

            InitialDialogId = nameof(WaterfallDialog);
        }
        public ViewCartDialog(
            IMessageInterceptor messageInterceptor,
            ICartBuilderFactory cartBuilderFactory,
            IOrderModule orderModule,
            ConversationState conversationState
            )
            : base(nameof(ViewCartDialog), messageInterceptor)
        {
            _cartBuilderFactory = cartBuilderFactory;
            _conversationState  = conversationState;
            _orderModule        = orderModule;

            AddDialog(new ChoicePrompt(nameof(ChoicePrompt)));
            AddDialog(new WaterfallDialog(nameof(WaterfallDialog), new WaterfallStep[]
            {
                ViewCartAsync,
                CreateOrderPromptAsync,
                CreateOrderOrBack
            }));

            InitialDialogId = nameof(WaterfallDialog);
        }