diff options
Diffstat (limited to 'MediaBrowser.Api')
| -rw-r--r-- | MediaBrowser.Api/GamesService.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Api/Library/LibraryService.cs | 10 | ||||
| -rw-r--r-- | MediaBrowser.Api/Movies/MoviesService.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Api/Reports/ReportsService.cs | 51 | ||||
| -rw-r--r-- | MediaBrowser.Api/TvShowsService.cs | 8 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/ItemsService.cs | 63 |
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; } } |
