public IEnumerable <Item> GetAllItems(ItemFiltersDto filters) { var items = _context.Item.Include(i => i.Reviews).AsQueryable(); if (filters.ScoreFrom.HasValue) { items = items.Where(i => i.Reviews.Average(r => r.Score) > filters.ScoreFrom.Value); } if (filters.ScoreTo.HasValue) { items = items.Where(i => i.Reviews.Average(r => r.Score) < filters.ScoreTo.Value); } if (filters.Name != null) { items = items.Where(i => i.Name == filters.Name); } return(items.ToList()); }
public ActionResult <IEnumerable <ItemReadDto> > GetAllItems([FromQuery] ItemFiltersDto filters) { var items = _repository.GetAllItems(filters); return(Ok(_mapper.Map <IEnumerable <ItemReadDto> >(items))); }