Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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)));
 }