public DataResultSyndicationItems GetByCategory(DataFilterSyndication filter)
 {
     SyndicationFeedFormatter feed = this.GetAll();
     SyndicationCategoryComparer categoryComparer = new SyndicationCategoryComparer();
     SyndicationCategory categoryToFind = new SyndicationCategory(filter.CategoryName);
     List<SyndicationItem> items = feed.Feed.Items
                                     .Where(p => p.Categories.Contains(categoryToFind, categoryComparer))
                                     .ToList();
     return this.GetDataResult(items, filter);
 }
 /// <summary>
 /// Selects all categories inside SyndicationItems and push them into an array
 /// </summary>
 /// <param name="feedFormatter"></param>
 /// <returns></returns>
 public static SyndicationCategory[] CategoriesGetFromItems(this SyndicationFeedFormatter feedFormatter)
 {
     SyndicationCategoryComparer categoryComparer = new SyndicationCategoryComparer();
     SyndicationCategory[] categories = feedFormatter.Feed.Items
                                 .Select(p => { return p.Categories; })
                                 .SelectMany(p => p)
                                 .Distinct(categoryComparer)
                                 .ToArray();
     return categories;
 }