public async Task <List <GetHeroDTO> > GetAllHeroes(GetHeroesFilter filter) { var heroes = _heroRepository .GetAll() .WhereIf(!string.IsNullOrEmpty(filter?.Name), x => EF.Functions.Like(x.Name, $"%{filter.Name}%")) .WhereIf(!string.IsNullOrEmpty(filter?.Nickname), x => EF.Functions.Like(x.Nickname, $"%{filter.Nickname}%")) .WhereIf(filter?.Age != null, x => x.Age == filter.Age) .WhereIf(filter?.HeroType != null, x => x.HeroType == filter.HeroType) .WhereIf(!string.IsNullOrEmpty(filter?.Team), x => x.Team == filter.Team) .WhereIf(!string.IsNullOrEmpty(filter?.Individuality), x => EF.Functions.Like(x.Individuality, $"%{filter.Individuality}%")); return(await _mapper.ProjectTo <GetHeroDTO>(heroes) .ToListAsync()); }
public async Task <List <GetHeroDTO> > GetAllHeroes(GetHeroesFilter filter) { var heroes = _heroRepository .GetAll() .WhereIf(!string.IsNullOrEmpty(filter?.Name), x => x.Name.Contains(filter.Name, StringComparison.InvariantCultureIgnoreCase)) .WhereIf(!string.IsNullOrEmpty(filter?.Nickname), x => x.Nickname.Contains(filter.Nickname, StringComparison.InvariantCultureIgnoreCase)) .WhereIf(filter?.Age != null, x => x.Age == filter.Age) .WhereIf(filter?.HeroType != null, x => x.HeroType == filter.HeroType) .WhereIf(!string.IsNullOrEmpty(filter?.Team), x => (x.Team == filter.Team)) .WhereIf(!string.IsNullOrEmpty(filter?.Individuality), x => x.Name.Contains(filter.Name, StringComparison.InvariantCultureIgnoreCase)); return(await _mapper.ProjectTo <GetHeroDTO>(heroes) .ToListAsync()); }
public async Task <ActionResult <List <GetHeroDTO> > > GetHeroes([FromQuery] GetHeroesFilter filter) { return(Ok(await _heroAppService.GetAllHeroes(filter))); }