private IQueryable <Score> FilterScores(IQueryable <Score> query, ScoreFilter filter) { if (filter != null) { if (filter.Id != 0) { query = query.Where(m => m.Id == filter.Id); } if (filter.MatchId != 0) { query = query.Where(m => m.MatchId == filter.MatchId); } if (filter.PlayerId != 0) { query = query.Where(m => m.TeamPlayer.PlayerId == filter.PlayerId); } if (filter.Goals != 0) { query = query.Where(m => m.Goals == filter.Goals); } if (filter.Location != 0) { query = query.Where(m => m.Location == filter.Location); } if (filter.MatchPlayed != null) { query = query.Where(m => m.Match.Played == filter.MatchPlayed); } } return(query); }
public async Task <IEnumerable <Score> > GetAllWithFilter(ScoreFilter filter) { return(await FilterScores(db.Scores, filter).Include(s => s.Match).Include(s => s.TeamPlayer).ToListAsync()); }