// Create AdaptiveCard from ThumbnailCard public static AdaptiveCard CreateThumbnailCard(ThumbnailCard card, string version = "1.0") { var adaptiveCard = new AdaptiveCard(); var body = new AdaptiveContainer() { Items = new List <AdaptiveElement>() }; // Add Image var image = AdaptiveElementBuilder.CreateImage(card.Images, AdaptiveImageSize.Medium); if (image != null) { body.Items.Add(image); } // Add Title, SubTitle and Text body.Items.AddRange(AdaptiveElementBuilder.CreateTitle(card.Title, card.Subtitle, card.Text)); // Set Tap Action if (card.Tap != null) { body.SelectAction = AdaptiveElementBuilder.CreateAction(card.Tap); } // Set Body and Actions adaptiveCard.Body = new List <AdaptiveElement>() { body }; adaptiveCard.Actions = AdaptiveElementBuilder.CreateActions(card.Buttons); adaptiveCard.Version = version; return(adaptiveCard); }
// Create Fact Card public static AdaptiveCard CreateFactListCard(string title, IList <Fact> facts, IList <CardAction> buttons = null, CardImage image = null, string version = "1.0") { var adaptiveCard = new AdaptiveCard(); var body = new AdaptiveContainer() { Items = new List <AdaptiveElement>() }; // Add Image if (image != null) { // Add Image body.Items.Add(AdaptiveElementBuilder.CreateImage(image, AdaptiveImageSize.Medium)); } // Add Title body.Items.AddRange(AdaptiveElementBuilder.CreateTitle(title)); // Add FaceSet body.Items.Add(AdaptiveElementBuilder.CreateFactSet(facts)); // Set Body and Actions adaptiveCard.Body = new List <AdaptiveElement>() { body }; adaptiveCard.Actions = AdaptiveElementBuilder.CreateActions(buttons); adaptiveCard.Version = version; return(adaptiveCard); }
// Create Confirm Card public static AdaptiveCard CreateConfirmCard(string title, CardAction yesAction = null, CardAction noAction = null, CardImage image = null, string version = "1.0") { var adaptiveCard = new AdaptiveCard(); var body = new AdaptiveContainer() { Items = new List <AdaptiveElement>() }; // Add Image if (image != null) { // Add Image body.Items.Add(AdaptiveElementBuilder.CreateImage(image, AdaptiveImageSize.Medium)); } // Add Title body.Items.AddRange(AdaptiveElementBuilder.CreateTitle(title)); // Add Action var actions = AdaptiveElementBuilder.CreateActions(new List <CardAction>() { yesAction ?? GetYesAction(), noAction ?? GetNoAction(), }); // Set Body and Actions adaptiveCard.Body = new List <AdaptiveElement>() { body }; adaptiveCard.Actions = actions; adaptiveCard.Version = version; return(adaptiveCard); }
// Create Image Card public static AdaptiveCard CreateImageCard(CardImage image, IList <CardAction> buttons = null, string version = "1.0") { var adaptiveCard = new AdaptiveCard(); var body = new AdaptiveContainer() { Items = new List <AdaptiveElement>() }; // Add Image if (image != null) { // Add Image body.Items.Add(AdaptiveElementBuilder.CreateImage(image, AdaptiveImageSize.Medium)); } // Set Body and Actions adaptiveCard.Body = new List <AdaptiveElement>() { body }; adaptiveCard.Actions = AdaptiveElementBuilder.CreateActions(buttons); adaptiveCard.Version = version; return(adaptiveCard); }
// Add List Item private static AdaptiveElement CreateListItem(AdaptiveListCardItem item, int itemIndex, AdaptiveListCardImageLayout imageLayout, AdaptiveImageSize imageSize = AdaptiveImageSize.Small) { var columns = new List <AdaptiveColumn>(); // Add Title, subtitile, text var itemContent = new AdaptiveColumn(); if (!string.IsNullOrEmpty(item.Title)) { itemContent.Items.Add(new AdaptiveTextBlock() { Text = item.Title, Id = $"Item-{itemIndex}-Title", Size = AdaptiveTextSize.Medium, Weight = AdaptiveTextWeight.Bolder, Spacing = AdaptiveSpacing.None, HorizontalAlignment = AdaptiveHorizontalAlignment.Left }); } if (!string.IsNullOrEmpty(item.Subtitle)) { itemContent.Items.Add(new AdaptiveTextBlock() { Text = item.Subtitle, Id = $"Item-{itemIndex}-Subtitle", Size = AdaptiveTextSize.Default, Spacing = AdaptiveSpacing.None, IsSubtle = true, HorizontalAlignment = AdaptiveHorizontalAlignment.Left }); } if (!string.IsNullOrEmpty(item.Text)) { itemContent.Items.Add(new AdaptiveTextBlock() { Text = item.Text, Id = $"Item-{itemIndex}-Text", Size = AdaptiveTextSize.Small, Spacing = AdaptiveSpacing.None, Weight = AdaptiveTextWeight.Lighter, IsSubtle = true, HorizontalAlignment = AdaptiveHorizontalAlignment.Left }); } // Add List Image var itemImage = new AdaptiveColumn() { Items = new List <AdaptiveElement>(), Width = AdaptiveColumnWidth.Auto.ToLower() }; if (item.Image != null && !string.IsNullOrEmpty(item.Image.Url)) { itemImage.Items.Add(AdaptiveElementBuilder.CreateImage(item.Image, imageSize)); } // Set List Item switch (imageLayout) { case AdaptiveListCardImageLayout.Right: columns.Add(itemContent); columns.Add(itemImage); break; case AdaptiveListCardImageLayout.Left: columns.Add(itemImage); columns.Add(itemContent); break; case AdaptiveListCardImageLayout.None: default: columns.Add(itemContent); break; } return(new AdaptiveColumnSet() { Separator = true, Columns = columns, SelectAction = AdaptiveElementBuilder.CreateAction(item.Tap) }); }
// Add Receipt Items private static AdaptiveElement CreateReceiptItem(ReceiptItem item, int itemIndex, AdaptiveImageSize imageSize = AdaptiveImageSize.Small) { var columns = new List <AdaptiveColumn>(); // Add Receipt Item Image if (item.Image != null && item.Image.Url != null) { columns.Add(new AdaptiveColumn() { Width = AdaptiveColumnWidth.Auto.ToLower(), Items = new List <AdaptiveElement>() { AdaptiveElementBuilder.CreateImage(item.Image, imageSize, id: $"Item-{itemIndex}-Image") } }); } // Add Receipt Item Title and Subtitle if (!string.IsNullOrEmpty(item.Title) || !string.IsNullOrEmpty(item.Subtitle)) { var title = (!string.IsNullOrEmpty(item.Title)) ? item.Title : string.Empty; var subtitle = (!string.IsNullOrEmpty(item.Subtitle)) ? item.Subtitle : string.Empty; columns.Add(new AdaptiveColumn() { Width = AdaptiveColumnWidth.Auto.ToLower(), Items = new List <AdaptiveElement>() { new AdaptiveTextBlock() { Text = title, Id = $"Item-{itemIndex}-Title", Size = AdaptiveTextSize.Medium, Spacing = AdaptiveSpacing.None, HorizontalAlignment = AdaptiveHorizontalAlignment.Left }, new AdaptiveTextBlock() { Text = subtitle, Id = $"Item-{itemIndex}-Subtitle", Size = AdaptiveTextSize.Default, Spacing = AdaptiveSpacing.None, HorizontalAlignment = AdaptiveHorizontalAlignment.Left } } }); } // Add Price if (!string.IsNullOrEmpty(item.Price)) { columns.Add(new AdaptiveColumn() { Width = AdaptiveColumnWidth.Stretch.ToLower(), Items = new List <AdaptiveElement>() { new AdaptiveTextBlock() { Text = item.Price, Id = $"Item-{itemIndex}-Price", Size = AdaptiveTextSize.Medium, HorizontalAlignment = AdaptiveHorizontalAlignment.Right } } }); } return(new AdaptiveColumnSet() { Columns = columns, SelectAction = AdaptiveElementBuilder.CreateAction(item.Tap) }); }