public override List <VideoInfo> GetVideos(Category category) { List <VideoInfo> videos; DrakenCategory dc = category as DrakenCategory; List <DrakenVideo> drakenVideos = GetVideos(dc.Selector, dc.Name, (uint)(dc.Name == DrakenCategory.NEW ? 20 : 1024)); if (dc.SortVideosByLetter) { videos = drakenVideos.OrderBy(v => v.Title).ToList <VideoInfo>(); } else { videos = drakenVideos.ToList <VideoInfo>(); } return(videos); }
public override int DiscoverSubCategories(Category parentCategory) { parentCategory.SubCategories = new List <Category>(); DrakenCategory dc = parentCategory as DrakenCategory; foreach (DrakenVideo video in GetVideos()) { foreach (string name in video.getListFromSelector(dc.Selector).Where(n => !parentCategory.SubCategories.Any(c => c.Name == n))) { parentCategory.SubCategories.Add( new DrakenCategory() { Name = name, ParentCategory = parentCategory, Selector = dc.Selector, } ); } } parentCategory.SubCategories = parentCategory.SubCategories.OrderBy(c => c.Name).ToList <Category>(); parentCategory.SubCategoriesDiscovered = parentCategory.SubCategories.Count > 0; return(parentCategory.SubCategories.Count); }