public ActionResult ActivarCuenta(CodigoDeActivacion cda) { try { if (!ModelState.IsValid) { return(View(cda)); } //activo usuario Usuario user = _usuarioService.ActivateAccount(cda); /*Si el usuario no se activo (código incorrecto). * Agrego un error y te devuelvo a la vista*/ if (user.Activo == 0) { ModelState.AddModelError("CodigoInvalido", "El código no es correcto."); return(View(cda)); } //Creo carpeta general _usuarioService.CrearCarpetaGeneral(user); return(RedirectToAction("Login")); } catch (Exception e) { throw e; } }
public Usuario ActivateAccount(CodigoDeActivacion cda) { Usuario usuario = _usuarioRepository.FindByEmail(cda.Email); //HAGO ESTO PARA PODER ACTUALIZAR EL USUARIO EN EL MISMO CONTEXTO DEL QUE SE BUSCA, SI NO TIRA ERROR MULTIPLES INSTANCIAS usuario = _generalRepository.Get(usuario.IdUsuario); if (usuario.CodigoActivacion == cda.CodigoActivacion) { if (usuario.Activo == 1) { return(usuario); } usuario.Activo = 1; usuario.FechaActivacion = DateTime.Now; _generalRepository.Update(usuario); } return(usuario); }