Example #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_SN.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_SN.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.EnviarMailKit(config.Email, usuario.TXT_EMAIL, $"EFD-Reinf - Recuperação de Senha", textoEmail);
        }
Example #2
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.EnviarMailKit(config.Email, usuario.TXT_EMAIL, $"EFD-Reinf - Confirmação de Cadastro", textoEmail);
        }
Example #3
0
        public decimal Inserir(ContribuinteEntidade contribuinte, decimal oidUsuario)
        {
            Validar(ref contribuinte);

            contribuinte.DTA_VALIDADE      = DateTime.Now;
            contribuinte.IND_APROVADO      = DMN_SN.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.EnviarMailKit(config.Email, config.EmailsCadastroContribuintes, $"[EFD-Reinf] - Novo Contribuinte", textoEmail);

            return(oidContribuinte);
        }