diff options
Diffstat (limited to 'MediaBrowser.Api')
| -rw-r--r-- | MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs | 34 | ||||
| -rw-r--r-- | MediaBrowser.Api/DefaultTheme/Models.cs | 35 | ||||
| -rw-r--r-- | MediaBrowser.Api/Images/ImageRequest.cs | 3 | ||||
| -rw-r--r-- | MediaBrowser.Api/InstantMixService.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Api/LibraryService.cs | 16 | ||||
| -rw-r--r-- | MediaBrowser.Api/SearchService.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Api/SimilarItemsHelper.cs | 13 | ||||
| -rw-r--r-- | MediaBrowser.Api/TvShowsService.cs | 18 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs | 8 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/ItemsService.cs | 12 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/UserLibraryService.cs | 10 |
11 files changed, 82 insertions, 77 deletions
diff --git a/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs b/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs index 736710c54..eb4ddc9cd 100644 --- a/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs +++ b/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs @@ -107,7 +107,7 @@ namespace MediaBrowser.Api.DefaultTheme .Take(50) .Select(i => _dtoService.GetBaseItemDto(i, fields, user)); - view.SpotlightItems = dtos.ToArray(); + view.SpotlightItems = dtos.ToList(); return view; } @@ -139,7 +139,7 @@ namespace MediaBrowser.Api.DefaultTheme .Take(50) .Select(i => _dtoService.GetBaseItemDto(i, fields, user)); - view.SpotlightItems = dtos.ToArray(); + view.SpotlightItems = dtos.ToList(); return view; } @@ -178,7 +178,7 @@ namespace MediaBrowser.Api.DefaultTheme .AsParallel() .Select(i => _dtoService.GetBaseItemDto(i, fields, user)); - view.SpotlightItems = dtos.ToArray(); + view.SpotlightItems = dtos.ToList(); view.ShowsItems = series .Where(i => i.BackdropImagePaths.Count > 0) @@ -186,7 +186,7 @@ namespace MediaBrowser.Api.DefaultTheme .Select(i => GetItemStub(i, ImageType.Backdrop)) .Where(i => i != null) .Take(3) - .ToArray(); + .ToList(); var romanceGenres = request.RomanceGenre.Split(',').ToDictionary(i => i, StringComparer.OrdinalIgnoreCase); var comedyGenres = request.ComedyGenre.Split(',').ToDictionary(i => i, StringComparer.OrdinalIgnoreCase); @@ -197,7 +197,7 @@ namespace MediaBrowser.Api.DefaultTheme .Select(i => GetItemStub(i, ImageType.Backdrop)) .Where(i => i != null) .Take(3) - .ToArray(); + .ToList(); view.ComedyItems = seriesWithBackdrops .Where(i => i.Genres.Any(comedyGenres.ContainsKey)) @@ -205,7 +205,7 @@ namespace MediaBrowser.Api.DefaultTheme .Select(i => GetItemStub(i, ImageType.Backdrop)) .Where(i => i != null) .Take(3) - .ToArray(); + .ToList(); view.ActorItems = GetActors(series); @@ -252,14 +252,14 @@ namespace MediaBrowser.Api.DefaultTheme .Take(50) .Select(i => _dtoService.GetBaseItemDto(i, fields, user)); - view.SpotlightItems = dtos.ToArray(); + view.SpotlightItems = dtos.ToList(); view.MovieItems = moviesWithBackdrops .OrderBy(i => Guid.NewGuid()) .Select(i => GetItemStub(i, ImageType.Backdrop)) .Where(i => i != null) .Take(3) - .ToArray(); + .ToList(); view.TrailerItems = items .OfType<Trailer>() @@ -268,7 +268,7 @@ namespace MediaBrowser.Api.DefaultTheme .Select(i => GetItemStub(i, ImageType.Primary)) .Where(i => i != null) .Take(3) - .ToArray(); + .ToList(); view.BoxSetItems = items .OfType<BoxSet>() @@ -277,7 +277,7 @@ namespace MediaBrowser.Api.DefaultTheme .Select(i => GetItemStub(i, ImageType.Backdrop)) .Where(i => i != null) .Take(3) - .ToArray(); + .ToList(); view.ThreeDItems = moviesWithBackdrops .Where(i => i.Is3D) @@ -285,7 +285,7 @@ namespace MediaBrowser.Api.DefaultTheme .Select(i => GetItemStub(i, ImageType.Backdrop)) .Where(i => i != null) .Take(3) - .ToArray(); + .ToList(); var romanceGenres = request.RomanceGenre.Split(',').ToDictionary(i => i, StringComparer.OrdinalIgnoreCase); var comedyGenres = request.ComedyGenre.Split(',').ToDictionary(i => i, StringComparer.OrdinalIgnoreCase); @@ -296,7 +296,7 @@ namespace MediaBrowser.Api.DefaultTheme .Select(i => GetItemStub(i, ImageType.Backdrop)) .Where(i => i != null) .Take(3) - .ToArray(); + .ToList(); view.ComedyItems = moviesWithBackdrops .Where(i => i.Genres.Any(comedyGenres.ContainsKey)) @@ -304,7 +304,7 @@ namespace MediaBrowser.Api.DefaultTheme .Select(i => GetItemStub(i, ImageType.Backdrop)) .Where(i => i != null) .Take(3) - .ToArray(); + .ToList(); view.HDItems = hdMovies .Where(i => i.BackdropImagePaths.Count > 0) @@ -312,7 +312,7 @@ namespace MediaBrowser.Api.DefaultTheme .Select(i => GetItemStub(i, ImageType.Backdrop)) .Where(i => i != null) .Take(3) - .ToArray(); + .ToList(); view.FamilyMovies = familyMovies .Where(i => i.BackdropImagePaths.Count > 0) @@ -320,7 +320,7 @@ namespace MediaBrowser.Api.DefaultTheme .Select(i => GetItemStub(i, ImageType.Backdrop)) .Where(i => i != null) .Take(3) - .ToArray(); + .ToList(); view.PeopleItems = GetActors(items); @@ -362,7 +362,7 @@ namespace MediaBrowser.Api.DefaultTheme } } - private ItemStub[] GetActors(IEnumerable<BaseItem> mediaItems) + private List<ItemStub> GetActors(IEnumerable<BaseItem> mediaItems) { var actors = mediaItems.SelectMany(i => i.People) .Select(i => i.Name) @@ -390,7 +390,7 @@ namespace MediaBrowser.Api.DefaultTheme }) .Where(i => i != null) .Take(3) - .ToArray(); + .ToList(); } private ItemStub GetItemStub(BaseItem item, ImageType imageType) diff --git a/MediaBrowser.Api/DefaultTheme/Models.cs b/MediaBrowser.Api/DefaultTheme/Models.cs index a25bb4bb1..12fde353b 100644 --- a/MediaBrowser.Api/DefaultTheme/Models.cs +++ b/MediaBrowser.Api/DefaultTheme/Models.cs @@ -1,6 +1,7 @@ using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using System; +using System.Collections.Generic; namespace MediaBrowser.Api.DefaultTheme { @@ -14,19 +15,19 @@ namespace MediaBrowser.Api.DefaultTheme public class MoviesView { - public BaseItemDto[] SpotlightItems { get; set; } - public ItemStub[] MovieItems { get; set; } - public ItemStub[] PeopleItems { get; set; } + public List<BaseItemDto> SpotlightItems { get; set; } + public List<ItemStub> MovieItems { get; set; } + public List<ItemStub> PeopleItems { get; set; } - public ItemStub[] BoxSetItems { get; set; } - public ItemStub[] TrailerItems { get; set; } - public ItemStub[] HDItems { get; set; } - public ItemStub[] ThreeDItems { get; set; } + public List<ItemStub> BoxSetItems { get; set; } + public List<ItemStub> TrailerItems { get; set; } + public List<ItemStub> HDItems { get; set; } + public List<ItemStub> ThreeDItems { get; set; } - public ItemStub[] FamilyMovies { get; set; } + public List<ItemStub> FamilyMovies { get; set; } - public ItemStub[] RomanceItems { get; set; } - public ItemStub[] ComedyItems { get; set; } + public List<ItemStub> RomanceItems { get; set; } + public List<ItemStub> ComedyItems { get; set; } public double FamilyMoviePercentage { get; set; } @@ -35,21 +36,21 @@ namespace MediaBrowser.Api.DefaultTheme public class TvView { - public BaseItemDto[] SpotlightItems { get; set; } - public ItemStub[] ShowsItems { get; set; } - public ItemStub[] ActorItems { get; set; } + public List<BaseItemDto> SpotlightItems { get; set; } + public List<ItemStub> ShowsItems { get; set; } + public List<ItemStub> ActorItems { get; set; } - public ItemStub[] RomanceItems { get; set; } - public ItemStub[] ComedyItems { get; set; } + public List<ItemStub> RomanceItems { get; set; } + public List<ItemStub> ComedyItems { get; set; } } public class GamesView { - public BaseItemDto[] SpotlightItems { get; set; } + public List<BaseItemDto> SpotlightItems { get; set; } } public class HomeView { - public BaseItemDto[] SpotlightItems { get; set; } + public List<BaseItemDto> SpotlightItems { get; set; } } } diff --git a/MediaBrowser.Api/Images/ImageRequest.cs b/MediaBrowser.Api/Images/ImageRequest.cs index fcb731f59..294b7ae96 100644 --- a/MediaBrowser.Api/Images/ImageRequest.cs +++ b/MediaBrowser.Api/Images/ImageRequest.cs @@ -57,14 +57,13 @@ namespace MediaBrowser.Api.Images public ImageOutputFormat Format { get; set; } [ApiMember(Name = "Indicator", Description = "Determines what overlay to render, if any. none, watched.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")] - public ImageOverlay Indicator { get; set; } + public ImageOverlay? Indicator { get; set; } public ImageRequest() { EnableImageEnhancers = true; Format = ImageOutputFormat.Original; - Indicator = ImageOverlay.None; } } diff --git a/MediaBrowser.Api/InstantMixService.cs b/MediaBrowser.Api/InstantMixService.cs index baea2bc78..5a8c5a985 100644 --- a/MediaBrowser.Api/InstantMixService.cs +++ b/MediaBrowser.Api/InstantMixService.cs @@ -124,14 +124,14 @@ namespace MediaBrowser.Api .Select(i => i.Item1) .Take(limit) .OrderBy(i => Guid.NewGuid()) - .ToArray(); + .ToList(); var result = new ItemsResult { - TotalRecordCount = items.Length + TotalRecordCount = items.Count }; - var dtos = items.Take(request.Limit ?? items.Length) + var dtos = items.Take(request.Limit ?? items.Count) .Select(i => _dtoService.GetBaseItemDto(i, fields, user)); result.Items = dtos.ToArray(); diff --git a/MediaBrowser.Api/LibraryService.cs b/MediaBrowser.Api/LibraryService.cs index 68a2258b8..83e35cd41 100644 --- a/MediaBrowser.Api/LibraryService.cs +++ b/MediaBrowser.Api/LibraryService.cs @@ -235,7 +235,7 @@ namespace MediaBrowser.Api /// </summary> /// <param name="request">The request.</param> /// <returns>Task{BaseItemDto[]}.</returns> - public BaseItemDto[] GetAncestors(GetAncestors request) + public List<BaseItemDto> GetAncestors(GetAncestors request) { var item = _dtoService.GetItemByDtoId(request.Id); @@ -267,7 +267,7 @@ namespace MediaBrowser.Api parent = parent.Parent; } - return baseItemDtos.ToArray(); + return baseItemDtos.ToList(); } private BaseItem TranslateParentItem(BaseItem item, User user) @@ -463,7 +463,7 @@ namespace MediaBrowser.Api Id = request.Id, UserId = request.UserId - }).Result; + }); var themeVideos = GetThemeVideos(new GetThemeVideos { @@ -471,7 +471,7 @@ namespace MediaBrowser.Api Id = request.Id, UserId = request.UserId - }).Result; + }); return ToOptimizedResult(new AllThemeMediaResult { @@ -487,12 +487,12 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetThemeSongs request) { - var result = GetThemeSongs(request).Result; + var result = GetThemeSongs(request); return ToOptimizedResult(result); } - private async Task<ThemeMediaResult> GetThemeSongs(GetThemeSongs request) + private ThemeMediaResult GetThemeSongs(GetThemeSongs request) { var user = request.UserId.HasValue ? _userManager.GetUserById(request.UserId.Value) : null; @@ -533,12 +533,12 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetThemeVideos request) { - var result = GetThemeVideos(request).Result; + var result = GetThemeVideos(request); return ToOptimizedResult(result); } - public async Task<ThemeMediaResult> GetThemeVideos(GetThemeVideos request) + public ThemeMediaResult GetThemeVideos(GetThemeVideos request) { var user = request.UserId.HasValue ? _userManager.GetUserById(request.UserId.Value) : null; diff --git a/MediaBrowser.Api/SearchService.cs b/MediaBrowser.Api/SearchService.cs index 78c299fbb..ba669002e 100644 --- a/MediaBrowser.Api/SearchService.cs +++ b/MediaBrowser.Api/SearchService.cs @@ -118,7 +118,7 @@ namespace MediaBrowser.Api var results = await _searchEngine.GetSearchHints(inputItems, request.SearchTerm).ConfigureAwait(false); - var searchResultArray = results.ToArray(); + var searchResultArray = results.ToList(); IEnumerable<SearchHintInfo> returnResults = searchResultArray; @@ -134,7 +134,7 @@ namespace MediaBrowser.Api return new SearchHintResult { - TotalRecordCount = searchResultArray.Length, + TotalRecordCount = searchResultArray.Count, SearchHints = returnResults.Select(GetSearchHintResult).ToArray() }; diff --git a/MediaBrowser.Api/SimilarItemsHelper.cs b/MediaBrowser.Api/SimilarItemsHelper.cs index f884a5f1d..4103eff35 100644 --- a/MediaBrowser.Api/SimilarItemsHelper.cs +++ b/MediaBrowser.Api/SimilarItemsHelper.cs @@ -108,13 +108,20 @@ namespace MediaBrowser.Api : user.RootFolder.GetRecursiveChildren(user); var items = GetSimilaritems(item, inputItems, includeInSearch, getSimilarityScore) - .ToArray(); + .ToList(); + + IEnumerable<BaseItem> returnItems = items; + + if (request.Limit.HasValue) + { + returnItems = returnItems.Take(request.Limit.Value); + } var result = new ItemsResult { - Items = items.Take(request.Limit ?? items.Length).Select(i => dtoService.GetBaseItemDto(i, fields, user)).ToArray(), + Items = returnItems.Select(i => dtoService.GetBaseItemDto(i, fields, user)).ToArray(), - TotalRecordCount = items.Length + TotalRecordCount = items.Count }; return result; diff --git a/MediaBrowser.Api/TvShowsService.cs b/MediaBrowser.Api/TvShowsService.cs index e7e8e71c3..e62959bee 100644 --- a/MediaBrowser.Api/TvShowsService.cs +++ b/MediaBrowser.Api/TvShowsService.cs @@ -3,13 +3,11 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Persistence; -using MediaBrowser.Model.Dto; using MediaBrowser.Model.Querying; using ServiceStack.ServiceHost; using System; using System.Collections.Generic; using System.Linq; -using System.Threading.Tasks; namespace MediaBrowser.Api { @@ -144,7 +142,7 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetNextUpEpisodes request) { - var result = GetNextUpEpisodes(request).Result; + var result = GetNextUpEpisodes(request); return ToOptimizedResult(result); } @@ -154,18 +152,18 @@ namespace MediaBrowser.Api /// </summary> /// <param name="request">The request.</param> /// <returns>Task{ItemsResult}.</returns> - private async Task<ItemsResult> GetNextUpEpisodes(GetNextUpEpisodes request) + private ItemsResult GetNextUpEpisodes(GetNextUpEpisodes request) { var user = _userManager.GetUserById(request.UserId); - var itemsArray = user.RootFolder + var itemsList = user.RootFolder .GetRecursiveChildren(user) .OfType<Series>() .AsParallel() .Select(i => GetNextUp(i, user)) - .ToArray(); + .ToList(); - itemsArray = itemsArray + itemsList = itemsList .Where(i => i.Item1 != null) .OrderByDescending(i => { @@ -185,9 +183,9 @@ namespace MediaBrowser.Api return 0; }) .ThenByDescending(i => i.Item1.PremiereDate ?? DateTime.MinValue) - .ToArray(); + .ToList(); - var pagedItems = ApplyPaging(request, itemsArray.Select(i => i.Item1)); + var pagedItems = ApplyPaging(request, itemsList.Select(i => i.Item1)); var fields = request.GetItemFields().ToList(); @@ -195,7 +193,7 @@ namespace MediaBrowser.Api return new ItemsResult { - TotalRecordCount = itemsArray.Length, + TotalRecordCount = itemsList.Count, Items = returnItems }; } diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs index 734278924..4b4d08b09 100644 --- a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs +++ b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs @@ -96,13 +96,13 @@ namespace MediaBrowser.Api.UserLibrary filteredItems = ItemsService.ApplySortOrder(request, filteredItems, user, LibraryManager).Cast<TItemType>(); - var ibnItemsArray = filteredItems.ToArray(); + var ibnItemsArray = filteredItems.ToList(); IEnumerable<TItemType> ibnItems = ibnItemsArray; var result = new ItemsResult { - TotalRecordCount = ibnItemsArray.Length + TotalRecordCount = ibnItemsArray.Count }; if (request.StartIndex.HasValue || request.Limit.HasValue) @@ -142,8 +142,8 @@ namespace MediaBrowser.Api.UserLibrary items = items.Where(i => string.Compare(request.NameStartsWithOrGreater, i.Name, StringComparison.CurrentCultureIgnoreCase) < 1); } - var imageTypes = request.GetImageTypes().ToArray(); - if (imageTypes.Length > 0) + var imageTypes = request.GetImageTypes().ToList(); + if (imageTypes.Count > 0) { items = items.Where(item => imageTypes.Any(imageType => ItemsService.HasImage(item, imageType))); } diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index 5b07a7bd7..65ece13ac 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -254,7 +254,7 @@ namespace MediaBrowser.Api.UserLibrary items = ApplySortOrder(request, items, user, _libraryManager); - var itemsArray = items.ToArray(); + var itemsArray = items.ToList(); var pagedItems = ApplyPaging(request, itemsArray); @@ -264,7 +264,7 @@ namespace MediaBrowser.Api.UserLibrary return new ItemsResult { - TotalRecordCount = itemsArray.Length, + TotalRecordCount = itemsArray.Count, Items = returnItems }; } @@ -307,9 +307,9 @@ namespace MediaBrowser.Api.UserLibrary /// <returns>IEnumerable{BaseItem}.</returns> internal static IEnumerable<BaseItem> ApplySortOrder(BaseItemsRequest request, IEnumerable<BaseItem> items, User user, ILibraryManager libraryManager) { - var orderBy = request.GetOrderBy().ToArray(); + var orderBy = request.GetOrderBy().ToList(); - return orderBy.Length == 0 ? items : libraryManager.Sort(items, user, orderBy, request.SortOrder ?? SortOrder.Ascending); + return orderBy.Count == 0 ? items : libraryManager.Sort(items, user, orderBy, request.SortOrder ?? SortOrder.Ascending); } /// <summary> @@ -603,8 +603,8 @@ namespace MediaBrowser.Api.UserLibrary items = items.Where(i => !string.IsNullOrEmpty(i.MediaType) && types.Contains(i.MediaType, StringComparer.OrdinalIgnoreCase)); } - var imageTypes = request.GetImageTypes().ToArray(); - if (imageTypes.Length > 0) + var imageTypes = request.GetImageTypes().ToList(); + if (imageTypes.Count > 0) { items = items.Where(item => imageTypes.Any(imageType => HasImage(item, imageType))); } diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs index 392fffc79..f4e9739a1 100644 --- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs +++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs @@ -398,7 +398,7 @@ namespace MediaBrowser.Api.UserLibrary return ToOptimizedResult(result); } - private BaseItemDto[] GetAsync(GetSpecialFeatures request) + private List<BaseItemDto> GetAsync(GetSpecialFeatures request) { var user = _userManager.GetUserById(request.UserId); @@ -420,7 +420,7 @@ namespace MediaBrowser.Api.UserLibrary .OrderBy(i => i.SortName) .Select(i => _dtoService.GetBaseItemDto(i, fields, user, movie1)); - return dtos.ToArray(); + return dtos.ToList(); } var series = item as Series; @@ -448,7 +448,7 @@ namespace MediaBrowser.Api.UserLibrary .ThenBy(i => i.SortName) .Select(i => _dtoService.GetBaseItemDto(i, fields, user)); - return dtos.ToArray(); + return dtos.ToList(); } throw new ArgumentException("The item does not support special features"); @@ -466,7 +466,7 @@ namespace MediaBrowser.Api.UserLibrary return ToOptimizedResult(result); } - private BaseItemDto[] GetAsync(GetLocalTrailers request) + private List<BaseItemDto> GetAsync(GetLocalTrailers request) { var user = _userManager.GetUserById(request.UserId); @@ -480,7 +480,7 @@ namespace MediaBrowser.Api.UserLibrary .OrderBy(i => i.SortName) .Select(i => _dtoService.GetBaseItemDto(i, fields, user, item)); - return dtos.ToArray(); + return dtos.ToList(); } /// <summary> |
