Пример #1
0
    protected void addCart(object sender, EventArgs e)
    {
        Boolean found = false;

        cartItem = new cartProduct(1, int.Parse(this.selected));
        if (cart.Count > 0)
        {
            foreach (cartProduct p in cart)
            {
                if (p.getItemNumber() == cartItem.getItemNumber())
                {
                    cartItem.setQuantity(cartItem.getQuantity() + 1);
                    found = true;
                }
            }
        }
        if (!found)
        {
            cartItem = new cartProduct(1, int.Parse(this.selected));
            cartItem.setQuantity(1);
            cart.Add(cartItem);
            Session["MyCart"] = cart;
        }
        this.Label1.Text = "Added to Cart!";
    }
Пример #2
0
        /// <summary>
        /// 取购物车里的商品信息
        /// </summary>
        /// <param name="openid"></param>
        /// <param name="wid"></param>
        /// <returns></returns>
        public List <Model.cartProduct> GetCartList(string openid, int wid)
        {
            DataSet ds = dal.GetCartList(openid, wid);
            List <Model.cartProduct> cartlist = new List <cartProduct>();

            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                int count = ds.Tables[0].Rows.Count;
                Model.cartProduct cproduct = new cartProduct();
                DataRow           dr;
                for (int i = 0; i < count; i++)
                {
                    dr                   = ds.Tables[0].Rows[i];
                    cproduct             = new cartProduct();
                    cproduct.id          = MyCommFun.Obj2Int(dr["id"]);
                    cproduct.openid      = MyCommFun.ObjToStr(dr["openid"]);
                    cproduct.productId   = MyCommFun.Obj2Int(dr["productId"]);
                    cproduct.productName = MyCommFun.ObjToStr(dr["productName"]);
                    cproduct.productNum  = MyCommFun.Obj2Int(dr["productNum"]);
                    cproduct.productPic  = MyCommFun.ObjToStr(dr["pic"]);
                    cproduct.skuId       = MyCommFun.Obj2Int(dr["skuId"]);
                    cproduct.skuInfo     = MyCommFun.ObjToStr(dr["skuInfo"]);
                    cproduct.totPrice    = MyCommFun.Str2Decimal(dr["totPrice"].ToString());
                    cproduct.totPrice100 = cproduct.totPrice * 100;
                    cproduct.avgPrice    = MyCommFun.decimalF2(cproduct.totPrice / (cproduct.productNum == 0?1:cproduct.productNum));
                    cproduct.avgPrice100 = cproduct.avgPrice * 100;
                    cproduct.createDate  = MyCommFun.Obj2DateTime(dr["createDate"]);
                    cproduct.wid         = MyCommFun.Obj2Int(dr["wid"]);
                    cproduct.stock       = MyCommFun.Obj2Int(dr["stock"]);
                    cproduct.productUrl  = "/shop/detail.aspx?wid=" + cproduct.wid + "&pid=" + cproduct.productId + "&openid=" + cproduct.openid;
                    cproduct.seq         = i;
                    cartlist.Add(cproduct);
                }
            }

            return(cartlist);
        }
        public ActionResult saveOrderInfoes(Address address, byte paymentTypeID, int?activeAddressID)
        {
            User user = (User)Session["UU!#user"];

            user = db.Users.Find(user.userID);

            DateTime today = DateTime.Now;


            if (!(activeAddressID != null && activeAddressID != 0))
            {
                address.userID = user.userID;
                address.active = true;
                db.Addresses.Add(address);
                db.SaveChanges();
            }

            Session["userActiveAddress"] = address.addressID;


            List <Cart>        carts        = new List <Cart>();
            List <cartProduct> cartProducts = new List <cartProduct>();
            var cartCookie = Request.Cookies["uu!@#cart"];

            if (cartCookie != null)
            {
                if (cartCookie.HasKeys)
                {
                    foreach (string value in cartCookie.Values.AllKeys)
                    {
                        string      json        = value;
                        cartProduct cartProduct = JsonConvert.DeserializeObject <cartProduct>(json);
                        cartProducts.Add(cartProduct);

                        var productColor = db.ProductColors.FirstOrDefault(p => p.color == cartProduct.color);
                        if (productColor != null)
                        {
                            Cart cart = new Cart
                            {
                                productID      = cartProduct.productID,
                                userID         = user.userID,
                                count          = cartProduct.count,
                                expire         = today.AddDays(2),
                                productColorID = productColor.productColorID
                            };
                            carts.Add(cart);
                        }
                        else
                        {
                            Cart cart = new Cart
                            {
                                productID = cartProduct.productID,
                                userID    = user.userID,
                                count     = cartProduct.count,
                                expire    = today.AddDays(2)
                            };
                            carts.Add(cart);
                        }
                    }
                }
            }

            var oldCart = db.Carts.Where(c => c.userID == user.userID).ToList();

            db.Carts.RemoveRange(oldCart);
            db.SaveChanges();

            db.Carts.AddRange(carts);
            db.SaveChanges();

            var newCarts = db.Carts.Where(c => c.userID == user.userID).ToList();


            //dargah
            if (paymentTypeID == 1)
            {
                int price = 0;
                foreach (var p in newCarts)
                {
                    var product = db.Products.Find(p.productID);

                    DateTime now        = Convert.ToDateTime(DateTime.Now.ToString());
                    var      offers     = product.Offers.Where(o => o.startDate <now && o.endDate> now).ToList();
                    decimal  offPrice   = 0;
                    decimal  offPercent = 0;
                    foreach (var item in offers)
                    {
                        offPrice   += (int)item.price;
                        offPercent += (int)item.offPercent;
                    }
                    decimal productPrice = product.price;
                    decimal finalPrice   = productPrice;
                    if (offPercent > 0)
                    {
                        finalPrice = finalPrice - (productPrice * (offPercent / 100));
                    }
                    if (offPrice > 0)
                    {
                        finalPrice = finalPrice - offPrice;
                    }

                    int totalThisProduct = Convert.ToInt32(finalPrice * p.count);
                    price += totalThisProduct;
                }
                return(Payment(price, user.email, user.mobile, "فروشگاه", "http://localhost:50099/orderproduct/showPaymentInfo"));
            }
            else
            {
                saveOrder(user, address, paymentTypeID, "", DateTime.Now, newCarts);
                return(RedirectToAction("", "", new { }));
            }
        }
        public ActionResult orderInfoes()
        {
            User user = (User)Session["UU!#user"];


            if (user != null)
            {
                List <Product>     products     = new List <Product>();
                List <cartProduct> cartProducts = new List <cartProduct>();
                var cartCookie = Request.Cookies["uu!@#cart"];
                if (cartCookie != null)
                {
                    if (cartCookie.HasKeys)
                    {
                        foreach (string value in cartCookie.Values.AllKeys)
                        {
                            string      json        = value;
                            cartProduct cartProduct = JsonConvert.DeserializeObject <cartProduct>(json);

                            cartProducts.Add(cartProduct);



                            var p = db.Products.Find(cartProduct.productID);
                            products.Add(p);
                        }
                    }
                }



                if (cartProducts.Count < 1)
                {
                    ViewBag.emptyMessage = "سبد خرید خالی است";
                    return(RedirectToAction("showCart", "product"));
                }

                foreach (var item in cartProducts)
                {
                    var p = db.Products.Find(item.productID);

                    if (!(item.count <= p.existingCount))
                    {
                        ViewBag.errorProductCount = "تعداد انتخابی از " + p.name + "بیشتر از موجودی است";
                        return(RedirectToAction("showCart", "product"));
                    }
                }



                ViewBag.Payment = db.PaymentTypes.ToList();

                ViewBag.cartProduct = cartProducts;
                ViewBag.products    = products;



                ViewBag.paymentType = db.PaymentTypes.Where(p => p.active == true).ToList();

                ViewBag.states = db.States.ToList();
                //ViewBag.cities = db.Cities.ToList();

                var oldAddress = db.Addresses.Where(o => o.userID == user.userID).ToList();

                if (oldAddress != null && oldAddress.Count > 0)
                {
                    return(View(oldAddress));
                }



                return(View());
            }
            else
            {
                return(RedirectToAction("login", "user"));
            }
        }