Exemple #1
0
        public List <ProductCookieModel> GetCookies(string key)
        {
            string cookie = _httpContextAccessor.HttpContext.Request.Cookies[key];
            List <ProductCookieModel> _listCookie = new List <ProductCookieModel>();

            if (cookie == null)
            {
                return(null);
            }
            else
            {
                string[] _cookieValue = FileManager.StringSeparator(cookie, "|");
                foreach (string item in _cookieValue)
                {
                    string[]           _product = FileManager.StringSeparator(item, "_");
                    ProductCookieModel model    = new ProductCookieModel()
                    {
                        pid = Int32.Parse(_product[0]),
                        vid = Int32.Parse(_product[1]),
                        qty = Int32.Parse(_product[2])
                    };
                    _listCookie.Add(model);
                }
            }

            return(_listCookie);
        }
Exemple #2
0
        public IEnumerable <ProductCookieModel> AddToCart(int pid)
        {
            var _cookie  = GetCookies("CartCookie");
            var _variant = _productRepo.GetProVariant(pid, true);

            if (_cookie == null)
            {
                string _productcookie = pid + "_" + _variant.First().VarId + "_1";
                SetCookies("CartCookie", _productcookie, 2);
            }
            else
            {
                //Tìm sản phẩm có sẵn
                if (_cookie.Where(i => i.pid == pid).Any())
                {
                    _cookie.Where(i => i.pid == pid).Select(i => { i.qty += 1; return(i); }).ToList();
                }
                else
                {
                    //Thêm sản phẩm mới
                    ProductCookieModel _model = new ProductCookieModel()
                    {
                        pid = pid,
                        vid = _variant.First().VarId,
                        qty = 1
                    };
                    _cookie.Add(_model);
                }



                string _newCookie = JoinCookie(_cookie);
                SetCookies("CartCookie", _newCookie, 2);
            }


            return(_cookie);
        }