コード例 #1
0
            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);
            }
コード例 #2
0
            // 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);
            }
コード例 #3
0
        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());
            }
        }