Example #1
0
        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);
        }