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