Пример #1
0
        public PagedResult <ProductOverViewModel> GetFavoriteProduct(GetFavoriteProductsPagingRequest request)
        {
            try
            {
                var query = from p in _context.Products
                            join f in _context.Favorites on p.id equals f.product_id
                            join cus in _context.Customers on f.cus_id equals cus.id
                            where p.isDelete == false && p.isActive == true && cus.id == request.cus_id
                            select new { p, f, cus };


                var data = query.AsEnumerable()
                           .OrderByDescending(p => p.f.date_favorite)
                           .GroupBy(g => g.p);

                int totalRow = data.Count();

                List <ProductOverViewModel> result = data.Skip((request.PageIndex - 1) * request.PageSize)
                                                     .Take(request.PageSize)
                                                     .Select(a => new ProductOverViewModel()
                {
                    id              = a.Key.id,
                    name            = a.Key.name,
                    best_seller     = a.Key.best_seller,
                    create_at       = a.Key.create_at,
                    featured        = a.Key.featured,
                    image           = a.Key.image,
                    instock         = a.Key.instock,
                    promotion_price = a.Key.promotion_price,
                    short_desc      = a.Key.short_desc,
                    slug            = a.Key.slug,
                    isActive        = a.Key.isActive,
                    unit_price      = a.Key.unit_price,
                }).ToList();


                var pageResult = new PagedResult <ProductOverViewModel>()
                {
                    TotalRecords = totalRow,
                    PageSize     = request.PageSize,
                    PageIndex    = request.PageIndex,
                    Items        = result,
                };
                return(pageResult);
            }
            catch
            {
                var pageResult = new PagedResult <ProductOverViewModel>()
                {
                    TotalRecords = 0,
                    PageSize     = request.PageSize,
                    PageIndex    = request.PageIndex,
                    Items        = null,
                };
                return(pageResult);
            }
        }
Пример #2
0
        public IActionResult GetPublicProducts(GetFavoriteProductsPagingRequest request)
        {
            var products = _customerService.GetFavoriteProduct(request);

            if (products.Items == null)
            {
                return(BadRequest("Không có sản phẩm nào"));
            }
            return(Ok(products));
        }
Пример #3
0
        public async Task <PagedResult <ProductOverViewModel> > GetFavoriteProducts(GetFavoriteProductsPagingRequest request)
        {
            var client = _httpClientFactory.CreateClient();

            client.BaseAddress = new Uri(_configuration["BaseAddress"]);

            var json        = JsonConvert.SerializeObject(request);
            var httpContent = new StringContent(json, Encoding.UTF8, "application/json");

            var respone = await client.PostAsync($"/api/customer/FavoriteProducts", httpContent);

            var body = await respone.Content.ReadAsStringAsync();

            var products = JsonConvert.DeserializeObject <PagedResult <ProductOverViewModel> >(body);

            return(products);
        }