public async Task <PagedList <HeroDto> > GetHeroesToManagement(PageParams pageParams, HeroesManagementFilter filter) { List <HeroDto> lstHeroesListed = new List <HeroDto>(); List <Heroes> lstHeroes = new List <Heroes>(); lstHeroes = await _context.Heroes.ToListAsync(); if (filter.HeroNameLike != null) { lstHeroes = lstHeroes.Where(x => x.HeroName.ToLower().Contains(filter.HeroNameLike.ToLower())).ToList(); } foreach (Heroes heroes in lstHeroes) { var gameName = await _context.Games.FirstOrDefaultAsync(x => x.Id == heroes.GameId); HeroDto heroDto = new HeroDto() { Id = heroes.Id, HeroName = heroes.HeroName, GameName = gameName.GameName }; lstHeroesListed.Add(heroDto); } return(await PagedList <HeroDto> .Create(lstHeroesListed, pageParams.PageNumber, pageParams.PageSize)); }
public async Task <IEnumerable <HeroDto> > GetHeroesToManagement([FromQuery] PageParams pageParams, [FromQuery] HeroesManagementFilter filter) { var heroes = await _repo.GetHeroesToManagement(pageParams, filter); Response.AddPagination(heroes.CurrentPage, heroes.PageSize, heroes.TotalCount, heroes.TotalPages); return(heroes); }