Ejemplo n.º 1
0
        public Retorno EnviaEmailConfirmacao(UsuarioDTO usuario)
        {
            string body = HelperEmail.BodyConfirmacao(configuration["UrlConta"], configuration["EnderecoEmail"], usuario);

            string assunto = HelperEmail.AssuntoConfirmacao();

            return(EnviaEmail(usuario.Email, body, assunto));
        }
Ejemplo n.º 2
0
        private Retorno MontaEmailSenha(TokenEmailDTO tokenEmail, string email)
        {
            //endereco de email do PoruLibras
            string endereco = configuration["EnderecoEmail"];

            //montar assunto
            string assunto = HelperEmail.AssuntoSenha();

            //montar body
            string body = HelperEmail.BodySenha(tokenEmail.Token, endereco);

            //efetua o envio do email
            return(EnviaEmail(email, body, assunto));
        }
Ejemplo n.º 3
0
        public Retorno EnviaResetSenha(string email)
        {
            if (email.Contains("\""))
            {
                email = email.Replace("\"", "");
            }

            //buscar usuario por email
            var usuario = new UsuarioDTO()
            {
                Email = email
            };

            //busca usuario
            var usuarioEncontrado = BuscaUsuario(usuario);

            //validar se email existe
            if (usuarioEncontrado == null)
            {
                return(new Retorno()
                {
                    Codigo = 404, Mensagem = "Email não encontrado."
                });
            }

            var tokenEmail = new TokenEmailDTO()
            {
                CodigoUsuario = usuarioEncontrado.CodigoUsuario,
            };

            //busca token no banco
            tokenEmail = BuscarTokenEmail(tokenEmail);

            //gera novo token
            string token = HelperEmail.GeraCodigo();

            //verificar se usuario ja possui token
            if (VerificaTokenExiste(tokenEmail))
            {
                //recebe novo token de reset de senha
                tokenEmail.Token = token;

                //gera data de expiracao adicionando 2 horas da atual
                tokenEmail.DataValida = DateTime.Now.AddHours(2).ToString("yyyy-MM-dd HH:mm:ss");

                //alterar novo token
                if (repositoryTokenEmail.AlterarToken(tokenEmail) == 0)
                {
                    return(new Retorno()
                    {
                        Codigo = 500,
                        Mensagem = "Falha ao gerar novo token, por favor entre em contato com o suporte"
                    });
                }

                //busca novo token alterado
                tokenEmail = BuscarTokenEmail(new TokenEmailDTO()
                {
                    CodigoUsuario = tokenEmail.CodigoUsuario
                });

                //envia email com novo token e retorna mensagem
                return(MontaEmailSenha(tokenEmail, usuarioEncontrado.Email));
            }

            tokenEmail = new TokenEmailDTO()
            {
                CodigoUsuario = usuarioEncontrado.CodigoUsuario,
                Token         = token,
                //gera data de expiracao adicionando 2 horas da atual
                DataValida = DateTime.Now.AddHours(2).ToString("yyyy-MM-dd HH:mm:ss")
            };

            //grava o token no banco
            int tokenInserido = repositoryTokenEmail.GravarTokenEmail(tokenEmail);

            //envia email e retorna mensagem
            var retorno = MontaEmailSenha(tokenEmail, usuarioEncontrado.Email);

            //caso erro exclui token
            if (retorno.Codigo == 500)
            {
                repositoryTokenEmail.DeletarTokenEmail(tokenInserido);
                return(new Retorno()
                {
                    Codigo = 500,
                    Mensagem = "Falha ao criar token"
                });
            }
            return(retorno);
        }