private string BuildAdaptiveCard()

in Exercise5/02-End/ContosoExpenses/TimelineService.cs [16:72]


        private string BuildAdaptiveCard(Expense expense)
        {
            AdaptiveCard card = new AdaptiveCard("1.0");

            AdaptiveTextBlock title = new AdaptiveTextBlock
            {
                Text = expense.Description,
                Size = AdaptiveTextSize.Medium,
                Wrap = true
            };

            AdaptiveColumnSet columnSet = new AdaptiveColumnSet();

            AdaptiveColumn photoColumn = new AdaptiveColumn
            {
                Width = "auto"
            };

            AdaptiveImage image = new AdaptiveImage
            {
                Url = new Uri("https://appmodernizationworkshop.blob.core.windows.net/contosoexpenses/Contoso192x192.png"),
                Size = AdaptiveImageSize.Small,
                Style = AdaptiveImageStyle.Default
            };
            photoColumn.Items.Add(image);

            AdaptiveTextBlock amount = new AdaptiveTextBlock
            {
                Text = expense.Cost.ToString(),
                Weight = AdaptiveTextWeight.Bolder,
                Wrap = true
            };

            AdaptiveTextBlock date = new AdaptiveTextBlock
            {
                Text = expense.Date.Date.ToShortDateString(),
                IsSubtle = true,
                Spacing = AdaptiveSpacing.None,
                Wrap = true
            };

            AdaptiveColumn expenseColumn = new AdaptiveColumn
            {
                Width = "stretch"
            };
            expenseColumn.Items.Add(amount);
            expenseColumn.Items.Add(date);

            columnSet.Columns.Add(photoColumn);
            columnSet.Columns.Add(expenseColumn);

            card.Body.Add(title);
            card.Body.Add(columnSet);

            string json = card.ToJson();
            return json;
        }