public ActionResult ChangePassword(ChangePasswordModel model) { if (ModelState.IsValid) { bool changePasswordSucceeded = true; try { var currentUser = customerDb.Set <Customer>().Where(x => x.UserName == model.UserName).SingleOrDefault(); if (currentUser != null && currentUser.Password == model.OldPassword) { currentUser.Password = model.NewPassword; customerDb.Dispose(); customerDb = new ProductStoreContext(); customerDb.Customers.Attach(currentUser); using (var tr = customerDb.Database.BeginTransaction()) { try { customerDb.SaveChanges(); } catch { tr.Rollback(); } } } else { changePasswordSucceeded = false; } } catch (Exception ex) { Console.WriteLine(ex.Message); changePasswordSucceeded = false; } if (changePasswordSucceeded) { return(RedirectToAction("ChangePasswordSuccess")); } else { ModelState.AddModelError("", "The current password is incorrect or the new password is invalid."); } } return(View(model)); }
public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { var users = customerDb.Set <Customer>().Where(x => x.UserName == model.UserName || x.Email == model.Email).ToList(); if (users != null && !users.Any()) { MigrateShoppingCart(model.UserName); Customer newUser = new Customer() { UserName = model.UserName, Email = model.Email, Password = model.Password }; using (var tr = customerDb.Database.BeginTransaction()) { try { customerDb.Dispose(); customerDb = new ProductStoreContext(); customerDb.Customers.Add(newUser); customerDb.SaveChanges(); } catch { tr.Rollback(); } } return(RedirectToAction("Index", "Home")); } else { ModelState.AddModelError("", "User name already exists. Please enter a different user name."); } } return(View(model)); }