diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-12-27 00:08:39 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-12-27 00:08:39 -0500 |
| commit | 55b9bffabcd2322d398d405eadf848a84744121d (patch) | |
| tree | 4e3f763be62284710451c9b3d7c62c1c082d60f6 /MediaBrowser.Api/UserLibrary/UserLibraryService.cs | |
| parent | 2e53ff1fd0379ed6e4861f062815402230205ff0 (diff) | |
added optional SeasonUserData
Diffstat (limited to 'MediaBrowser.Api/UserLibrary/UserLibraryService.cs')
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/UserLibraryService.cs | 45 |
1 files changed, 21 insertions, 24 deletions
diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs index 040cad436..45a330a50 100644 --- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs +++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs @@ -407,9 +407,6 @@ namespace MediaBrowser.Api.UserLibrary { var user = _userManager.GetUserById(request.UserId); - // Get everything - var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList(); - var query = new UserViewQuery { UserId = request.UserId @@ -423,7 +420,9 @@ namespace MediaBrowser.Api.UserLibrary var folders = await _userViewManager.GetUserViews(query, CancellationToken.None).ConfigureAwait(false); - var dtos = folders.Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + var dtoOptions = new DtoOptions(); + + var dtos = folders.Select(i => _dtoService.GetBaseItemDto(i, dtoOptions, user)) .ToArray(); var result = new QueryResult<BaseItemDto> @@ -443,14 +442,16 @@ namespace MediaBrowser.Api.UserLibrary user.RootFolder : _libraryManager.GetItemById(request.Id); - // Get everything - var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList(); - var series = item as Series; // Get them from the child tree if (series != null) { + var dtoOptions = new DtoOptions(); + + // Avoid implicitly captured closure + var currentUser = user; + var dtos = series .GetRecursiveChildren() .Where(i => i is Episode && i.ParentIndexNumber.HasValue && i.ParentIndexNumber.Value == 0) @@ -468,7 +469,7 @@ namespace MediaBrowser.Api.UserLibrary return DateTime.MinValue; }) .ThenBy(i => i.SortName) - .Select(i => _dtoService.GetBaseItemDto(i, fields, user)); + .Select(i => _dtoService.GetBaseItemDto(i, dtoOptions, currentUser)); return dtos.ToList(); } @@ -478,10 +479,12 @@ namespace MediaBrowser.Api.UserLibrary // Get them from the db if (movie != null) { + var dtoOptions = new DtoOptions(); + var dtos = movie.SpecialFeatureIds .Select(_libraryManager.GetItemById) .OrderBy(i => i.SortName) - .Select(i => _dtoService.GetBaseItemDto(i, fields, user, item)); + .Select(i => _dtoService.GetBaseItemDto(i, dtoOptions, user, item)); return dtos.ToList(); } @@ -507,9 +510,6 @@ namespace MediaBrowser.Api.UserLibrary var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : _libraryManager.GetItemById(request.Id); - // Get everything - var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList(); - var trailerIds = new List<Guid>(); var hasTrailers = item as IHasTrailers; @@ -518,10 +518,12 @@ namespace MediaBrowser.Api.UserLibrary trailerIds = hasTrailers.GetTrailerIds(); } + var dtoOptions = new DtoOptions(); + var dtos = trailerIds .Select(_libraryManager.GetItemById) .OrderBy(i => i.SortName) - .Select(i => _dtoService.GetBaseItemDto(i, fields, user, item)); + .Select(i => _dtoService.GetBaseItemDto(i, dtoOptions, user, item)); return dtos.ToList(); } @@ -537,10 +539,9 @@ namespace MediaBrowser.Api.UserLibrary var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : _libraryManager.GetItemById(request.Id); - // Get everything - var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList(); + var dtoOptions = new DtoOptions(); - var result = _dtoService.GetBaseItemDto(item, fields, user); + var result = _dtoService.GetBaseItemDto(item, dtoOptions, user); return ToOptimizedSerializedResultUsingCache(result); } @@ -556,10 +557,9 @@ namespace MediaBrowser.Api.UserLibrary var item = user.RootFolder; - // Get everything - var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList(); + var dtoOptions = new DtoOptions(); - var result = _dtoService.GetBaseItemDto(item, fields, user); + var result = _dtoService.GetBaseItemDto(item, dtoOptions, user); return ToOptimizedSerializedResultUsingCache(result); } @@ -577,12 +577,9 @@ namespace MediaBrowser.Api.UserLibrary var items = await _libraryManager.GetIntros(item, user).ConfigureAwait(false); - // Get everything - var fields = Enum.GetNames(typeof(ItemFields)) - .Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)) - .ToList(); + var dtoOptions = new DtoOptions(); - var dtos = items.Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + var dtos = items.Select(i => _dtoService.GetBaseItemDto(i, dtoOptions, user)) .ToArray(); var result = new ItemsResult |
