aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/UserLibrary
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/UserLibrary')
-rw-r--r--MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs28
-rw-r--r--MediaBrowser.Api/UserLibrary/ItemsService.cs39
2 files changed, 2 insertions, 65 deletions
diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs b/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs
index eba36d856..6aa87e499 100644
--- a/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs
+++ b/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs
@@ -7,7 +7,7 @@ using System;
namespace MediaBrowser.Api.UserLibrary
{
- public abstract class BaseItemsRequest
+ public abstract class BaseItemsRequest : IHasItemFields
{
/// <summary>
/// Skips over a given number of items within the results. Use for paging.
@@ -110,32 +110,6 @@ namespace MediaBrowser.Api.UserLibrary
}
/// <summary>
- /// Gets the item fields.
- /// </summary>
- /// <returns>IEnumerable{ItemFields}.</returns>
- public IEnumerable<ItemFields> GetItemFields()
- {
- var val = Fields;
-
- if (string.IsNullOrEmpty(val))
- {
- return new ItemFields[] { };
- }
-
- return val.Split(',').Select(v =>
- {
- ItemFields value;
-
- if (Enum.TryParse(v, true, out value))
- {
- return (ItemFields?)value;
- }
- return null;
-
- }).Where(i => i.HasValue).Select(i => i.Value);
- }
-
- /// <summary>
/// Gets the image types.
/// </summary>
/// <returns>IEnumerable{ImageType}.</returns>
diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs
index 3936014c5..cae74cc2f 100644
--- a/MediaBrowser.Api/UserLibrary/ItemsService.cs
+++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs
@@ -1012,7 +1012,7 @@ namespace MediaBrowser.Api.UserLibrary
if (request.AiredDuringSeason.HasValue)
{
- items = FilterByAiredDuringSeason(items, request.AiredDuringSeason.Value);
+ items = TvShowsService.FilterEpisodesBySeason(items.OfType<Episode>(), request.AiredDuringSeason.Value, true);
}
if (!string.IsNullOrEmpty(request.MinPremiereDate))
@@ -1032,43 +1032,6 @@ namespace MediaBrowser.Api.UserLibrary
return items;
}
- private IEnumerable<BaseItem> FilterByAiredDuringSeason(IEnumerable<BaseItem> items, int seasonNumber)
- {
- var episodes = items.OfType<Episode>().ToList();
-
- // We can only enforce the air date requirement if the episodes have air dates
- var enforceAirDate = episodes.Any(i => i.PremiereDate.HasValue);
-
- return episodes.Where(i =>
- {
- var episode = i;
-
- if (episode != null)
- {
- var currentSeasonNumber = episode.AirsAfterSeasonNumber ?? episode.AirsBeforeSeasonNumber ?? episode.ParentIndexNumber;
-
- // If this produced nothing, try and get it from the parent folder
- if (!currentSeasonNumber.HasValue)
- {
- var season = episode.Parent as Season;
- if (season != null)
- {
- currentSeasonNumber = season.IndexNumber;
- }
- }
-
- if (enforceAirDate && !episode.PremiereDate.HasValue)
- {
- return false;
- }
-
- return currentSeasonNumber.HasValue && currentSeasonNumber.Value == seasonNumber;
- }
-
- return false;
- });
- }
-
/// <summary>
/// Determines whether the specified item has image.
/// </summary>