public Task <IList <Document> > ParseAsync(QueryResponse queryResponse, MessageDescriptor messageDescriptor) { DocumentCollection documentCollection = null; var cardMessageCollection = queryResponse.ToCards(); if (cardMessageCollection != null) { documentCollection = new DocumentCollection { ItemType = DocumentSelect.MediaType, Items = new DocumentSelect[cardMessageCollection.Count], Total = cardMessageCollection.Count }; for (int i = 0; i < cardMessageCollection.Count; i++) { documentCollection.Items[i] = new DocumentSelect { Header = GetHeader(cardMessageCollection[i]), Options = GetOptions(cardMessageCollection[i]) }; } } return(Task.FromResult <IList <Document> >(new List <Document>() { documentCollection })); }
private Document GetCardMessage(QueryResponse queryResponse) { DocumentCollection documentCollection = null; var cardMessageCollection = queryResponse.ToCards(); if (cardMessageCollection != null) { documentCollection = new DocumentCollection { ItemType = DocumentSelect.MediaType, Items = new DocumentSelect[cardMessageCollection.Count], Total = cardMessageCollection.Count }; for (int i = 0; i < cardMessageCollection.Count; i++) { documentCollection.Items[i] = new DocumentSelect { Header = GetHeader(cardMessageCollection[i]), Options = GetOptions(cardMessageCollection[i]) }; } } return(documentCollection); }
public Task <IList <Activity> > ParseAsync(QueryResponse queryResponse, MessageDescriptor messageDescriptor) { Activity activity = null; var cardActions = new List <CardAction>(); var cardMessageCollection = queryResponse.ToCards(); if (cardMessageCollection != null) { activity = new Activity(); activity.Attachments = new List <Attachment>(); activity.AttachmentLayout = AttachmentLayoutTypes.Carousel; foreach (var cardMessage in cardMessageCollection) { var cardButtons = new List <CardAction>(); foreach (var button in cardMessage.Buttons) { cardButtons.Add(new CardAction { Title = button.Text, Type = button.ToCardActionType(), Value = button.Postback }); } var heroCard = new HeroCard() { Title = cardMessage.Title, Subtitle = cardMessage.Subtitle, Images = new List <CardImage>() { new CardImage { Url = cardMessage.ImageUrl } }, Buttons = cardButtons }; Attachment attachment = heroCard.ToAttachment(); activity.Attachments.Add(attachment); } } return(Task.FromResult <IList <Activity> >(new List <Activity>() { activity })); }