Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
 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();
 }