MobyDog
09/19/2023, 12:30 PMMobyDog
09/19/2023, 12:30 PMjs
function LoadInvestorNews() {
$.ajax({
url: '/Umbraco/Api/InvestorNewsApi/GetInvestorNews',
async: false,
type: "GET",
data: {},
dataType: "json",
contentType: "application/json",
error: function (data) {
console.log("error loading news" + data);
},
success: function (data) {
console.log("success loading news", data);
for (i = 0; i < data.length; i++) {
var html = '<li>' +
'<span class="date"><a href="' + data[i].LinkUrl + '" target="_blank">' + data[i].Date + '</a></span> - ' +
'<span class="headline"><a href="' + data[i].LinkUrl + '" target="_blank">' + data[i].Header + '</a></span>';
html += '</li>';
console.log(html);
$("#investor-news-list").append(
html
);
};
}
});
}
MobyDog
09/19/2023, 12:31 PMcs
public static List<InvestorNewsJsonItem> GetInvestorNewsJson()
{
List<InvestorNewsJsonItem> itemsList = new List<InvestorNewsJsonItem>();
XDocument xml = GetXml("https://otp.tools.company.com/clients/uk/client/rns/xml-feed.aspx?culture=en-GB");
if (xml != null)
{
try
{
itemsList = xml.Root.Descendants("RNSSummaries").Elements("RNSSummary").Select(node => new InvestorNewsJsonItem
{
Header = node.Element("Title").Value,
Date = DateTime.Parse(node.Element("pubDate").Value).ToString("dd MMM yyyy"),
LinkUrl = node.Element("ShareURL").Value,
})
.ToList();
foreach (var item in itemsList)
{
Console.WriteLine($"Header: {item.Header}");
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.WriteLine(ex.StackTrace);
}
}
return itemsList;
}
}
MobyDog
09/19/2023, 12:32 PMcs
public class InvestorNewsApiController : UmbracoApiController
{
public List<InvestorNewsJsonItem> GetInvestorNews()
{
return InvestorNewsLogic.GetInvestorNewsJson();
}
}
MobyDog
09/19/2023, 12:44 PMMobyDog
09/19/2023, 12:55 PMMobyDog
09/19/2023, 1:04 PMMobyDog
09/19/2023, 1:07 PMRachel D
09/19/2023, 1:47 PMA hub and casual space for you to interact with fellow community members and learn more about Umbraco!
Powered by