public ActionResult ChangeLocalPassword(ManagementModel model) { bool hasLocalAccount = OAuthWebSecurity.HasLocalAccount(WebSecurity.GetUserId(User.Identity.Name)); ViewBag.HasLocalPassword = hasLocalAccount; ViewBag.ReturnUrl = Url.Action("Manage"); if (hasLocalAccount) { if (ModelState.IsValid) { // ChangePassword will throw an exception rather than return false in certain failure scenarios. bool changePasswordSucceeded; try { changePasswordSucceeded = WebSecurity.ChangePassword(User.Identity.Name, model.passWordModel.OldPassword, model.passWordModel.NewPassword); } catch (Exception) { changePasswordSucceeded = false; } if (changePasswordSucceeded) { return RedirectToAction("Manage", new { Message = ManageMessageId.ChangePasswordSuccess }); } else { ModelState.AddModelError("", "La contraseña actual o la nueva no es válida."); } } } // If we got this far, something failed, redisplay form return RedirectToAction("Manage"); ; }
public ActionResult ChangePersonalInfo(ManagementModel model) { if (ModelState.IsValid) { AnunciosDbContext db = new AnunciosDbContext(); UserProfile perfil = db.usuarios.FirstOrDefault(d => d.UserName.Equals(User.Identity.Name)); perfil.Nombre = model.infoPersonal.Nombre; perfil.Apellidos = model.infoPersonal.Apellidos; perfil.Email = model.infoPersonal.Email; perfil.ciudadId = model.infoPersonal.CiudadId; db.SaveChanges(); return RedirectToAction("Manage", new { Message = ManageMessageId.ChangePersonalInfoSuccess }); } else { return RedirectToAction("Manage"); } }
// // GET: /Account/Manage public ActionResult Manage(ManageMessageId? message) { ViewBag.StatusMessage = message == ManageMessageId.ChangePasswordSuccess ? "Tu contraseña ha sido cambiada." : message == ManageMessageId.ChangePersonalInfoSuccess ? "Se ha actualizado tu información personal." : message == ManageMessageId.ChangePasswordFail ? "Se ha producido un error al cambiar la contraseña." : ""; ViewBag.HasLocalPassword = OAuthWebSecurity.HasLocalAccount(WebSecurity.GetUserId(User.Identity.Name)); ViewBag.ReturnUrl = Url.Action("Manage"); //Cargamos la información personal del usuario ManagementModel modelo = new ManagementModel(); PersonalInfoModel infoExistente = new PersonalInfoModel(); AnunciosDbContext db = new AnunciosDbContext(); UserProfile perfil = db.usuarios.FirstOrDefault(d => d.UserName.Equals(User.Identity.Name)); infoExistente.Nombre = perfil.Nombre; infoExistente.Apellidos = perfil.Apellidos; infoExistente.Email = perfil.Email; infoExistente.CiudadId = perfil.ciudadId; infoExistente.ciudadesDisponibles = CargadorSelectItems.cargarCiudadesExistentes(); infoExistente.ciudadesDisponibles.First(d => d.Value.Equals(infoExistente.CiudadId.ToString())).Selected = true; modelo.infoPersonal = infoExistente; return View(modelo); }