public object Get(GetPlayerIndex request) { var user = request.UserId == null ? null : _userManager.GetUserById(request.UserId); var query = new InternalItemsQuery(user) { IncludeItemTypes = new[] { typeof(Game).Name }, DtoOptions = new DtoOptions(false) { EnableImages = false } }; var games = _libraryManager.GetItemList(query) .Cast <Game>() .ToList(); var lookup = games .ToLookup(i => i.PlayersSupported ?? -1) .OrderBy(i => i.Key) .Select(i => new ItemIndex { ItemCount = i.Count(), Name = i.Key == -1 ? string.Empty : i.Key.ToString(UsCulture) }) .ToList(); return(ToOptimizedSerializedResultUsingCache(lookup)); }
public object Get(GetPlayerIndex request) { var games = GetAllLibraryItems(request.UserId, _userManager, _libraryManager, null, i => i is Game) .Cast <Game>(); var lookup = games .ToLookup(i => i.PlayersSupported ?? -1) .OrderBy(i => i.Key) .Select(i => new ItemIndex { ItemCount = i.Count(), Name = i.Key == -1 ? string.Empty : i.Key.ToString(UsCulture) }) .ToList(); return(ToOptimizedSerializedResultUsingCache(lookup)); }