コード例 #1
0
        public IActionResult UpdateCartItem(int id, int q)
        {
            if (ModelState.IsValid)
            {
                const string       keyName = "cartData";
                var                data    = HttpContext.Session.GetString(keyName);
                List <MapCartData> cartDatas;
                if (string.IsNullOrEmpty(data))
                {
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    var cache = HttpContext.Session.GetString(keyName);
                    cartDatas = JsonConvert.DeserializeObject <List <MapCartData> >(cache);
                }
                MapCartData cartData = cartDatas.SingleOrDefault(c => c.HamperId == id);
                if (cartData == null)
                {
                    return(RedirectToAction("Cart", "User"));
                }
                cartDatas.Remove(cartData);
                cartData.Quantity = q;
                cartDatas.Add(cartData);

                HttpContext.Session.SetString(keyName, JsonConvert.SerializeObject(cartDatas));

                return(RedirectToAction("Cart", "User"));
            }
            return(RedirectToAction("Cart", "User"));
        }
コード例 #2
0
        public IActionResult Index(int id, int q)
        {
            if (q <= 0 || id <= 0)
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (ModelState.IsValid)
            {
                var hamper = _hamperService.GetSingle(h => h.HamperId == id);
                if (hamper == null)
                {
                    return(RedirectToAction("Index", "Home"));
                }

                const string keyName  = "cartData";
                MapCartData  cartData = new MapCartData
                {
                    HamperId   = id,
                    HamperName = hamper.HamperName,
                    Cost       = hamper.Cost,
                    Quantity   = q
                };

                List <MapCartData> cartDatas = new List <MapCartData>();
                var data = HttpContext.Session.GetString(keyName);
                if (string.IsNullOrEmpty(data))
                {
                    cartDatas.Add(cartData);
                    HttpContext.Session.SetString(keyName, JsonConvert.SerializeObject(cartDatas));
                }
                else
                {
                    var cache = HttpContext.Session.GetString(keyName);
                    cartDatas = JsonConvert.DeserializeObject <List <MapCartData> >(cache);
                    cartDatas.Add(cartData);
                    HttpContext.Session.SetString(keyName, JsonConvert.SerializeObject(cartDatas));
                }
                return(RedirectToAction("Cart", "User"));
            }

            return(RedirectToAction("Index", "Home"));
        }