public int AddFeed(Feed feed) { feed.Id = _nextFeedId++; _feeds.Add(feed.Id, feed); _statistics.TotalFeeds++; return feed.Id; }
public FeedView(Feed feed) { Id = feed.Id; LongId = feed.LongId; Url = feed.Url; Title = feed.Title; ItemUrls = new HashSet<string>(feed.Items.Select(f => f.Url)); Description = feed.Description; }
public void GetFeedByIdTest() { var model = new GeekStreamModel(); var feed = new Feed {Title = "Feed title", LastCollected = DateTime.MinValue}; var id = model.AddFeed(feed); Console.WriteLine(feed.Id); Assert.AreEqual(id, feed.Id); var collected = DateTime.Now; var cmd = new SetFeedsLastCollectedCommand(new[] {id}, collected); cmd.Execute(model); Assert.AreEqual(feed.LastCollected, collected); }
private void RemoveFeedFromSearchIndex(Feed feed) { var searchTermsToRemove = new List<string>(); var itemsToRemove = new HashSet<FeedItem>(feed.Items); foreach (KeyValuePair<string, SortedSet<FeedItem>> kvp in _searchIndex) { var searchTerm = kvp.Key; var entrySet = kvp.Value; _statistics.TotalKeywords -= entrySet.RemoveWhere(feedItem => itemsToRemove.Contains(feedItem)); if (entrySet.Count == 0) searchTermsToRemove.Add(searchTerm); } _statistics.UniqueKeywords -= searchTermsToRemove.Count; foreach (string searchTerm in searchTermsToRemove) _searchIndex.Remove(searchTerm); }
public bool TryGetFeedById(int id, out Feed feed) { feed = GetFeedById(id); return feed != null; }
private void CreateFeed(SyndicationFeed syndicationFeed, string url) { var feed = new Feed { PartitionId = 0, Title = syndicationFeed.Title != null ? syndicationFeed.Title.Text : "Untitled feed", Description = syndicationFeed.Description != null ? syndicationFeed.Description.Text : "No description", ImageUrl = syndicationFeed.ImageUrl != null ? syndicationFeed.ImageUrl.ToString() : null, LastCollected = DateTime.MinValue, Url = url, Created = DateTime.Now }; var command = new AddFeedCommand(feed); _geekStreamDb.Execute(command); }
public bool TryGetFeedById(int id, out Feed feed) { feed = GetFeedById(id); return(feed != null); }