aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/TvShowsService.cs
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2015-02-19 12:50:05 -0500
committerLuke <luke.pulverenti@gmail.com>2015-02-19 12:50:05 -0500
commit8c09665c40776060a09655fb4ea04ec65bdffb73 (patch)
treeb1432a7315a7a7689be21fa2e3cc122350c778b2 /MediaBrowser.Api/TvShowsService.cs
parent3cce8731614e6846096bbe54fca8336e7f5d98d9 (diff)
parentf2c3dade77878b48a9a333d745e5d92a0f913233 (diff)
Merge pull request #1016 from MediaBrowser/dev
3.0.5518.5
Diffstat (limited to 'MediaBrowser.Api/TvShowsService.cs')
-rw-r--r--MediaBrowser.Api/TvShowsService.cs15
1 files changed, 12 insertions, 3 deletions
diff --git a/MediaBrowser.Api/TvShowsService.cs b/MediaBrowser.Api/TvShowsService.cs
index 13ec1db3c..9c9feead5 100644
--- a/MediaBrowser.Api/TvShowsService.cs
+++ b/MediaBrowser.Api/TvShowsService.cs
@@ -157,6 +157,9 @@ namespace MediaBrowser.Api
[ApiMember(Name = "AdjacentTo", Description = "Optional. Return items that are siblings of a supplied item.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
public string AdjacentTo { get; set; }
+ [ApiMember(Name = "StartItemId", Description = "Optional. Skip through the list until a given item is found.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
+ public string StartItemId { get; set; }
+
/// <summary>
/// Skips over a given number of items within the results. Use for paging.
/// </summary>
@@ -475,6 +478,11 @@ namespace MediaBrowser.Api
episodes = episodes.Where(i => i.IsVirtualUnaired == val);
}
+ if (!string.IsNullOrWhiteSpace(request.StartItemId))
+ {
+ episodes = episodes.SkipWhile(i => !string.Equals(i.Id.ToString("N"), request.StartItemId, StringComparison.OrdinalIgnoreCase));
+ }
+
IEnumerable<BaseItem> returnItems = episodes;
// This must be the last filter
@@ -483,9 +491,10 @@ namespace MediaBrowser.Api
returnItems = UserViewBuilder.FilterForAdjacency(returnItems, request.AdjacentTo);
}
- returnItems = _libraryManager.ReplaceVideosWithPrimaryVersions(returnItems);
+ var returnList = _libraryManager.ReplaceVideosWithPrimaryVersions(returnItems)
+ .ToList();
- var pagedItems = ApplyPaging(returnItems, request.StartIndex, request.Limit);
+ var pagedItems = ApplyPaging(returnList, request.StartIndex, request.Limit);
var dtoOptions = GetDtoOptions(request);
@@ -494,7 +503,7 @@ namespace MediaBrowser.Api
return new ItemsResult
{
- TotalRecordCount = dtos.Length,
+ TotalRecordCount = returnList.Count,
Items = dtos
};
}