Example #1
0
        public async Task <IEnumerable <ItemsDto> > GetItemsToManagement([FromQuery] PageParams pageParams, [FromQuery] ItemManagementFilter filter)
        {
            var items = await _repo.GetItemsToManagement(pageParams, filter);

            Response.AddPagination(items.CurrentPage, items.PageSize, items.TotalCount, items.TotalPages);
            return(items);
        }
Example #2
0
        public async Task <PagedList <ItemsDto> > GetItemsToManagement(PageParams pageParams, ItemManagementFilter filter)
        {
            List <ItemsDto> lstItemsListed = new List <ItemsDto>();
            List <Items>    lstItems       = new List <Items>();

            lstItems = await _context.Items.ToListAsync();

            if (filter.ItemNameLike != null)
            {
                lstItems = lstItems.Where(x => x.ItemName.ToLower().Contains(filter.ItemNameLike.ToLower())).ToList();
            }
            if (filter.GameId != 0)
            {
                lstItems = lstItems.Where(x => x.GameId == filter.GameId).ToList();
            }



            foreach (Items item in lstItems)
            {
                var gameName = await _context.Games.FirstOrDefaultAsync(x => x.Id == item.GameId);

                ItemsDto itemdto = new ItemsDto()
                {
                    Id         = item.Id,
                    ItemName   = item.ItemName,
                    MinHeroLvl = (int)item.MinHeroLvl,
                    GameName   = gameName.GameName
                };
                lstItemsListed.Add(itemdto);
            }

            return(await PagedList <ItemsDto> .Create(lstItemsListed, pageParams.PageNumber, pageParams.PageSize));
        }