コード例 #1
0
        public async Task <IActionResult> Create([FromBody] Model.CartItem cartItem)
        {
            _context.CartItems.Add(cartItem);
            await _context.SaveChanges();

            return(Ok(cartItem.CartItemId));
        }
コード例 #2
0
ファイル: Cart.cs プロジェクト: XiaoYaTech/Demo
        public bool DelProd(string strProdId)
        {
            if (string.IsNullOrEmpty(strProdId))
            {
                return(false);
            }
            //for (int i = 0; i < this.ListProd.Count; i++)
            //{
            //    Model.ProductInfo item = this.ListProd[i];
            //    if (item.ProductId == strProdId)
            //    {
            //        this.ListProd.Remove(item);
            //    }
            //}
            for (int i = 0; i < this.ListCartItem.Count; i++)
            {
                Model.CartItem item = this.ListCartItem[i];
                if (item.ProductId == strProdId)
                {
                    this.ListCartItem.Remove(item);
                }
            }
            string strCartData = "";

            strCartData = MoyeBuyUtility.Gadget.SerializeCartItems(this.ListCartItem).OuterXml;
            strCartData = MoyeBuyUtility.Encryption.EncryptString(strCartData);
            HttpContext.Current.Response.Cookies["CART"]["DATA"] = strCartData;
            return(true);
        }
コード例 #3
0
 public void ConvertToBusinessObject(out OnlineShoppingCart.Model.CartItem CartItemBO)
 {
     CartItemBO = new Model.CartItem
     {
         Id = this.Id,
         CartId=this.CartId,
         ProductId = this.ProductId,
         Quantity = this.Quantity,
         UnitPrice=this.UnitPrice,
         SubTotal = this.SubTotal,
         AddedDate=this.AddedDate
     };
 }
コード例 #4
0
        public async Task <IActionResult> Update(Model.CartItem cartItemData)
        {
            var cartItem = _context.CartItems.Where(a => a.CartItemId == cartItemData.CartId).FirstOrDefault();

            if (cartItem == null)
            {
                return(NotFound());
            }
            else
            {
                cartItem.ProductId = cartItemData.ProductId;
                cartItem.Quantity  = cartItemData.Quantity;

                await _context.SaveChanges();

                return(Ok(cartItem.CartItemId));
            }
        }
コード例 #5
0
ファイル: Cart.cs プロジェクト: XiaoYaTech/Demo
        public void AddToCart(string strProdId, string strNum, decimal decPrice)
        {
            string strCartData = "";
            List <Model.CartItem> ListCartItem = new List <Model.CartItem>();
            string strProdIDs = "";

            if (HttpContext.Current.Request.Cookies.AllKeys.Contains("CART") && HttpContext.Current.Request.Cookies["CART"]["DATA"] != "")
            {
                strCartData  = HttpContext.Current.Request.Cookies["CART"]["DATA"];
                strCartData  = MoyeBuyUtility.Encryption.DecryptString(strCartData);
                ListCartItem = MoyeBuyUtility.Gadget.DeserializeCartItems(strCartData);
                bool isExist = false;
                foreach (var item in ListCartItem)
                {
                    if (item.ProductId == strProdId)
                    {
                        isExist = true;
                    }
                }
                if (!string.IsNullOrEmpty(strProdId))
                {
                    if (isExist)
                    {
                        foreach (var item in ListCartItem)
                        {
                            if (item.ProductId == strProdId)
                            {
                                decimal singlePrice = item.Price / item.Count;
                                item.Count = logicCart.GetCartItemProdCount(item.Count + 1);
                                item.Price = logicCart.GetCartItemPrice(singlePrice, item.Count);
                            }
                        }
                    }
                    else
                    {
                        int            intNum         = Convert.ToInt32(strNum);
                        decimal        decSinglePrice = decPrice / intNum;
                        Model.CartItem newitem        = new Model.CartItem();
                        newitem.ProductId = strProdId;
                        newitem.Count     = logicCart.GetCartItemProdCount(intNum);
                        newitem.Price     = logicCart.GetCartItemPrice(decSinglePrice, intNum);
                        ListCartItem.Add(newitem);
                    }
                }

                foreach (var item in ListCartItem)
                {
                    strProdIDs += item.ProductId + "|||";
                }
                if (strProdIDs.Length > 3)
                {
                    strProdIDs = strProdIDs.Substring(0, strProdIDs.Length - 3);
                }
                strCartData = MoyeBuyUtility.Gadget.SerializeCartItems(ListCartItem).OuterXml;
            }
            else
            {
                int     intNum         = Convert.ToInt32(strNum);
                decimal decSinglePrice = decPrice / intNum;

                Model.CartItem item = new Model.CartItem();
                item.ProductId = strProdId;
                item.Count     = logicCart.GetCartItemProdCount(intNum);
                item.Price     = logicCart.GetCartItemPrice(decSinglePrice, intNum);

                ListCartItem.Add(item);
                strProdIDs  = strProdId;
                strCartData = MoyeBuyUtility.Gadget.SerializeCartItems(ListCartItem).OuterXml;
            }
            if (strProdIDs != "")
            {
                Product pBll = new Product();
                this.ListProd = pBll.GetProduct(strProdIDs);
            }
            strCartData = MoyeBuyUtility.Encryption.EncryptString(strCartData);
            HttpContext.Current.Response.Cookies["CART"]["DATA"] = strCartData;
        }