コード例 #1
0
        // 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."));
        }
コード例 #2
0
        //Rotina para recuperacao de senha do usuario
        public UtilRetorno recuperarSenha(string login)
        {
            var OUsuario = (from Usu in this.db.UsuarioSistema
                            where
                            Usu.login == login &&
                            Usu.dtExclusao == null
                            select Usu).FirstOrDefault();

            if (OUsuario == null)
            {
                return(UtilRetorno.newInstance(true, "Nenhum usuário encontrado com os dados informados."));
            }

            if (OUsuario.ativo == "N")
            {
                return(UtilRetorno.newInstance(true, "O usuário vinculado à essa conta está desativado no momento, entre em contato com a administração."));
            }

            string novaSenha = UtilString.randomString(8);

            OUsuario.senha = UtilCrypt.SHA512(novaSenha);

            OUsuario.flagAlterarSenha = "S";

            db.SaveChanges();

            IEnvioNovoUsuario OEmail = RecuperacaoSenhaUsuario.factory(OUsuario.idOrganizacao.toInt(), OUsuario.Pessoa.ToEmailsPessoa(), null);

            OEmail.enviar(OUsuario, novaSenha);

            return(UtilRetorno.newInstance(false, "Uma nova senha foi reenviada para os e-mails vinculados à essa conta."));
        }
コード例 #3
0
        //Recuperacao de senha para o associado
        //Gerar uma nova senha e enviar para o e-mail do associado
        public UtilRetorno recuperarSenha(string login)
        {
            var query = from Ass in db.Associado
                        .Include(x => x.Pessoa)
                        where
                        (Ass.Pessoa.login == login || Ass.Pessoa.emailSecundario == login) &&
                        Ass.dtExclusao == null
                        select
                        Ass;

            var OAssociado = query.FirstOrDefault();

            if (OAssociado == null)
            {
                return(UtilRetorno.newInstance(true, "Desculpe, não foi localizado nenhum associado com os dados informados."));
            }

            if (OAssociado.ativo == "N")
            {
                return(UtilRetorno.newInstance(true, "Desculpe, os dados informados pertencem à um associado que está desativado."));
            }

            string novaSenha = UtilString.randomString(8);

            OAssociado.Pessoa.senha = UtilCrypt.SHA512(novaSenha);
            db.SaveChanges();

            var EnvioEmail = EnvioRecuperacaoSenha.factory(OAssociado.idOrganizacao, OAssociado.Pessoa.ToEmailList(), null);

            EnvioEmail.enviar(OAssociado, novaSenha);

            return(UtilRetorno.newInstance(false, "Geramos uma nova senha para sua conta com sucesso. Você irá recebê-la nos e-mails de seu cadastro em alguns instantes."));
        }
コード例 #4
0
        //Geracao de uma nova senha para o usuario
        public UtilRetorno criarNovaSenha(int idUsuario)
        {
            var OUsuario = (from Usu in this.db.UsuarioSistema
                            where
                            Usu.id == idUsuario && Usu.dtExclusao == null
                            select Usu).FirstOrDefault();

            if (OUsuario == null)
            {
                return(UtilRetorno.newInstance(true, "Desculpe, esse usuário não pôde ser localizado."));
            }


            string novaSenha = UtilString.randomString(8);

            OUsuario.senha = UtilCrypt.SHA512(novaSenha);

            OUsuario.flagAlterarSenha = "S";

            db.SaveChanges();

            IEnvioNovoUsuario OEmail = ReenvioSenhaUsuario.factory(OUsuario.idOrganizacao.toInt(), OUsuario.Pessoa.ToEmailsPessoa(), null);

            OEmail.enviar(OUsuario, novaSenha);

            return(UtilRetorno.newInstance(false, "Uma nova senha foi enviada para o e-mail vinculado à conta."));
        }
コード例 #5
0
        //Inserir os dados para um novo associado
        //Gerar uma senha randômica para enviar para o cadastro do novo associado
        private bool inserir(Associado ODependenteAssociado)
        {
            ODependenteAssociado.setDefaultInsertValues();

            ODependenteAssociado.Pessoa.setDefaultInsertValues();

            ODependenteAssociado.Pessoa.listaEnderecos.ToList().ForEach(e => { e.setDefaultInsertValues(); });

            ODependenteAssociado.Pessoa.listaEmails.ToList().ForEach(e => { e.setDefaultInsertValues(); });

            ODependenteAssociado.Pessoa.listaTelefones.ToList().ForEach(e => { e.setDefaultInsertValues(); });

            ODependenteAssociado.idTipoAssociado = ODependenteAssociado.idTipoAssociado.toInt();

            ODependenteAssociado.nroAssociado = this.proximoId();

            ODependenteAssociado.idUnidade = User.idUnidade() > 0 ? User.idUnidade() : ODependenteAssociado.idUnidade;

            string senha = UtilString.randomString(8);

            ODependenteAssociado.Pessoa.senha = UtilCrypt.SHA512(senha);

            db.Associado.Add(ODependenteAssociado);

            db.SaveChanges();

            return(ODependenteAssociado.id > 0);
        }
