public ActionResult Add(int prodID)
        {
            var user = db.Users.FirstOrDefault(x => x.UserName == HttpContext.User.Identity.Name);

            using (db)
            {
                var shopCart = user.ShoppingCarts.FirstOrDefault();

                if (shopCart == null)
                {
                    shopCart = new ShoppingCart {
                        UserID = user.UserID, DateCreated = DateTime.Now, CreatedBy = user.UserName
                    };
                    db.ShoppingCarts.Add(shopCart);
                }

                if (shopCart.ShoppingCartProducts.Any(x => x.ProductID == prodID))
                {
                    var prod = shopCart.ShoppingCartProducts.Single(x => x.ProductID == prodID);
                    prod.Quantity++;
                }
                else
                {
                    shopCart.ShoppingCartProducts.Add(new ShoppingCartProduct {
                        ProductID = prodID, Quantity = 1, DateCreated = DateTime.Now, CreatedBy = user.UserName
                    });
                }

                db.SaveChanges();
            }

            var cartCount = user.ShoppingCarts.FirstOrDefault().ShoppingCartProducts.Sum(x => x.Quantity);

            return(Json(cartCount));
        }
Exemplo n.º 2
0
        public ActionResult Index(RegisterViewModel account)
        {
            if (ModelState.IsValid)
            {
                using (db)
                {
                    bool duplicate = db.Users.Any(a => a.UserName == account.UserName);

                    if (duplicate)
                    {
                        ModelState.AddModelError("", "Username already exists in database!");
                    }
                    else
                    {
                        db.Users.Add(new StoreFront.Models.User {
                            UserName = account.UserName, Password = account.Password, EmailAddress = account.EmailAddress, IsAdmin = false, DateCreated = DateTime.Now, CreatedBy = account.UserName
                        });
                        db.SaveChanges();

                        ModelState.Clear();

                        TempData["Notice"] = "Successfully registered!!";
                        return(View());
                    }
                }
            }
            return(View());
        }