コード例 #1
0
        public static JsonDocument MESSENGER_CreateListDocument(ListModel itemsList)
        {
            var ListJsonDoc = new FacebookNativeList();

            if (itemsList.BottomButton != null)
            {
                ListJsonDoc.AddBottomButton(itemsList.BottomButton?.Text, itemsList.BottomButton?.Value);
            }

            if (itemsList.GetHighlightFirstItemSettings())
            {
                ListJsonDoc.HighlightHeader();
            }

            var items = itemsList.Items.OrderBy(c => c.Order).ToList();

            for (int i = 0; i < items.Count(); i++)
            {
                ListJsonDoc.AddItem(items[i].Title, items[i].Subtitle, items[i].ImageUrl);

                if (!items[i].Url.IsNullOrWhiteSpace())
                {
                    ListJsonDoc.GetItem(i).SetItemListAsWebLink(items[i].Url, items[i].WebviewHeightSettings.ToString());
                }
                if (items[i].Button != null)
                {
                    ListJsonDoc.GetItem(i).AddButton(items[i].Button.Text, items[i].Button.Value);
                }
            }

            var jsonDict   = new Dictionary <string, object>();
            var jsonResult = JsonConvert.SerializeObject(ListJsonDoc);

            jsonDict.Add("attachment", jsonResult);
            var document = new JsonDocument(jsonDict, MediaType.ApplicationJson);

            return(document);
        }