コード例 #6
0
        //Inserir os dados para um novo associado
        //Gerar uma senha randômica para enviar para o cadastro do novo associado
        private bool inserir(Associado OAssociado)
        {
            OAssociado.setDefaultInsertValues();

            OAssociado.Pessoa.setDefaultInsertValues();

            OAssociado.Pessoa.listaEnderecos?.ForEach(e => { e.setDefaultInsertValues(); });

            OAssociado.Pessoa.listaEmails?.ForEach(e => { e.setDefaultInsertValues(); });

            OAssociado.Pessoa.listaTelefones?.ForEach(e => { e.setDefaultInsertValues(); });

            OAssociado.idTipoAssociado = OAssociado.idTipoAssociado.toInt();

            OAssociado.nroAssociado = !OAssociado.nroAssociado.isEmpty() ? OAssociado.nroAssociado : this.proximoId(OAssociado.idOrganizacao);

            OAssociado.nroDocumentoIndicador = UtilString.onlyNumber(OAssociado.nroDocumentoIndicador);

            OAssociado.idUnidade = User.idUnidade() > 0 ? User.idUnidade() : OAssociado.idUnidade;

            string senha          = OAssociado.Pessoa.senha.isEmpty()? UtilString.randomString(8): OAssociado.Pessoa.senha;
            string senhaTransacao = OAssociado.senhaTransacao.isEmpty()? UtilString.randomString(8): OAssociado.senhaTransacao;

            OAssociado.Pessoa.senha   = UtilCrypt.SHA512(senha);
            OAssociado.senhaTransacao = UtilCrypt.SHA512(senhaTransacao);

            if (!OAssociado.codigoIndicador.isEmpty())
            {
                Associado Indicador = this.OAssociadoConsultaBL.queryNoFilter(OAssociado.idOrganizacao).Select(x => new{
                    x.id,
                    x.idPessoa,
                    x.idIndicador,
                    x.idIndicadorSegundoNivel,
                    x.idIndicadorTerceiroNivel,
                    x.rotaConta,
                    Pessoa = new{
                        x.Pessoa.nroDocumento
                    }
                })
                                      .FirstOrDefault(x => x.rotaConta == OAssociado.codigoIndicador)
                                      .ToJsonObject <Associado>() ?? new Associado();

                OAssociado.idIndicador              = Indicador.id;
                OAssociado.idIndicadorSegundoNivel  = Indicador.idIndicador;
                OAssociado.idIndicadorTerceiroNivel = Indicador.idIndicadorSegundoNivel;
            }

            db.Associado.Add(OAssociado);

            db.SaveChanges();

            return(OAssociado.id > 0);
        }
コード例 #7
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."));
        }
コード例 #8
0
        //Persistir e inserir um novo registro
        //Inserir Empresa, Pessoa e lista de Endereços vinculados
        private bool inserir(UsuarioSistema OUsuarioSistema)
        {
            string senha = UtilString.randomString(8);

            OUsuarioSistema.senha = UtilCrypt.SHA512(senha);

            OUsuarioSistema.flagAlterarSenha = "S";

            OUsuarioSistema.setDefaultInsertValues();

            OUsuarioSistema.Pessoa.setDefaultInsertValues();

            OUsuarioSistema.Pessoa.listaEnderecos.ForEach(x => {
                x.setDefaultInsertValues();

                x.idPais = "BRA";

                x.idTipoEndereco = TipoEnderecoConst.PRINCIPAL;
            });

            if (OUsuarioSistema.Pessoa.listaEnderecos != null && OUsuarioSistema.Pessoa.listaEnderecos.Count > 0)
            {
                OUsuarioSistema.Pessoa.listaEnderecos.ForEach((x) => x.setDefaultInsertValues());

                OUsuarioSistema.Pessoa.listaEnderecos.ForEach((x) => x.idTipoEndereco = TipoEnderecoConst.PRINCIPAL);
            }

            db.UsuarioSistema.Add(OUsuarioSistema);

            db.SaveChanges();

            bool flagCastrado = OUsuarioSistema.id > 0;

            if (flagCastrado)
            {
                IEnvioNovoUsuario OEmail = EnvioNovoUsuario.factory(OUsuarioSistema.idOrganizacao.toInt(), OUsuarioSistema.Pessoa.ToEmailsPessoa(), null);

                OEmail.enviar(OUsuarioSistema, senha);
            }

            return(OUsuarioSistema.id > 0);
        }
コード例 #9
0
        //Persistir e inserir um novo registro
        private bool inserir(CupomDesconto OCupomDesconto)
        {
            bool temCupom = false;

            while (!temCupom)
            {
                OCupomDesconto.codigo = UtilString.randomString(8);

                if (!db.CupomDesconto.Any(x => x.codigo == OCupomDesconto.codigo && x.flagExcluido == "N"))
                {
                    temCupom = true;
                }
            }

            OCupomDesconto.setDefaultInsertValues <CupomDesconto>();

            db.CupomDesconto.Add(OCupomDesconto);

            db.SaveChanges();

            return(OCupomDesconto.id > 0);
        }
コード例 #10
0
        public ActionResult gerarSenhaAleatoria(AssociadoEnvioNovaSenhaForm ViewModel)
        {
            var senhaGerada = UtilString.randomString(6);

            return(Json(new { senhaGerada }, JsonRequestBehavior.AllowGet));
        }