Ejemplo n.º 1
0
        public ActionResult ChangeEmail(User user)
        {
            string userID  = GetUserID();
            User   oldInfo = userSql.GetUserByID(userID);

            user.Email = user.Email.ToLower();
            bool emailExists = userSql.CheckForEmail(user.Email);

            var userEmail = ModelState["Email"];

            if (userEmail == null || userEmail.Errors.Any())
            {
                TempData["change-error"] = "Invalid input: Your email hasn't been changed.";
                return(View("ChangeUserInfo", oldInfo));
            }
            else if (emailExists)
            {
                if (user.Email != oldInfo.Email)
                {
                    TempData["change-error"] = "That email is associated with a different user.";
                }
                return(View("ChangeUserInfo", oldInfo));
            }

            userSql.UpdateEmail(user.Email, userID);
            user = userSql.GetUserByID(userID);

            TempData["change-success"] = "Email changed successfully";
            return(RedirectToAction("ChangeInfoInit", user));
        }