示例#1
0
        public object Get(GetPlaylistItems request)
        {
            var playlist = (Playlist)_libraryManager.GetItemById(request.Id);
            var user     = request.UserId.HasValue ? _userManager.GetUserById(request.UserId.Value) : null;
            var items    = playlist.GetManageableItems().ToArray();

            var count = items.Length;

            if (request.StartIndex.HasValue)
            {
                items = items.Skip(request.StartIndex.Value).ToArray();
            }

            if (request.Limit.HasValue)
            {
                items = items.Take(request.Limit.Value).ToArray();
            }

            var dtos = items
                       .Select(i => _dtoService.GetBaseItemDto(i, request.GetItemFields().ToList(), user))
                       .ToArray();

            var result = new ItemsResult
            {
                Items            = dtos,
                TotalRecordCount = count
            };

            return(ToOptimizedResult(result));
        }
示例#2
0
        public object Get(GetPlaylistItems request)
        {
            var playlist = (Playlist)_libraryManager.GetItemById(request.Id);
            var user     = !string.IsNullOrWhiteSpace(request.UserId) ? _userManager.GetUserById(request.UserId) : null;

            var items = playlist.GetManageableItems().ToArray();

            var count = items.Length;

            if (request.StartIndex.HasValue)
            {
                items = items.Skip(request.StartIndex.Value).ToArray();
            }

            if (request.Limit.HasValue)
            {
                items = items.Take(request.Limit.Value).ToArray();
            }

            var dtos = items
                       .Select(i => _dtoService.GetBaseItemDto(i.Item2, request.GetItemFields().ToList(), user))
                       .ToArray();

            var index = 0;

            foreach (var item in dtos)
            {
                item.PlaylistItemId = items[index].Item1.Id;
                index++;
            }

            var result = new ItemsResult
            {
                Items            = dtos,
                TotalRecordCount = count
            };

            return(ToOptimizedResult(result));
        }