public static async Task <ObservableCollection <Models.UI.RssItem> > LoadRss(Interfaces.IUxService uxService, Interfaces.ISettings settingsService) { if (settingsService.IsConnectedToInternet()) { var news = new ObservableCollection <Models.UI.RssItem>(); var nBroker = new NewsBroker(); var xml = await nBroker.GetNews(); var morenodes = (from n in xml.Descendants("rss") select n).Descendants("item").Select(x => new Models.UI.RssItem { Title = (string)x.Element("title") , Summary = (string)x.Element("description") , ImageUrl = Regex.Match(((string)(x.Element("htmlcontent"))), "<img.+?src=[\"'](.+?)[\"'].+?>", RegexOptions.IgnoreCase).Groups[1].Value , Url = (string)x.Element("guid") , PubDate = (DateTime)x.Element("pubDate") , Author = string.Format(International.Translation.RssDateAndAuthor, (string)x.Element("creator")) }).ToList(); news.Clear(); foreach (var item in morenodes) { item.DateString = item.PubDate.ToString("MMM dd, yyyy"); news.Add(item); } return(news); } else { await uxService.ShowAlert(International.Translation.NoConnection); return(null); } }
public async Task LoadRss() { if (_settingsService.IsConnectedToInternet()) { var nBroker = new NewsBroker(); var xml = await nBroker.GetNews(); var morenodes = (from n in xml.Descendants("rss") select n).Descendants("item").Select(x => new Models.UI.RssItem { Title = (string)x.Element("title") , Summary = (string)x.Element("description") , ImageUrl = Regex.Match(((string)(x.Element("htmlcontent"))), "<img.+?src=[\"'](.+?)[\"'].+?>", RegexOptions.IgnoreCase).Groups[1].Value , Url = (string)x.Element("guid") , PubDate = (DateTime)x.Element("pubDate") , Author = string.Format(International.Translation.RssDateAndAuthor, (string)x.Element("creator")) }).ToList(); News.Clear(); foreach (var item in morenodes) { News.Add(item); } } else { await _uxService.ShowAlert(International.Translation.NoConnection); } }