public void ChatFlightCardElement(RadChat radchat) { List <FlightInfo> flights = new List <FlightInfo>(); flights.Add(new FlightInfo("Los Angelis", "LAX", DateTime.Now.AddDays(7), "New York", "JFK", DateTime.Now.AddDays(7).AddHours(5.5))); flights.Add(new FlightInfo("New York", "JFK", DateTime.Now.AddDays(14).AddHours(3), "Los Angelis", "LAX", DateTime.Now.AddDays(14).AddHours(9.1))); ChatFlightCardDataItem flightCard = new ChatFlightCardDataItem("Andrew Fuller", flights, Image4.ToImage(), "$341", null); Author author = new Author(adminImg3.ToImage(), "Nancy"); ChatCardMessage message = new ChatCardMessage(flightCard, author, DateTime.Now); radchat.AddMessage(message); }
// Chat Cards / Carousel public void Add_CarouselMessage(RadChat radchat) { Telerik.WinControls.UI.ChatImageCardDataItem imageCard = new ChatImageCardDataItem(Image1.ToImage(), "Benjamin Vilanders", "Senior Architect", "As a Senior Architect his experience in the industry allows him to take on increased responsibility. Like other architects, he design buildings " + "and makes sure they are structurally sound. Due to his track record of quality performance, Benjamin also serves as a manager, a mentor, an advisor and coordinator.", null, null); ChatProductCardDataItem productCard = new ChatProductCardDataItem(Image2.ToImage(), "Arrive & Drive", "Rating 7/10", "With our Arrive & Drive Packages, the only thing you will have to think about is driving. We make it simple for you to get more of what you love. We streamline the " + "entire process and have everything ready for you when you arrive at the track so you can get straight to racing.", "Packages from $340", null, null); ChatWeatherCardDataItem weatherCard = new ChatWeatherCardDataItem("Florence", Image3.ToImage(), "33°C", "Humidity: 76%", "Dew: 31°C", "Pressure: 1031 mb", "Wind Speed: 15 km/h NW"); List <FlightInfo> flights = new List <FlightInfo>(); flights.Add(new FlightInfo("Los Angelis", "LAX", DateTime.Now.AddDays(7), "New York", "JFK", DateTime.Now.AddDays(7).AddHours(5.5))); flights.Add(new FlightInfo("New York", "JFK", DateTime.Now.AddDays(14).AddHours(3), "Los Angelis", "LAX", DateTime.Now.AddDays(14).AddHours(9.1))); ChatFlightCardDataItem flightCard = new ChatFlightCardDataItem("Andrew Fuller", flights, Image4.ToImage(), "$341", null); List <BaseChatCardDataItem> cards = new List <BaseChatCardDataItem>(); cards.Add(imageCard); cards.Add(productCard); cards.Add(weatherCard); cards.Add(flightCard); Author author = new Author(Image3.ToImage(), "Ben"); ChatCarouselMessage carouselMessage = new ChatCarouselMessage(cards, author, DateTime.Now); radchat.AddMessage(carouselMessage); }
private void RenderAdaptiveCard(Attachment attachment) { AdaptiveCard adaptiveCard = AdaptiveCard.FromJson(attachment.Content.ToString()).Card; if (adaptiveCard.AdditionalProperties["TType"].ToString() == "Flight") { string passengerName = ((AdaptiveTextBlock)adaptiveCard.Body[1]).Text; string outDepartureCity = ((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[3]).Columns[0].Items[0]).Text; string outDepartureAirport = ((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[3]).Columns[0].Items[1]).Text; DateTime outDepartureDateTime = DateTime.ParseExact(((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[3]).Columns[0].Items[2]).Text + " " + ((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[3]).Columns[0].Items[3]).Text, "d MMM yyyy hh:mm tt", CultureInfo.InvariantCulture); string outArrivalCity = ((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[3]).Columns[2].Items[0]).Text; string outArrivalAirport = ((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[3]).Columns[2].Items[1]).Text; DateTime outArrivalDateTime = DateTime.ParseExact(((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[3]).Columns[2].Items[2]).Text + " " + ((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[3]).Columns[2].Items[3]).Text, "d MMM yyyy hh:mm tt", CultureInfo.InvariantCulture); string inDepartureCity = ((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[4]).Columns[0].Items[0]).Text; string inDepartureAirport = ((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[4]).Columns[0].Items[1]).Text; DateTime inDepartureDateTime = DateTime.ParseExact(((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[4]).Columns[0].Items[2]).Text + " " + ((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[4]).Columns[0].Items[3]).Text, "d MMM yyyy hh:mm tt", CultureInfo.InvariantCulture); string inArrivalCity = ((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[4]).Columns[2].Items[0]).Text; string inArrivalAirport = ((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[4]).Columns[2].Items[1]).Text; DateTime inArrivalDateTime = DateTime.ParseExact(((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[4]).Columns[2].Items[2]).Text + " " + ((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[4]).Columns[2].Items[3]).Text, "d MMM yyyy hh:mm tt", CultureInfo.InvariantCulture); string total = ((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[5]).Columns[1].Items[0]).Text; List <FlightInfo> flights = new List <FlightInfo>() { new FlightInfo(outDepartureCity, outDepartureAirport, outDepartureDateTime, outArrivalCity, outArrivalAirport, outArrivalDateTime), new FlightInfo(inDepartureCity, inDepartureAirport, inDepartureDateTime, inArrivalCity, inArrivalAirport, inArrivalDateTime) }; ChatFlightCardDataItem card = new ChatFlightCardDataItem(passengerName, flights, null, total, null); this.radChat1.ChatElement.AddMessage(new ChatCardMessage(card, this.BotAuthor, DateTime.Now)); this.DownloadImageAsync(card, ((AdaptiveImage)((AdaptiveColumnSet)adaptiveCard.Body[3]).Columns[1].Items[0]).Url.ToString()); } else if (adaptiveCard.AdditionalProperties["TType"].ToString() == "Summary") { string title = ((AdaptiveTextBlock)adaptiveCard.Body[1]).Text; StringBuilder sb = new StringBuilder(); sb.AppendLine(((AdaptiveTextBlock)adaptiveCard.Body[2]).Text); sb.AppendLine(((AdaptiveTextBlock)adaptiveCard.Body[3]).Text); if (adaptiveCard.Body.Count() > 5) { sb.AppendLine(((AdaptiveTextBlock)adaptiveCard.Body[4]).Text); sb.AppendLine(((AdaptiveTextBlock)adaptiveCard.Body[5]).Text); sb.AppendLine(((AdaptiveTextBlock)adaptiveCard.Body[6]).Text); sb.AppendLine(((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[7]).Columns[0].Items[0]).Text + ((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[7]).Columns[1].Items[0]).Text); } else { sb.AppendLine(((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[4]).Columns[0].Items[0]).Text + ((AdaptiveTextBlock)((AdaptiveColumnSet)adaptiveCard.Body[4]).Columns[1].Items[0]).Text); } ChatImageCardDataItem card = new ChatImageCardDataItem(null, title, null, sb.ToString(), null, null); this.radChat1.ChatElement.AddMessage(new ChatCardMessage(card, this.BotAuthor, DateTime.Now)); this.DownloadImageAsync(card, ((AdaptiveImage)adaptiveCard.Body[0]).Url.ToString()); } }