//Método que manda a la vista con el formulario de cambio de contraseña public ActionResult CambiarContraseña(AppFunkoPop.Models.PasswordChangeModel passModel = null) { if (passModel == null) { return(View()); } else { return(View(passModel)); } }
public ActionResult CambiarContraseña(AppFunkoPop.Models.PasswordChangeModel passModel) { if (ModelState.IsValid) { if (passModel.contrasenaAntigua == Convert.ToString(Session["PASSWD"])) { if (passModel.contrasenaNueva == passModel.contrasenaRepetida) { if (passModel.contrasenaNueva == passModel.contrasenaAntigua) { passModel.contrasenaErrorMessage = "La nueva contraseña no puede ser igual a la anterior."; return(RedirectToAction("CambiarContraseña", "Usuarios", passModel)); } else { using (FunkoPopDDBBEntities db = new FunkoPopDDBBEntities()) { int idUsu = Convert.ToInt32(Session["USUARIO_ID"]); USUARIO usuario = db.USUARIOs.Where(c => c.USUARIO_ID == idUsu).First(); usuario.PASSWD = passModel.contrasenaNueva; db.SaveChanges(); var userDetails = db.USUARIOs.Where(x => x.USUARIO_ID == usuario.USUARIO_ID).FirstOrDefault(); Session["PASSWD"] = userDetails.PASSWD; } return(RedirectToAction("Index", "Home")); } } else { passModel.contrasenaErrorMessage = "Las nueva contraseña no coincide."; return(RedirectToAction("CambiarContraseña", "Usuarios", passModel)); } } else { passModel.contrasenaErrorMessage = "La contraseña antigua no es correcta."; return(RedirectToAction("CambiarContraseña", "Usuarios", passModel)); } } else { return(View()); } }