public async Task <IActionResult> CambiarContrasena(CambioContrasenaViewModel model) { if (ModelState.IsValid) { var user = await _gestionUsuarios.GetUserAsync(User); if (user == null) { return(RedirectToAction("Login")); } var result = await _gestionUsuarios.ChangePasswordAsync(user, model.ContrasenaActual, model.NuevaContrasena); if (!result.Succeeded) { foreach (var error in result.Errors) { ModelState.AddModelError("", error.Description); } return(View()); } await _gestionLogin.RefreshSignInAsync(user); return(View("CambiarContrasenaConfirmacion")); } return(View(model)); }
public async Task <IActionResult> Restablecer(string codigo) { CambioContrasenaViewModel cambioContrasena = null; var restablecimiento = await servicio.Buscar(codigo); if (restablecimiento == null) { cambioContrasena = new CambioContrasenaViewModel() { IdRestablecimiento = string.Empty, ConfirmacionContrasena = string.Empty, NuevaContrasena = string.Empty, }; } else { cambioContrasena = new CambioContrasenaViewModel() { IdRestablecimiento = codigo, ConfirmacionContrasena = string.Empty, NuevaContrasena = string.Empty, }; } return(View(cambioContrasena)); }
public async Task <IActionResult> Guardar(CambioContrasenaViewModel cambio) { if (!ModelState.IsValid) { return(View("Restablecer", cambio)); } var restablecimiento = await servicio.Buscar(cambio.IdRestablecimiento); if (restablecimiento == null) { ModelState.AddModelError("", "Ocurrio un problema al restablecer la contrasena"); return(View("Restablecer", cambio)); } else { if (string.IsNullOrEmpty(cambio.NuevaContrasena.Trim()) || string.IsNullOrEmpty(cambio.ConfirmacionContrasena.Trim())) { ModelState.AddModelError("", "La contrasena es requerida"); return(View("Restablecer", cambio)); } if (!cambio.NuevaContrasena.Trim().Equals(cambio.ConfirmacionContrasena.Trim())) { ModelState.AddModelError("", "Las contrasenas no coinciden"); return(View("Restablecer", cambio)); } var usuario = await usuarioServicio.BuscarPorId(restablecimiento.IdUsuario); usuario.Contrasena = cambio.NuevaContrasena; await usuarioServicio.Actualizar(usuario); if (usuario == null) { ModelState.AddModelError("", "Ocurrio un problema al restablecer la contrasena"); return(View("Restablecer", cambio)); } await servicio.Eliminar(cambio.IdRestablecimiento); return(RedirectToAction("Login", "Usuario")); } }
public vwCambioContrasena() { InitializeComponent(); BindingContext = cambioContrasenaViewModel = new CambioContrasenaViewModel(this); InitFormulario(); }