public void bindCart() { int userid = WebSecurity.CurrentUserId; if (db.Cart.Where(c => c.UserId == userid).Count() == 0) { rootCart rc = new rootCart(); rc.UserId = userid; rc.next = 0; db.Cart.Add(rc); db.SaveChanges(); } }
public ActionResult Details(string purchase, int id = 0) { bindCart(); setLastView(id); if (purchase != null) { int CartId = getCartproduct(id); if (CartId == 0) { int CurrentUser = WebSecurity.CurrentUserId; rootCart cart = db.Cart.Where(m => m.UserId == CurrentUser).ToList().ElementAt(0); CartItem ci = new CartItem(); ci.ProductId = id; ci.Number = 1; ci.next = cart.next; db.CartItems.Add(ci); db.SaveChanges(); cart.next = ci.CartItemId; db.Entry(cart).State = EntityState.Modified; db.SaveChanges(); ReWriteCart(); } else { var cartitem = db.CartItems.Find(CartId); cartitem.Number++; db.Entry(cartitem).State = EntityState.Modified; db.SaveChanges(); ReWriteCart(); } MvcApplication.CartItemNUM++; } Response.Write("<script type='text/javascript'>window.onload=function(){var c = document.getElementById('cartnum');var num = " + MvcApplication.CartItemNUM + "+'';var cxt = c.getContext('2d');cxt.fillStyle = '#ff0000';cxt.beginPath();cxt.arc(10, 10, 10, 0, Math.PI * 2, true);cxt.closePath();cxt.fill();cxt.font = '10px Arial';cxt.textAlign = 'center';cxt.textBaseline = 'middle';cxt.fillStyle = 'white';cxt.fillText(num, 10, 10, 15);}</script>"); Product product = db.Products.Find(id); if (product == null) { return(HttpNotFound()); } return(View(product)); }
public void subtract(int id) { try { CartItem item = db.CartItems.Find(id); if (item.Number > 1) { item.Number--; db.Entry(item).State = EntityState.Modified; db.SaveChanges(); } else { var list = db.CartItems.Where(p => p.next == id).ToList(); if (list.Count != 0) { CartItem pre = list.ElementAt(0); pre.next = item.next; db.CartItems.Remove(item); db.Entry(pre).State = EntityState.Modified; db.SaveChanges(); } else { var root = db.Cart.Where(c => c.next == id).ToList(); rootCart cart = root.ElementAt(0); cart.next = item.next; db.CartItems.Remove(item); db.Entry(cart).State = EntityState.Modified; db.SaveChanges(); } } MvcApplication.CartItemNUM--; } catch (Exception) { return; } ReWriteCart(); }