Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
 Task <List <LocalItem> > IItemRepository.GetItems(LocalItemQuery query)
 {
     throw new NotImplementedException();
 }