public async Task <IActionResult> GoodIndex(int pageIndex) { if (pageIndex == 0) { pageIndex = 1; } int pageSize = 3; // количество элементов на странице var cnt = await _goodsRepository.CountAsync(null); var items = await _goodsRepository.GetListAsync((pageIndex - 1) *pageSize, pageSize); var pageViewModel = new PageViewModel(cnt, pageIndex, pageSize); var goodsModel = new List <GoodModel>(); items.ForEach(p => goodsModel.Add(new GoodModel { Id = p.Id, Title = p.Title, Cost = p.Cost, RealCost = p.RealCost, Description = p.Description, ImagePath = p.ImagePath, IsAvailable = _goodsRepository.IsAvailable(p).Result })); var indexGoodModel = new IndexGoodModel() { Goods = goodsModel, PageViewModel = pageViewModel }; return(View(indexGoodModel)); }
public async Task <ActionResult <List <GoodsResponse> > > GetGoodsByCategory(int categoryId, [FromQuery] int?skip, [FromQuery] int?take) { var goodsResponse = new List <GoodsResponse>(); var count = await _goodsRepository.CountAsync(s => s.CategoryId == categoryId); var items = await _goodsRepository.GetListByCategoryIdAsync(skip ?? 0, take ?? count, categoryId); items.ForEach(p => goodsResponse.Add(new GoodsResponse { Id = p.Id, Cost = p.Cost, RealCost = p.RealCost, Description = p.Description, ImagePath = p.ImagePath, Title = p.Title, IsDisable = !_goodsRepository.IsAvailable(p).Result, })); return(new ActionResult <List <GoodsResponse> >(goodsResponse)); }