Exemplo n.º 1
0
        /// <summary>
        /// Utilizado para gerar uma nova senha aleatória de 6 dígitos.
        /// No fim da atualização, envia um e-mail para o usuário com a nova senha gerada.
        /// </summary>
        /// <param name="email">E-mail do usuário</param>
        public void RecuperarSenha(string email)
        {
            var usuario = BuscarPorEmail(email);

            if (usuario == null)
            {
                throw new Exception("E-mail não cadastrado.");
            }

            if (usuario.IND_ATIVO == DMN_SIM_NAO.NAO)
            {
                throw new Exception("O E-mail cadastrado não está ativo. Favor entrar em contato com a Intech.");
            }

            var novaSenha = new Random().Next(100000, 999999);

            usuario.PWD_USUARIO   = Criptografia.Encriptar(novaSenha.ToString());
            usuario.IND_BLOQUEADO = DMN_SIM_NAO.NAO;
            usuario.NUM_TENTATIVA = 0;

            Atualizar(usuario);

            var config = AppSettings.Get();

            var textoEmail = $"<h2>Bem-Vindo ao Intech EFD-Reinf</h2>" +
                             $"A sua nova senha é {novaSenha}";

            EnvioEmail.Enviar(config.Email, usuario.TXT_EMAIL, $"EFD-Reinf - Recuperação de Senha", textoEmail);
        }
Exemplo n.º 2
0
        public IActionResult Post([FromBody] EmailEntidade relacionamentoEntidade)
        {
            try
            {
                DadosPessoaisEntidade dadosPessoais;

                if (Pensionista)
                {
                    dadosPessoais = new DadosPessoaisProxy().BuscarPensionistaPorCdPessoa(CdPessoa);
                }
                else
                {
                    dadosPessoais = new DadosPessoaisProxy().BuscarPorCdPessoa(CdPessoa).First();
                }

                var emailConfig = AppSettings.Get().Email;
                var corpoEmail  =
                    $"Nome: {dadosPessoais.NO_PESSOA}<br/>" +
                    $"E-mail: {relacionamentoEntidade.Email}<br/>" +
                    $"Mensagem: {relacionamentoEntidade.Mensagem}";
                EnvioEmail.Enviar(emailConfig, emailConfig.EmailRelacionamento, $"Faceb - {relacionamentoEntidade.Assunto}", corpoEmail);
                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest("Ocorreu um erro ao enviar e-mail"));
            }
        }
