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)); }
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()); }