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); }