public async Task <List <LocalItem> > GetItems(LocalItemQuery query) { await LoadItems(); var filteredItems = _items.Where(i => i.ServerId == query.ServerId); if (!string.IsNullOrWhiteSpace(query.AlbumArtistId)) { filteredItems = filteredItems.Where(i => i.Item.AlbumArtists.Any(x => x.Id == query.AlbumArtistId)); } if (!string.IsNullOrWhiteSpace(query.AlbumId)) { filteredItems = filteredItems.Where(i => i.Item.AlbumId == query.AlbumId); } if (!string.IsNullOrWhiteSpace(query.SeriesId)) { filteredItems = filteredItems.Where(i => i.Item.SeriesId == query.SeriesId); } if (!string.IsNullOrWhiteSpace(query.Type)) { filteredItems = filteredItems.Where(i => i.Item.Type == query.Type); } if (!string.IsNullOrWhiteSpace(query.MediaType)) { filteredItems = filteredItems.Where(i => i.Item.MediaType == query.MediaType); } filteredItems = filteredItems.Where(i => !query.ExcludeTypes.Contains(i.Item.Type)); return(filteredItems.ToList()); }
Task <List <LocalItem> > IItemRepository.GetItems(LocalItemQuery query) { throw new NotImplementedException(); }