/// <summary> /// Here is the method we're using for the PromptAsyncDelegate. /// </summary> private static async Task <FormPrompt> PromptAsync(IDialogContext context, FormPrompt prompt, FAQConversation state, IField <FAQConversation> field) { var preamble = context.MakeMessage(); var promptMessage = context.MakeMessage(); if (prompt.GenerateMessages(preamble, promptMessage)) { await context.PostAsync(preamble); } // Here is where we've made a change to the default prompter. if (state.LastMessage != TRY_AGAIN) { await context.PostAsync(promptMessage); } state.LastMessage = promptMessage.Text; return(prompt); }
private static async Task <ValidateResult> AnswerInquiryAsync(FAQConversation state, object value) { var result = new ValidateResult(); bool testCase = Equals(value, "true"); // Enter "true" to continue for testing purposes. if (testCase == false) { result.IsValid = false; // A constant should be used with strings that appear more than once in your code. result.Feedback = TRY_AGAIN; } else { result.IsValid = true; // A value must be provided or else the Field will not be populated. result.Value = value; } return(result); }