diff options
Diffstat (limited to 'MediaBrowser.Api/UserLibrary/ItemsService.cs')
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/ItemsService.cs | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index 727facf9a..84a058446 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -669,7 +669,30 @@ namespace MediaBrowser.Api.UserLibrary if (request.HasSpecialFeature.HasValue) { - items = items.OfType<Movie>().Where(i => request.HasSpecialFeature.Value ? i.SpecialFeatureIds.Count > 0 : i.SpecialFeatureIds.Count == 0); + var filterValue = request.HasSpecialFeature.Value; + + items = items.Where(i => + { + var movie = i as Movie; + + if (movie != null) + { + return filterValue + ? movie.SpecialFeatureIds.Count > 0 + : movie.SpecialFeatureIds.Count == 0; + } + + var series = i as Series; + + if (series != null) + { + return filterValue + ? series.SpecialFeatureIds.Count > 0 + : series.SpecialFeatureIds.Count == 0; + } + + return false; + }); } if (request.HasSubtitles.HasValue) |
