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