/// <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); }
/// <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); }
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); }