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); }
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)); }