aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api')
-rw-r--r--MediaBrowser.Api/GamesService.cs4
-rw-r--r--MediaBrowser.Api/Library/LibraryService.cs10
-rw-r--r--MediaBrowser.Api/Movies/MoviesService.cs4
-rw-r--r--MediaBrowser.Api/Reports/ReportsService.cs51
-rw-r--r--MediaBrowser.Api/TvShowsService.cs8
-rw-r--r--MediaBrowser.Api/UserLibrary/ItemsService.cs63
6 files changed, 47 insertions, 93 deletions
diff --git a/MediaBrowser.Api/GamesService.cs b/MediaBrowser.Api/GamesService.cs
index a27c872f15..159a250044 100644
--- a/MediaBrowser.Api/GamesService.cs
+++ b/MediaBrowser.Api/GamesService.cs
@@ -108,7 +108,7 @@ namespace MediaBrowser.Api
IncludeItemTypes = new[] { typeof(GameSystem).Name }
};
var parentIds = new string[] { } ;
- var gameSystems = _libraryManager.GetItems(query, parentIds)
+ var gameSystems = _libraryManager.GetItemList(query, parentIds)
.Cast<GameSystem>()
.ToList();
@@ -129,7 +129,7 @@ namespace MediaBrowser.Api
IncludeItemTypes = new[] { typeof(Game).Name }
};
var parentIds = new string[] { };
- var games = _libraryManager.GetItems(query, parentIds)
+ var games = _libraryManager.GetItemList(query, parentIds)
.Cast<Game>()
.ToList();
diff --git a/MediaBrowser.Api/Library/LibraryService.cs b/MediaBrowser.Api/Library/LibraryService.cs
index 1d7b76c369..871f5e8a84 100644
--- a/MediaBrowser.Api/Library/LibraryService.cs
+++ b/MediaBrowser.Api/Library/LibraryService.cs
@@ -444,13 +444,11 @@ namespace MediaBrowser.Api.Library
public void Post(PostUpdatedSeries request)
{
- var series = _libraryManager.GetItems(new InternalItemsQuery
+ var series = _libraryManager.GetItemList(new InternalItemsQuery
{
IncludeItemTypes = new[] { typeof(Series).Name }
- }).Items;
-
- series = series.Where(i => string.Equals(request.TvdbId, i.GetProviderId(MetadataProviders.Tvdb), StringComparison.OrdinalIgnoreCase)).ToArray();
+ }).Where(i => string.Equals(request.TvdbId, i.GetProviderId(MetadataProviders.Tvdb), StringComparison.OrdinalIgnoreCase)).ToArray();
if (series.Length > 0)
{
@@ -467,11 +465,11 @@ namespace MediaBrowser.Api.Library
public void Post(PostUpdatedMovies request)
{
- var movies = _libraryManager.GetItems(new InternalItemsQuery
+ var movies = _libraryManager.GetItemList(new InternalItemsQuery
{
IncludeItemTypes = new[] { typeof(Movie).Name }
- }).Items;
+ }).ToArray();
if (!string.IsNullOrWhiteSpace(request.ImdbId))
{
diff --git a/MediaBrowser.Api/Movies/MoviesService.cs b/MediaBrowser.Api/Movies/MoviesService.cs
index b60aa0cbad..b3d485dc70 100644
--- a/MediaBrowser.Api/Movies/MoviesService.cs
+++ b/MediaBrowser.Api/Movies/MoviesService.cs
@@ -146,7 +146,7 @@ namespace MediaBrowser.Api.Movies
}
var parentIds = string.IsNullOrWhiteSpace(request.ParentId) ? new string[] { } : new[] { request.ParentId };
- var movies = _libraryManager.GetItems(query, parentIds);
+ var movies = _libraryManager.GetItemList(query, parentIds);
movies = _libraryManager.ReplaceVideosWithPrimaryVersions(movies);
var listEligibleForCategories = new List<BaseItem>();
@@ -197,7 +197,7 @@ namespace MediaBrowser.Api.Movies
}
var parentIds = new string[] { };
- var list = _libraryManager.GetItems(query, parentIds)
+ var list = _libraryManager.GetItemList(query, parentIds)
.Where(i =>
{
// Strip out secondary versions
diff --git a/MediaBrowser.Api/Reports/ReportsService.cs b/MediaBrowser.Api/Reports/ReportsService.cs
index 6cbe2fd892..d3e9abe69e 100644
--- a/MediaBrowser.Api/Reports/ReportsService.cs
+++ b/MediaBrowser.Api/Reports/ReportsService.cs
@@ -302,6 +302,16 @@ namespace MediaBrowser.Api.Reports
}
}
+ if (!string.IsNullOrEmpty(request.MinPremiereDate))
+ {
+ query.MinPremiereDate = DateTime.Parse(request.MinPremiereDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime();
+ }
+
+ if (!string.IsNullOrEmpty(request.MaxPremiereDate))
+ {
+ query.MaxPremiereDate = DateTime.Parse(request.MaxPremiereDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime();
+ }
+
if (request.HasQueryLimit == false)
{
query.StartIndex = null;
@@ -539,50 +549,9 @@ namespace MediaBrowser.Api.Reports
}
}
- if (!string.IsNullOrEmpty(request.MinPremiereDate))
- {
- var date = DateTime.Parse(request.MinPremiereDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime();
-
- if (!(i.PremiereDate.HasValue && i.PremiereDate.Value >= date))
- {
- return false;
- }
- }
-
- if (!string.IsNullOrEmpty(request.MaxPremiereDate))
- {
- var date = DateTime.Parse(request.MaxPremiereDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime();
-
- if (!(i.PremiereDate.HasValue && i.PremiereDate.Value <= date))
- {
- return false;
- }
- }
-
return true;
}
- /// <summary> Applies the paging. </summary>
- /// <param name="request"> The request. </param>
- /// <param name="items"> The items. </param>
- /// <returns> IEnumerable{BaseItem}. </returns>
- private IEnumerable<BaseItem> ApplyPaging(BaseReportRequest request, IEnumerable<BaseItem> items)
- {
- // Start at
- if (request.StartIndex.HasValue)
- {
- items = items.Skip(request.StartIndex.Value);
- }
-
- // Return limit
- if (request.Limit.HasValue)
- {
- items = items.Take(request.Limit.Value);
- }
-
- return items;
- }
-
/// <summary> Gets query result. </summary>
/// <param name="request"> The request. </param>
/// <returns> The query result. </returns>
diff --git a/MediaBrowser.Api/TvShowsService.cs b/MediaBrowser.Api/TvShowsService.cs
index 2873dd8b46..7893ff5bd8 100644
--- a/MediaBrowser.Api/TvShowsService.cs
+++ b/MediaBrowser.Api/TvShowsService.cs
@@ -277,7 +277,7 @@ namespace MediaBrowser.Api
var parentIds = string.IsNullOrWhiteSpace(request.ParentId) ? new string[] { } : new[] { request.ParentId };
- var itemsResult = _libraryManager.GetItemsResult(new InternalItemsQuery(user)
+ var itemsResult = _libraryManager.GetItemList(new InternalItemsQuery(user)
{
IncludeItemTypes = new[] { typeof(Episode).Name },
SortBy = new[] { "PremiereDate", "AirTime", "SortName" },
@@ -286,15 +286,15 @@ namespace MediaBrowser.Api
StartIndex = request.StartIndex,
Limit = request.Limit
- }, parentIds);
+ }, parentIds).ToList();
var options = GetDtoOptions(request);
- var returnItems = _dtoService.GetBaseItemDtos(itemsResult.Items, options, user).ToArray();
+ var returnItems = _dtoService.GetBaseItemDtos(itemsResult, options, user).ToArray();
var result = new ItemsResult
{
- TotalRecordCount = itemsResult.TotalRecordCount,
+ TotalRecordCount = itemsResult.Count,
Items = returnItems
};
diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs
index 93e123dea5..e739ac7c2c 100644
--- a/MediaBrowser.Api/UserLibrary/ItemsService.cs
+++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs
@@ -85,17 +85,16 @@ namespace MediaBrowser.Api.UserLibrary
/// <returns>Task{ItemsResult}.</returns>
private async Task<ItemsResult> GetItems(GetItems request)
{
- var parentItem = string.IsNullOrEmpty(request.ParentId) ? null : _libraryManager.GetItemById(request.ParentId);
var user = !string.IsNullOrWhiteSpace(request.UserId) ? _userManager.GetUserById(request.UserId) : null;
- var result = await GetItemsToSerialize(request, user, parentItem).ConfigureAwait(false);
+ var result = await GetItemsToSerialize(request, user).ConfigureAwait(false);
var dtoOptions = GetDtoOptions(request);
return new ItemsResult
{
- TotalRecordCount = result.Item1.TotalRecordCount,
- Items = _dtoService.GetBaseItemDtos(result.Item1.Items, dtoOptions, user).ToArray()
+ TotalRecordCount = result.TotalRecordCount,
+ Items = _dtoService.GetBaseItemDtos(result.Items, dtoOptions, user).ToArray()
};
}
@@ -104,17 +103,16 @@ namespace MediaBrowser.Api.UserLibrary
/// </summary>
/// <param name="request">The request.</param>
/// <param name="user">The user.</param>
- /// <param name="parentItem">The parent item.</param>
/// <returns>IEnumerable{BaseItem}.</returns>
- private async Task<Tuple<QueryResult<BaseItem>, bool>> GetItemsToSerialize(GetItems request, User user, BaseItem parentItem)
+ private async Task<QueryResult<BaseItem>> GetItemsToSerialize(GetItems request, User user)
{
var item = string.IsNullOrEmpty(request.ParentId) ?
user == null ? _libraryManager.RootFolder : user.RootFolder :
- parentItem;
+ _libraryManager.GetItemById(request.ParentId);
if (string.Equals(request.IncludeItemTypes, "Playlist", StringComparison.OrdinalIgnoreCase))
{
- item = user == null ? _libraryManager.RootFolder : user.RootFolder;
+ //item = user == null ? _libraryManager.RootFolder : user.RootFolder;
}
else if (string.Equals(request.IncludeItemTypes, "BoxSet", StringComparison.OrdinalIgnoreCase))
{
@@ -137,21 +135,21 @@ namespace MediaBrowser.Api.UserLibrary
result.Items = result.Items.OrderBy(i => ids.IndexOf(i.Id.ToString("N"))).ToArray();
}
- return new Tuple<QueryResult<BaseItem>, bool>(result, true);
+ return result;
}
if (request.Recursive)
{
var result = await ((Folder)item).GetItems(GetItemsQuery(request, user)).ConfigureAwait(false);
- return new Tuple<QueryResult<BaseItem>, bool>(result, true);
+ return result;
}
if (user == null)
{
var result = await ((Folder)item).GetItems(GetItemsQuery(request, null)).ConfigureAwait(false);
- return new Tuple<QueryResult<BaseItem>, bool>(result, true);
+ return result;
}
var userRoot = item as UserRootFolder;
@@ -160,26 +158,24 @@ namespace MediaBrowser.Api.UserLibrary
{
var result = await ((Folder)item).GetItems(GetItemsQuery(request, user)).ConfigureAwait(false);
- return new Tuple<QueryResult<BaseItem>, bool>(result, true);
+ return result;
}
IEnumerable<BaseItem> items = ((Folder)item).GetChildren(user, true);
var itemsArray = items.ToArray();
- return new Tuple<QueryResult<BaseItem>, bool>(new QueryResult<BaseItem>
+ return new QueryResult<BaseItem>
{
Items = itemsArray,
TotalRecordCount = itemsArray.Length
-
- }, false);
+ };
}
private InternalItemsQuery GetItemsQuery(GetItems request, User user)
{
- var query = new InternalItemsQuery
+ var query = new InternalItemsQuery(user)
{
- User = user,
IsPlayed = request.IsPlayed,
MediaTypes = request.GetMediaTypes(),
IncludeItemTypes = request.GetIncludeItemTypes(),
@@ -234,7 +230,8 @@ namespace MediaBrowser.Api.UserLibrary
MinPlayers = request.MinPlayers,
MaxPlayers = request.MaxPlayers,
MinCommunityRating = request.MinCommunityRating,
- MinCriticRating = request.MinCriticRating
+ MinCriticRating = request.MinCriticRating,
+ ParentId = string.IsNullOrWhiteSpace(request.ParentId) ? (Guid?)null : new Guid(request.ParentId)
};
if (!string.IsNullOrWhiteSpace(request.Ids))
@@ -278,6 +275,16 @@ namespace MediaBrowser.Api.UserLibrary
}
}
+ if (!string.IsNullOrEmpty(request.MinPremiereDate))
+ {
+ query.MinPremiereDate = DateTime.Parse(request.MinPremiereDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime();
+ }
+
+ if (!string.IsNullOrEmpty(request.MaxPremiereDate))
+ {
+ query.MaxPremiereDate = DateTime.Parse(request.MaxPremiereDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime();
+ }
+
return query;
}
@@ -500,26 +507,6 @@ namespace MediaBrowser.Api.UserLibrary
}
}
- if (!string.IsNullOrEmpty(request.MinPremiereDate))
- {
- var date = DateTime.Parse(request.MinPremiereDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime();
-
- if (!(i.PremiereDate.HasValue && i.PremiereDate.Value >= date))
- {
- return false;
- }
- }
-
- if (!string.IsNullOrEmpty(request.MaxPremiereDate))
- {
- var date = DateTime.Parse(request.MaxPremiereDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime();
-
- if (!(i.PremiereDate.HasValue && i.PremiereDate.Value <= date))
- {
- return false;
- }
- }
-
return true;
}
}