public ActionResult <List <Series> > GetSeries(int filterID, int groupID) { var grp = RepoFactory.AnimeGroup.GetByID(groupID); if (grp == null) { return(BadRequest("No Group with ID")); } if (filterID == 0) { return(grp.GetSeries().Where(a => User.AllowedSeries(a)).Select(a => new Series(HttpContext, a)) .ToList()); } var f = RepoFactory.GroupFilter.GetByID(filterID); if (f == null) { return(BadRequest("No Filter with ID")); } if (f.ApplyToSeries != 1) { return(grp.GetSeries().Where(a => User.AllowedSeries(a)).Select(a => new Series(HttpContext, a)) .ToList()); } if (!f.SeriesIds.ContainsKey(User.JMMUserID)) { return(new List <Series>()); } return(f.SeriesIds[User.JMMUserID].Select(id => RepoFactory.AnimeSeries.GetByID(id)) .Where(ser => ser?.AnimeGroupID == groupID).Select(ser => new Series(HttpContext, ser)).OrderBy(a => Series.GetAniDBInfo(HttpContext, RepoFactory.AniDB_Anime.GetByAnimeID(a.IDs.ID))) .ToList()); }