public async Task <DialogTurnResult> FinishOnboardingDialog(WaterfallStepContext sc, CancellationToken cancellationToken) { _state = await _accessor.GetAsync(sc.Context); _state.Location = (string)sc.Result; await _responder.ReplyWith(sc.Context, OnboardingResponses._haveLocation, new { _state.CustomerName, _state.Location }); return(await sc.EndDialogAsync()); }
public async Task <DialogTurnResult> AskForName(WaterfallStepContext sc, CancellationToken cancellationToken) { _state = await _accessor.GetAsync(sc.Context); if (!string.IsNullOrEmpty(_state.CustomerName)) { return(await sc.NextAsync(_state.CustomerName)); } else { return(await sc.PromptAsync(NamePrompt, new PromptOptions() { Prompt = await _responder.RenderTemplate(sc.Context, "en", OnboardingResponses._namePrompt), })); } }
public async Task <DialogTurnResult> AskForEmail(WaterfallStepContext sc, CancellationToken cancellationToken) { _state = await _accessor.GetAsync(sc.Context); var name = _state.CustomerName = (string)sc.Result; await _responder.ReplyWith(sc.Context, OnboardingResponses._haveName, new { name }); if (!string.IsNullOrEmpty(_state.Email)) { return(await sc.NextAsync(_state.Email)); } else { return(await sc.PromptAsync(EmailPrompt, new PromptOptions() { Prompt = await _responder.RenderTemplate(sc.Context, "en", OnboardingResponses._emailPrompt), })); } }