public ActionResult ActivarCuenta(string u, string c, ActivarCuentaViewModel modelo) { ApplicationUser usuario = null; if (u == null || c == null || (usuario = UserManager.FindById(u)) == null || usuario.EmailConfirmed) { return(Redirect("Login")); } if (ModelState.IsValid) { var result = UserManager.ConfirmEmail(u, c); if (result.Succeeded) { result = UserManager.AddPassword(u, modelo.Password); if (result.Succeeded) { return(View("ActivarCuentaConfirmacion")); } else { _controllerHelper.CargarErrores(result.Errors); } } else { _controllerHelper.CargarErrores(result.Errors); } } return(View(modelo)); }
public async Task <ActionResult> Register(ActivarCuentaViewModel activarCuentaViewModel) { if (!ModelState.IsValid) { return(View()); } ApplicationDbContext db = new ApplicationDbContext(); var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db)); var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(db)); var user = userManager.Find(activarCuentaViewModel.Email, activarCuentaViewModel.PasswordTmp); if (user != null) { user.EmailConfirmed = true; await userManager.UpdateAsync(user); await userManager.RemovePasswordAsync(user.Id); await userManager.AddPasswordAsync(user.Id, activarCuentaViewModel.Password); string htmlData = InfoMail.CuentaActivada(); EnviarCorreo.Enviar(user.Email, Mensaje.CuentaActivada, htmlData); return(RedirectToAction("Login", "Account")); } ViewBag.Tipo = 2; ViewBag.Error = Mensaje.UsuarioContrasenaIncorrecto; return(View()); }
public ActionResult ActivarCuenta(string u, string c) { ApplicationUser usuario = null; if (u == null || c == null || (usuario = UserManager.FindById(u)) == null || usuario.EmailConfirmed) { return(Redirect("Login")); } var viewModel = new ActivarCuentaViewModel { Email = usuario.Email }; return(View(viewModel)); }