private async Task <DialogTurnResult> PromptProductCardAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken) { if ((bool)stepContext.Result) { var productInfo = (ProductInfo)stepContext.Values["ProductInfo"]; var attachment = CardUtils.CreateCardFromProductInfo(productInfo); var adaptiveCard = stepContext.Context.Activity.CreateReply(); adaptiveCard.Attachments = new List <Attachment>() { attachment }; await stepContext.Context.SendActivityAsync(adaptiveCard, cancellationToken); } await stepContext.Context.SendActivityAsync(MessageFactory.Text(whatElse), cancellationToken); return(await stepContext.EndDialogAsync(null, cancellationToken)); }