public IComandResult Handle(EmailEsqueceuSenhaComand comand) { //verificar se tem notificação no comand if (!comand.IsValid()) { return(new ComandResult(false, "Por favor corrija os campos abaixo", comand.Notifications)); } //verifica se o usuário ja existe var usuario = _repository.BuscarPorEmail(comand.Email); if (usuario == null) { AddNotification("Usuario", "Email não cadastrado!"); } else { usuario.GerarRecuperSenha(); _repository.Alterar(usuario); } if (Invalid) { return(new ComandResult(false, "Por favor corrija os campos abaixo", Notifications)); } var resultato = new ComandResult(true, "Um e-mail foi enviado para o e-email " + usuario.Login, new { usuario.Id, usuario.Login }); if (resultato.Success) { var enviou = _enviarEmailServices.EnviarCodigo("*****@*****.**", new List <string>() { usuario.Login }, "*****@*****.**", null, true, "teste", "<html><body><a href='http://localhost:4200/recuperar-senha/" + usuario.RecuperarSenha + "'><button>Texto do botão</button></a></body></html>", "smtp.gmail.com"); if (enviou) { return(resultato); } } else { AddNotification("Erro", "Email não enviado!"); } return(new ComandResult(false, "Falha em enviar o e-email,tente novamente!", Notifications)); }
public IComandResult Handle(EsqueceuSenhaComand comand) { //verificar se tem notificação no comand if (!comand.IsValid()) { return(new ComandResult(false, "Por favor corrija os campos abaixo", comand.Notifications)); } //verifica se o código ja existe var retorno = _repository.VerificarCodigoRecuperarSenha(comand.RecuperarSenha.ToString()); if (retorno == null) { AddNotification("Código", "Código inválido!"); } else { var data = DateTime.Now; TimeSpan t = data.Subtract(retorno.DataRecuperacao); if (t.TotalMinutes < 5) { var chaveSenha = Functions.GetRandomString(); var _senha = Crypto.EncriptarSenha(comand.Senha, chaveSenha); retorno.TrocarSenha(_senha, chaveSenha); } else { return(new ComandResult(false, "Tempo de troca de senha expirou,tenta novamente", Notifications)); } } if (Invalid) { return(new ComandResult(false, "Por favor corrija os campos abaixo", Notifications)); } if (!Invalid) { _repository.Alterar(retorno); } var resultato = new ComandResult(true, "Senha alterada com sucesso ", new { }); if (resultato.Success) { var enviou = _enviarEmailServices.EnviarCodigo("*****@*****.**", new List <string>() { retorno.Login }, "*****@*****.**", null, true, "teste", "<html><body><h1>Sua senha foi alterada com sucesso!!</h1></body></html>", "smtp.gmail.com"); if (enviou) { return(resultato); } } else { AddNotification("Erro", "Erro em alterar a senha,tente novamente!"); } return(new ComandResult(false, "Falha em enviar o e-email,tente novamente!", Notifications)); }