public PageableQueryResult <ProductQueryItem> GetByQuery(ProductListSearchQuery query)
        {
            var categoriesIds    = query.CategoriesIds;
            var allItemsFiltered = (categoriesIds != null && categoriesIds.Any() ? items.Where(x => categoriesIds.Contains(x.Id / 1000)) : items).ToArray();
            var resultItems      = allItemsFiltered.Skip(query.PageNumber * query.PageSize).Take(query.PageSize).ToArray();

            return(new PageableQueryResult <ProductQueryItem>()
            {
                AllItemsCount = allItemsFiltered.Length,
                Items = resultItems
            });
        }
Example #2
0
 public ActionResult <PageableQueryResult <ProductQueryItem> > Get([FromQuery] ProductListSearchQuery query)
 {
     _logger.Info($"Getting product list with query: {Environment.NewLine}{JsonConvert.SerializeObject(query, Formatting.Indented)}");
     return(_productService.GetByQuery(query));
 }