private async Task <DialogTurnResult> DTMFIntroStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken) { // Use the text provided in FinalStepAsync or the default if it is the first time. var promptMessage = VoiceFactory.TextAndVoice(IntroMessage, InputHints.ExpectingInput); return(await stepContext.PromptAsync(nameof(TextPrompt), new PromptOptions { Prompt = promptMessage }, cancellationToken)); }
private async Task <DialogTurnResult> StateStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken) { var locationDetails = (StoreLocationViewModel)stepContext.Options; if (locationDetails.State == null) { //Build and send our prompt if the viewmodel is not populated var promptMessage = VoiceFactory.TextAndVoice(StateStepMsgText, InputHints.ExpectingInput); return(await stepContext.PromptAsync(nameof(TextPrompt), new PromptOptions { Prompt = promptMessage }, cancellationToken)); } return(await stepContext.NextAsync(locationDetails.State, cancellationToken)); }
private async Task <DialogTurnResult> OrderNumberStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken) { var orderDetails = (PurchaseOrderStatusViewModel)stepContext.Options; if (orderDetails.PONumber == null) { //Build and send the next prompt if the viewmodel is not populated var promptMessage = VoiceFactory.TextAndVoice(OrderNumberStepMsgText, InputHints.ExpectingInput); var retryMessage = VoiceFactory.TextAndVoice(OrderNumberRetryStepMsgText, InputHints.ExpectingInput); return(await stepContext.PromptAsync(nameof(PurchaseOrderNumberPrompt), new PromptOptions { Prompt = promptMessage, RetryPrompt = retryMessage }, cancellationToken)); } return(await stepContext.NextAsync(orderDetails.PONumber, cancellationToken)); }
private async Task <DialogTurnResult> PolicyTypeStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken) { var leavePolicyDetails = (LeavePolicyViewModel)stepContext.Options; if (leavePolicyDetails.LeaveOfAbscensePolicy == null) { //Build and send our prompt var promptMessage = VoiceFactory.TextAndVoice(LeavePolicyStepMsgText, InputHints.ExpectingInput); var retryMessageText = $"{LeavePolicyRetryMsgText} {LeavePolicyStepMsgText}"; var retryMessage = VoiceFactory.TextAndVoice(retryMessageText, InputHints.ExpectingInput); var choices = new List <Choice>() { new Choice() { Value = "Bereavement leave", Synonyms = new List <string>() { "bereavement", "bereavement leave", "bereavement leave policy" } }, new Choice() { Value = "Sabbatical", Synonyms = new List <string>() { "sabbatical", "sabbatical policy", "sabbatical leave policy" } }, new Choice() { Value = "Parental leave", Synonyms = new List <string>() { "parental", "parental leave", "parental leave policy" } }, }; return(await stepContext.PromptAsync( nameof(ChoicePrompt), new PromptOptions { Prompt = promptMessage, Choices = choices, RetryPrompt = retryMessage }, cancellationToken)); } return(await stepContext.NextAsync(leavePolicyDetails.LeaveOfAbscensePolicy, cancellationToken)); }