public async Task <IActionResult> Items(int?typeId, int?brandId, [FromQuery] int pageSize = 5, [FromQuery] int pageIndex = 0) { var itemList = this._context.CatalogItems.AsQueryable <CatalogItem>(); if (typeId.HasValue) { itemList = itemList.Where(x => x.CatalogTypeId.Equals(typeId)); } if (brandId.HasValue) { itemList = itemList.Where(x => x.CatalogBrandId.Equals(brandId)); } var totalCount = await itemList.LongCountAsync(); var pageOnItems = await itemList .OrderBy(o => o.Name) .Skip(pageSize * pageIndex) .Take(pageSize) .ToListAsync <CatalogItem>(); pageOnItems = this.SetPicImage(pageOnItems); var viewModel = new PagenatedItemsViewModel <CatalogItem>(pageSize, pageIndex, totalCount, pageOnItems); return(this.Ok(viewModel)); }
public async Task <IActionResult> Items([FromQuery] int pageSize = 5, [FromQuery] int pageIndex = 0) { var totalCount = await this._context.CatalogItems.LongCountAsync(); var pageOnItems = await this._context.CatalogItems .OrderBy(o => o.Name) .Skip(pageSize * pageIndex) .Take(pageSize) .ToListAsync <CatalogItem>(); pageOnItems = this.SetPicImage(pageOnItems); var viewModel = new PagenatedItemsViewModel <CatalogItem>(pageSize, pageIndex, totalCount, pageOnItems); return(this.Ok(viewModel)); }