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