public ActionResult Save(User user) { if (!IsUserLoggedIn() || !IsUserAdmin()) { TempData["RedirectMessage"] = "Access denied. Please login."; return(RedirectToAction("Index", "Home")); } if (user.Password != null) { if (user.Password.Length < 6) { ModelState.AddModelError("Password", "Password must be, at least, 6 characters long."); return(View(user)); } } if (!Validations.IsValidEmail(user.Email)) { ModelState.AddModelError("Email", "Email has an invalid format."); return(View(user)); } using (UserDBContext db = new UserDBContext()) { bool success; if (user.id <= 0) { success = db.AddNewUser(user); return(RedirectToAction("Index", new { result = success ? 1 : 0, add = 1 })); } success = db.EditUser(user); if (success && user.id == Int32.Parse(Session["UserID"].ToString())) { Session["UserName"] = user.Name; Session["UserPrivilege"] = user.Privilege ? "1" : "0"; } return(RedirectToAction("Index", new { result = success ? 1 : 0, add = 0 })); } }