コード例 #1
0
        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));
        }
コード例 #2
0
        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());
        }
コード例 #3
0
        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));
        }