Exemplo n.º 3
0
        public ValidationResult EnviarEmail(string url, string emailUsuario)
        {
            var contaPadrao = _configuracaoContasEmailsServico.ObterContaPadrao();
            ValidationResult retorno;

            if (contaPadrao == null)
            {
                retorno = new ValidationResult();
                retorno.Add(new ValidationError("Conta Padrão não cadastrada na Ferramenta"));
                return(retorno);
            }

            var destinatario = new List <string> {
                emailUsuario
            };

            var emailServico = new EnvioEmail();
            var html         = new StringBuilder();

            html.Append("<p><strong>Ol&aacute;,</strong></p>");
            html.Append(
                "<p>Obrigado por entrar em contato sobre a atualiza&ccedil;&atilde;o da sua senha.Para prosseguir basta <span style='color: #ff0000;'><a href='" +
                url + "' style='color: #ff0000;'>clicar aqui</a>.</span></p>");
            html.Append("<p>Caso n&atilde;o tenha solicitado a troca de senha por favor ignore este email.</p>");
            html.Append("<p>Att.</p>");

            retorno = emailServico.Enviar(contaPadrao.Email, contaPadrao.Descricao, contaPadrao.UsuarioEmail,
                                          contaPadrao.SenhaEmail, contaPadrao.NecessarioSsl, contaPadrao.PortaServidorSaida,
                                          contaPadrao.ServidorSmtp, "Atualização de Senha", html.ToString(), destinatario, null,
                                          null, null, null);

            return(retorno);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Envia novo e-mail de confirmação de cadastro do usuário.
        /// </summary>
        /// <param name="usuario">Usuário a ser enviado o e-mail</param>
        public void EnviarEmailConfirmacao(UsuarioEntidade usuario)
        {
            // Envia e-mail com nova senha de acesso
            var config = AppSettings.Get();

            var textoEmail = $"<h2>Bem-Vindo ao Intech EFD-Reinf</h2>" +
                             $"Para confirmar seu cadastro, clique no link a seguir: <a href=\"{config.PublicacaoAPI}/usuario/confirmarEmail/{usuario.TXT_TOKEN}\">Confirmar e-mail</a>";

            EnvioEmail.Enviar(config.Email, usuario.TXT_EMAIL, $"EFD-Reinf - Confirmação de Cadastro", textoEmail);
        }
        public IActionResult Enviar([FromBody] dynamic data)
        {
            try
            {
                // Envia e-mail com nova senha de acesso
                var emailConfig = AppSettings.Get().Email;
                EnvioEmail.Enviar(emailConfig, data.Destinatario.Value, data.Assunto.Value, data.Corpo.Value);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public IActionResult EnviarAdesao([FromBody] dynamic dados)
        {
            try
            {
                var emailConfig = AppSettings.Get().Email;
                var corpoEmail  =
                    $"Uma Simulação de Benefício no mobile foi realizada pelo usuário:<br/>" +
                    $"Nome: {dados.nome}<br/>" +
                    $"E-mail: {dados.email}<br/>";
                EnvioEmail.Enviar(emailConfig, emailConfig.EmailRelacionamento, $"Faceb - Simulação de Não Participante", corpoEmail);

                return(Json("Um e-mail com os dados da sua simulação foi enviado para a Faceb! "));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public decimal Inserir(ContribuinteEntidade contribuinte, decimal oidUsuario)
        {
            Validar(ref contribuinte);

            contribuinte.DTA_VALIDADE      = DateTime.Now;
            contribuinte.IND_APROVADO      = DMN_SIM_NAO.SIM;
            contribuinte.IND_TIPO_AMBIENTE = DMN_TIPO_AMBIENTE_EFD.PRODUCAO_RESTRITA;

            var proxyContribuinte        = new ContribuinteProxy();
            var proxyUsuarioContribuinte = new UsuarioContribuinteProxy();

            // Valida se usu�rio possui um contribuinte com o mesmo CNPJ cadastrado
            var contribuinteExistente = proxyContribuinte.BuscarPorCpfCnpjOidUsuario(contribuinte.COD_CNPJ_CPF, oidUsuario);

            if (contribuinteExistente != null)
            {
                throw new Exception("J� existe um contribuinte com esse CNPJ vinculado ao usu�rio logado.");
            }

            contribuinteExistente = proxyContribuinte.BuscarPorCpfCnpj(contribuinte.COD_CNPJ_CPF);

            if (contribuinteExistente != null)
            {
                throw new Exception("J� existe um contribuinte com esse CNPJ vinculado a outro usu�rio. Favor entrar em contato com a Intech.");
            }

            var oidContribuinte = base.Inserir(contribuinte);

            var oidUsuarioContribuinte = proxyUsuarioContribuinte.Inserir(new UsuarioContribuinteEntidade
            {
                OID_USUARIO      = oidUsuario,
                OID_CONTRIBUINTE = oidContribuinte
            });

            // Envia e-mail com nova senha de acesso
            var config  = AppSettings.Get();
            var usuario = new UsuarioProxy().BuscarPorChave(oidUsuario);

            var textoEmail = $"EFD-Reinf: Um novo contribuinte foi cadastrado pelo usu�rio {usuario.NOM_USUARIO}: {contribuinte.NOM_RAZAO_SOCIAL}.";

            EnvioEmail.Enviar(config.Email, config.EmailsCadastroContribuintes, $"[EFD-Reinf] - Novo Contribuinte", textoEmail);

            return(oidContribuinte);
        }
        public IActionResult Criar([FromBody] MensagemEntidade mensagem)
        {
            try
            {
                var funcionarioProxy = new FuncionarioProxy();

                mensagem.CD_EMPRESA    = mensagem.CD_EMPRESA == string.Empty ? null : mensagem.CD_EMPRESA;
                mensagem.CD_PLANO      = mensagem.CD_PLANO == string.Empty ? null : mensagem.CD_PLANO;
                mensagem.CD_SIT_PLANO  = mensagem.CD_SIT_PLANO == string.Empty ? null : mensagem.CD_SIT_PLANO;
                mensagem.NUM_MATRICULA = mensagem.NUM_MATRICULA.Replace("_", "").PadLeft(9, '0');

                if (!mensagem.DTA_EXPIRACAO.HasValue)
                {
                    mensagem.DTA_EXPIRACAO = null;
                }
                else
                {
                    mensagem.DTA_EXPIRACAO = mensagem.DTA_EXPIRACAO;
                }

                if (string.IsNullOrEmpty(mensagem.NUM_MATRICULA))
                {
                    mensagem.COD_ENTID = null;
                }
                else
                {
                    mensagem.COD_ENTID = funcionarioProxy.BuscarPorMatricula(mensagem.NUM_MATRICULA).COD_ENTID;
                }

                mensagem.DTA_MENSAGEM = DateTime.Now;

                // Se opção de enviar e-mail for habilitada
                if (mensagem.IND_EMAIL == DMN_SIM_NAO.SIM)
                {
                    var listaDestinatarios = funcionarioProxy.BuscarPorPesquisa(mensagem.CD_FUNDACAO, mensagem.CD_EMPRESA, mensagem.CD_PLANO, mensagem.CD_SIT_PLANO, mensagem.NUM_MATRICULA, string.Empty, string.Empty);

                    foreach (var destinatario in listaDestinatarios)
                    {
                        var dadosDestinatario = funcionarioProxy.BuscarDadosPorCodEntid(destinatario.COD_ENTID.ToString());

                        if (string.IsNullOrEmpty(dadosDestinatario.DadosPessoais.EMAIL_AUX))
                        {
                            throw new Exception("Não existe email cadastrado para seu usuário contacte o administrador do sistema.");
                        }

                        try
                        {
                            var emailConfig = AppSettings.Get().Email;
                            EnvioEmail.Enviar(emailConfig, dadosDestinatario.DadosPessoais.EMAIL_AUX, mensagem.TXT_TITULO, mensagem.TXT_CORPO);
                        }
                        catch (Exception e)
                        {
                            throw new Exception("Erro ao enviar o token por email. Contacte o administrador do sistema." + e.Message);
                        }
                    }
                }

                new MensagemProxy().Insert(mensagem);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }