diff options
Diffstat (limited to 'MediaBrowser.Api/Music/InstantMixService.cs')
| -rw-r--r-- | MediaBrowser.Api/Music/InstantMixService.cs | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/MediaBrowser.Api/Music/InstantMixService.cs b/MediaBrowser.Api/Music/InstantMixService.cs index 3cb29de07..8a18298f1 100644 --- a/MediaBrowser.Api/Music/InstantMixService.cs +++ b/MediaBrowser.Api/Music/InstantMixService.cs @@ -8,7 +8,9 @@ using MediaBrowser.Model.Querying; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using MediaBrowser.Model.Dto; using MediaBrowser.Model.Services; +using MediaBrowser.Model.Extensions; namespace MediaBrowser.Api.Music { @@ -79,7 +81,7 @@ namespace MediaBrowser.Api.Music _authContext = authContext; } - public Task<object> Get(GetInstantMixFromItem request) + public object Get(GetInstantMixFromItem request) { var item = _libraryManager.GetItemById(request.Id); @@ -92,7 +94,7 @@ namespace MediaBrowser.Api.Music return GetResult(items, user, request, dtoOptions); } - public Task<object> Get(GetInstantMixFromArtistId request) + public object Get(GetInstantMixFromArtistId request) { var item = _libraryManager.GetItemById(request.Id); @@ -105,7 +107,7 @@ namespace MediaBrowser.Api.Music return GetResult(items, user, request, dtoOptions); } - public Task<object> Get(GetInstantMixFromMusicGenreId request) + public object Get(GetInstantMixFromMusicGenreId request) { var item = _libraryManager.GetItemById(request.Id); @@ -118,7 +120,7 @@ namespace MediaBrowser.Api.Music return GetResult(items, user, request, dtoOptions); } - public Task<object> Get(GetInstantMixFromSong request) + public object Get(GetInstantMixFromSong request) { var item = _libraryManager.GetItemById(request.Id); @@ -131,7 +133,7 @@ namespace MediaBrowser.Api.Music return GetResult(items, user, request, dtoOptions); } - public Task<object> Get(GetInstantMixFromAlbum request) + public object Get(GetInstantMixFromAlbum request) { var album = _libraryManager.GetItemById(request.Id); @@ -144,7 +146,7 @@ namespace MediaBrowser.Api.Music return GetResult(items, user, request, dtoOptions); } - public Task<object> Get(GetInstantMixFromPlaylist request) + public object Get(GetInstantMixFromPlaylist request) { var playlist = (Playlist)_libraryManager.GetItemById(request.Id); @@ -157,7 +159,7 @@ namespace MediaBrowser.Api.Music return GetResult(items, user, request, dtoOptions); } - public Task<object> Get(GetInstantMixFromMusicGenre request) + public object Get(GetInstantMixFromMusicGenre request) { var user = _userManager.GetUserById(request.UserId); @@ -168,7 +170,7 @@ namespace MediaBrowser.Api.Music return GetResult(items, user, request, dtoOptions); } - public Task<object> Get(GetInstantMixFromArtist request) + public object Get(GetInstantMixFromArtist request) { var user = _userManager.GetUserById(request.UserId); var artist = _libraryManager.GetArtist(request.Name, new DtoOptions(false)); @@ -180,16 +182,23 @@ namespace MediaBrowser.Api.Music return GetResult(items, user, request, dtoOptions); } - private async Task<object> GetResult(IEnumerable<Audio> items, User user, BaseGetSimilarItems request, DtoOptions dtoOptions) + private object GetResult(List<BaseItem> items, User user, BaseGetSimilarItems request, DtoOptions dtoOptions) { - var list = items.ToList(); + var list = items; - var result = new ItemsResult + var result = new QueryResult<BaseItemDto> { TotalRecordCount = list.Count }; - result.Items = (await _dtoService.GetBaseItemDtos(list.Take(request.Limit ?? list.Count), dtoOptions, user).ConfigureAwait(false)).ToArray(); + if (request.Limit.HasValue) + { + list = list.Take(request.Limit.Value).ToList(); + } + + var returnList = _dtoService.GetBaseItemDtos(list, dtoOptions, user); + + result.Items = returnList; return ToOptimizedResult(result); } |
