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.ResponseIds.HaveLocationMessage, new { _state.Name, _state.Location }); return(await sc.EndDialogAsync()); }
public async Task <DialogTurnResult> AskForLocation(WaterfallStepContext sc, CancellationToken cancellationToken) { _state = await _accessor.GetAsync(sc.Context, () => new OnboardingState()); var email = _state.Email = (string)sc.Result; await _responder.ReplyWith(sc.Context, OnboardingResponses.ResponseIds.HaveEmailMessage, new { email }); return(await sc.PromptAsync(DialogIds.LocationPrompt, new PromptOptions() { Prompt = await _responder.RenderTemplate(sc.Context, sc.Context.Activity.Locale, OnboardingResponses.ResponseIds.LocationPrompt), })); }
public async Task <DialogTurnResult> AskForName(WaterfallStepContext sc, CancellationToken cancellationToken) { _state = await _accessor.GetAsync(sc.Context, () => new OnboardingState()); if (!string.IsNullOrEmpty(_state.Name)) { return(await sc.NextAsync(_state.Name)); } else { return(await sc.PromptAsync(DialogIds.NamePrompt, new PromptOptions() { Prompt = await _responder.RenderTemplate(sc.Context, sc.Context.Activity.Locale, OnboardingResponses.ResponseIds.NamePrompt), })); } }