public IActionResult UserUpdatePassword(PasswordUpdateModel model)
        {
            if (model.NewPassword != model.ConfirmNewPassword)
            {
                goto Failed;
            }

            var       email = User.Claims.ElementAt(1).Value;
            UserModel user  = _serviceFactory.User.Authenticate(email, model.CurrentPassword);

            if (user is null)
            {
                goto Failed;
            }
            else
            {
                bool result = _serviceFactory.User.UpdatePassword(user.UserId, model.NewPassword);
                if (result)
                {
                    goto Success;
                }
            }

Failed:
            TempData["notification"] = "Password change failed!";
            return(Redirect("/Settings"));

Success:
            TempData["notification"] = "Password change success!";
            return(Redirect("/Settings"));
        }
        public IActionResult UserUpdatePassword(PasswordUpdateModel model)
        {
            if (!ModelState.IsValid)
            {
                goto Failed;
            }
            if (model.NewPassword != model.ConfirmNewPassword)
            {
                goto Failed;
            }

            var       email = User.Claims.ElementAt(1).Value;
            UserModel user  = _serviceFactory.User.Authenticate(email, model.CurrentPassword);

            if (user is null)
            {
                goto Failed;
            }
            else
            {
                bool has_success = _serviceFactory.User.UpdatePassword(user.UserId, model.NewPassword);
                if (has_success)
                {
                    goto Success;
                }
            }

Failed:
            TempData["notification"] = "Password change failed!";
            return(Redirect("/Settings"));

Success:
            TempData["notification"] = "Password change success!";

            var log = new ActivityModel
            {
                ActivityName        = "Update User Password",
                CreatedBy           = user.UserId,
                ActivityDescription = "Set User Password to " + model.NewPassword,
            };

            _serviceFactory.Activity.Create(log);

            return(Redirect("/Settings"));
        }