public async Task<List<FeedItem>> Parse(FeedSource source) { var feed = await Task.Run(() => RssDeserializer.GetFeed(source.Url)); var channel = feed?.GetRssChannels()?.FirstOrDefault(); if (channel == null) return new List<FeedItem>(); return (from rssItem in channel.GetRssItems() select new FeedItem { Title = rssItem.Title, Url = rssItem.Link, ExternalItemId = rssItem.GetGuid(), ImportTime = DateTime.UtcNow, PublishTime = rssItem.Date, FeedSource = source, Summary = rssItem.Description, }).ToList(); }
public void AddFeedSource(FeedSource source) { feedSources.Add(source); }