public async Task <bool> Put([FromBody] LoginChangeModel model)
        {
            bool esito = false;

            if (model != null)
            {
                try
                {
                    var user = await userManager.FindByNameAsync(model.Username);

                    var identity = await userManager.ChangePasswordAsync(user, model.OldPassword, model.NewPassword);

                    if (identity != null)
                    {
                        esito = identity.Succeeded;
                    }
                    if (!esito)
                    {
                        throw new Exception(identity.Errors.ToString());
                    }
                }
                catch (Exception e)
                {
                    log.Error(e.ToString());
                }
            }
            return(esito);
        }
 public ActionResult ChangePassword(LoginChangeModel loginChangeModel)
 {
     if (ModelState.IsValid)
     {
         if (Authentication.ChangePassword(loginChangeModel.OldPassword, loginChangeModel.NewPassword))
         {
             AddModelSuccess(Translations.ChangePasswordSuccess);
             return(RedirectToAction("UserProfile", "Account"));
         }
         else
         {
             AddModelError(Translations.ChangePasswordFailError);
         }
     }
     return(View(loginChangeModel));
 }
        public async Task <IActionResult> ChangeLogin(LoginChangeModel loginModel)
        {
            using var connection = new MySqlConnection(AppConfig.Constants.DbConnectionString);
            using var command    = new MySqlCommand("ChangeLogin", connection)
                  {
                      CommandType = CommandType.StoredProcedure
                  };

            command.Parameters.AddRange(new[]
            {
                new MySqlParameter("user_id", MyId),
                new MySqlParameter("new_login", loginModel.NewLogin),
                new MySqlParameter("password", loginModel.Password)
            });

            connection.Open();
            await command.ExecuteNonQueryAsync();

            return(ResponseModel.OK.ToResult());
        }
        public ActionResult ChangePassword()
        {
            var loginChangeModel = new LoginChangeModel();

            return(View(loginChangeModel));
        }