using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using CodeHollow.FeedReader; using SharpRss.Models; namespace SharpRss { /// /// Managing RSS feeds and categories. /// public class RssService { public RssService() { /// Storage options: /// - Database /// - File /// - Memory combined.UnionWith(feedSet); combined.UnionWith(feedSet2); } private static HashSet feedSet = new HashSet() { new FeedModel("http://fedoramagazine.org/feed/"), new FeedModel("https://www.nasa.gov/rss/dyn/breaking_news.rss"), }; private static HashSet feedSet2 = new HashSet() { new FeedModel("https://journals.plos.org/plosone/feed/atom"), new FeedModel("https://itsfoss.com/feed") }; private static HashSet combined = new HashSet(); HashSet set = new HashSet() { new CategoryModel("RSS", feedSet), new CategoryModel("Tech", feedSet2) }; public async Task> GetCategories() { return set; } public async Task> GetAllFeeds() { return combined; } /// Old public async Task GetFeed(string feedUrl) { var urls = await FeedReader.GetFeedUrlsFromUrlAsync(feedUrl); string url; if (urls.Count() < 1) url = _feeds[0]; else url = urls.First().Url; return await FeedReader.ReadAsync(url); } public async Task> GetFeedsFromCatAsync(CategoryModel category) { return new HashSet(); } private readonly string[] _feeds = { "https://www.reddit.com/r/freshrss/.rss", "http://fedoramagazine.org/" }; } }