public CreateWorkItemDialog(IConfiguration configuration, ILogger logger, AuthHelper authHelper, IVsoApiController vsoApiController, UserState userState)
            : base(nameof(CreateWorkItemDialog), authHelper, configuration)
        {
            PromptValidator <Activity> promptValidator = new PromptValidator <Activity>(PromptValidatorStep);

            AddDialog(new ActivityInfoPrompt(promptValidator));
            AddDialog(new TextPrompt(nameof(TextPrompt)));
            AddDialog(new ConfirmPrompt(nameof(ConfirmPrompt)));
            AddDialog(new WaterfallDialog(nameof(WaterfallDialog), new WaterfallStep[]
            {
                PromptForProjectCollectionAndProjectName,
                GetProjectInfo,
                PromptForWorkItemDetails,
                FinalStepAsync,
            })
            {
                TelemetryClient = TelemetryClient,
            });

            this.authHelper            = authHelper;
            this.logger                = logger;
            this.vsoApiController      = vsoApiController;
            this.workItemInputAccessor = userState.CreateProperty <WorkItemInput>("InputForCreateWorItem");

            // The initial child Dialog to run.
            InitialDialogId = nameof(WaterfallDialog);
        }
        public GetWorkItemDialog(IConfiguration configuration, ILogger logger, AuthHelper authHelper, IVsoApiController vsoApiController)
            : base(nameof(GetWorkItemDialog), authHelper, configuration)
        {
            PromptValidator <Activity> promptValidator = new PromptValidator <Activity>(PromptValidatorStep);

            AddDialog(new ActivityInfoPrompt(promptValidator)
            {
                TelemetryClient = TelemetryClient,
            });
            AddDialog(new ConfirmPrompt(nameof(ConfirmPrompt)));
            AddDialog(new WaterfallDialog(nameof(WaterfallDialog), new WaterfallStep[]
            {
                PromptForProjectCollectionAndProjectName,
                FinalStepAsync,
            })
            {
                TelemetryClient = TelemetryClient,
            });

            this.authHelper       = authHelper;
            this.logger           = logger;
            this.vsoApiController = vsoApiController;

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