public JsonResult UpdateTotal()
        {
            ElectricShopEntities context = new ElectricShopEntities();
            decimal total;

            try
            {
                total = context.ShoppingCartDatas.Select(p => p.UnitPrice * p.Quantity).Sum();
            }
            catch (Exception) { total = 0; }

            return(Json(new { d = string.Format("{0:c}", total) }, JsonRequestBehavior.AllowGet));
        }
        public JsonResult QuanityChange(int type, int pId)
        {
            ElectricShopEntities context = new ElectricShopEntities();

            ShoppingCartData product = context.ShoppingCartDatas.FirstOrDefault(p => p.PID == pId);

            if (product == null)
            {
                return(Json(new { d = "0" }));
            }

            Product actualProduct = context.Products.FirstOrDefault(p => p.PID == pId);
            int     quantity;

            // if type 0, decrease quantity
            // if type 1, increase quanity
            switch (type)
            {
            case 0:
                product.Quantity--;
                actualProduct.UnitsInStock++;
                break;

            case 1:
                product.Quantity++;
                actualProduct.UnitsInStock--;
                break;

            case -1:
                actualProduct.UnitsInStock += product.Quantity;
                product.Quantity            = 0;
                break;

            default:
                return(Json(new { d = "0" }));
            }

            if (product.Quantity == 0)
            {
                context.ShoppingCartDatas.Remove(product);
                quantity = 0;
            }
            else
            {
                quantity = product.Quantity;
            }

            context.SaveChanges();
            return(Json(new { d = quantity }));
        }