Пример #1
0
        public string Add(CartAddView model, string cartJson)
        {
            if (string.IsNullOrEmpty(cartJson))
            {
                Cart     cart     = new Cart();
                CartItem cartItem = new CartItem
                {
                    ProductId = int.Parse(model.ProductId),
                    Count     = int.Parse(model.Count),
                };

                cart.CartItems.Add(cartItem);

                return(Newtonsoft.Json.JsonConvert.SerializeObject(cart));
            }
            else
            {
                var  cart    = Newtonsoft.Json.JsonConvert.DeserializeObject <Cart>(cartJson);
                bool updated = false;

                for (var i = 0; i < cart.CartItems.Count; i++)
                {
                    var item = cart.CartItems.ElementAt(i);
                    if (item.ProductId == int.Parse(model.ProductId))
                    {
                        cart.CartItems.Remove(item);
                        item.Count += int.Parse(model.Count);
                        cart.CartItems.Add(item);
                        updated = true;
                        break;
                    }
                }

                if (!updated)
                {
                    CartItem cartItem = new CartItem
                    {
                        ProductId = int.Parse(model.ProductId),
                        Count     = int.Parse(model.Count),
                    };

                    cart.CartItems.Add(cartItem);
                }

                return(Newtonsoft.Json.JsonConvert.SerializeObject(cart));
            }
        }
        public ActionResult Add(CartAddView model)
        {
            if (Session["UserId"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            var cart     = Session["Cart"];
            var cartJson = "";

            if (cart != null)
            {
                cartJson = cart.ToString();
            }

            var cartStr = cartService.Add(model, cartJson);

            Session["Cart"] = cartStr;

            return(RedirectToAction("Index", "Home"));
        }
Пример #3
0
        public string Add(CartAddView model, string cartJson)
        {
            if (string.IsNullOrEmpty(cartJson))
            {
                Cart     cart     = new Cart();
                CartItem cartItem = new CartItem
                {
                    GameId = int.Parse(model.GameId),
                };

                cart.CartItems.Add(cartItem);

                return(Newtonsoft.Json.JsonConvert.SerializeObject(cart));
            }
            else
            {
                var cart = Newtonsoft.Json.JsonConvert.DeserializeObject <Cart>(cartJson);

                foreach (CartItem item in cart.CartItems)
                {
                    if (item.GameId == int.Parse(model.GameId))
                    {
                        return(Newtonsoft.Json.JsonConvert.SerializeObject(cart));
                    }
                }

                CartItem cartItem = new CartItem
                {
                    GameId = int.Parse(model.GameId),
                };

                cart.CartItems.Add(cartItem);

                return(Newtonsoft.Json.JsonConvert.SerializeObject(cart));
            }
        }