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!"; }
/// <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")); } }