// 1 - Gerar uma nova senha para o não associado
        // 2 - Atualizar a senha no banco de dados
        // 3 - Chamar o serviço de envio de e-mail para comunicar a nova senha para o associado
        public UtilRetorno reenviarSenha(int idAssociado)
        {
            string novaSenha      = UtilString.randomString(8);
            string novaSenhaCrypt = UtilCrypt.SHA512(novaSenha);

            Associado OAssociado = this.db.Associado.FirstOrDefault(x => x.id == idAssociado && x.dtExclusao == null);

            if (OAssociado == null)
            {
                return(UtilRetorno.newInstance(true, "O cadastro não foi localizado."));
            }

            if (OAssociado.ativo == "N")
            {
                return(UtilRetorno.newInstance(true, "O Não Associado está desativado e não pode receber uma nova senha."));
            }

            OAssociado.Pessoa.senha = novaSenhaCrypt;
            this.db.SaveChanges();

            IEnvioSenhaAssociado EnvioEmail = EnvioSenhaAssociado.factory(OAssociado.idOrganizacao, OAssociado.Pessoa.emailPrincipal().ToOneList(), OAssociado.Pessoa.emailSecundario().ToOneList());

            EnvioEmail.enviar(OAssociado, novaSenha);

            return(UtilRetorno.newInstance(false, "Foi gerada uma nova senha para e reenviada para os e-mails de cadastro."));
        }
Beispiel #2
0
        // 1 - Gerar uma nova senha para o associado
        // 2 - Atualizar a senha no banco de dados
        // 3 - Chamar o serviço de envio de e-mail para comunicar a nova senha para o associado
        public UtilRetorno reenviarSenha(int idAssociado)
        {
            string novaSenha      = UtilString.randomString(8);
            string novaSenhaCrypt = UtilCrypt.SHA512(novaSenha);

            var query = this.db.Associado.Where(x => x.id == idAssociado && x.dtExclusao == null);

            query = query.condicoesSeguranca();

            Associado OAssociado = query.FirstOrDefault();

            if (OAssociado == null)
            {
                return(UtilRetorno.newInstance(true, "O associado não foi localizado."));
            }

            if (OAssociado.ativo == "N")
            {
                return(UtilRetorno.newInstance(true, "O Associado está desativado e não pode receber uma nova senha."));
            }

            if (OAssociado.Pessoa.login.isEmpty())
            {
                return(UtilRetorno.newInstance(true, "O Associado não possui um login."));
            }

            var listaEmails = OAssociado.Pessoa.ToEmailList();

            if (!listaEmails.Any())
            {
                return(UtilRetorno.newInstance(true, "Não pode ser localizado nenhum e-mail para o reenvio da senha."));
            }

            OAssociado.Pessoa.senha = novaSenhaCrypt;

            this.db.SaveChanges();

            IEnvioSenhaAssociado EnvioEmail = EnvioSenhaAssociado.factory(OAssociado.idOrganizacao, listaEmails, null);

            EnvioEmail.enviar(OAssociado, novaSenha);

            return(UtilRetorno.newInstance(false, "Foi gerada uma nova senha para e reenviada para os e-mails de cadastro do associado."));
        }