Example #1
0
        public bool AutenticarUsuario(string CPF, string Senha)
        {
            if (string.IsNullOrEmpty(CPF))
            {
                return(false);
            }

            if (CPF.Trim().ToLower().Equals("usuariodrupal"))
            {
                ConfiguracaoSistema configuracaoSistema = new BMConfiguracaoSistema().ObterPorID((int)enumConfiguracaoSistema.SenhaUsuarioDefaultDrupal);
                Senha = configuracaoSistema.Registro;
                return(true);
            }


            using (BMUsuario userBM = new BMUsuario())
            {
                Usuario us = userBM.ObterPorCPF(CPF);

                if (us == null)
                {
                    return(false);
                }
                else
                {
                    if (string.IsNullOrEmpty(us.Senha))
                    {
                        return(false);
                    }

                    string senhaCriptografada = CriptografiaHelper.Criptografar(Senha);

                    if (us.Senha.ToLower().Equals(senhaCriptografada.ToLower()))
                    {
                        return(true);
                    }
                    else if (Senha.ToLower() == CriptografiaHelper.ObterHashMD5(CriptografiaHelper.Decriptografar(us.Senha)).ToLower())
                    {
                        return(true);
                    }
                }
                return(false);
            }

            //return !(usuario == null || usuario.ID <= 0);
        }
Example #2
0
        public string ConsultaURLAcesso(int idFornecedor, Usuario usuario)
        {
            try
            {
                Fornecedor fornecedor = new BMFornecedor().ObterPorID(idFornecedor);

                if (fornecedor == null)
                {
                    throw new AcademicoException("Não foi possível encontrar o Fornecedor");
                }
                if (usuario == null)
                {
                    throw new AcademicoException("Não foi possível encontrar o Usuário");
                }

                string linkAcesso        = fornecedor.LinkAcesso;
                string textoCriptografia = fornecedor.TextoCriptografia;
                string token;
                if (string.IsNullOrEmpty(textoCriptografia))
                {
                    token = CriptografiaHelper.Criptografar(usuario.CPF);
                }
                else
                {
                    token = CriptografiaHelper.Criptografar(usuario.CPF, textoCriptografia);
                }
                string senhaAberta = CriptografiaHelper.Decriptografar(usuario.Senha);
                string senhaMD5    = CriptografiaHelper.ObterHashMD5(senhaAberta);

                return(linkAcesso.Replace("#CPF", usuario.CPF)
                       .Replace("#TOKEN", token)
                       .Replace("#SENHAMD5", senhaMD5)
                       );
            }
            catch
            {
                return("");
            }
        }
        public string GerarUrlLogginUsuario(string cpf, string senha)
        {
            if (autenticacao == null || !(segurancaAutenticacao.AutenticaFornecedor(autenticacao)))
            {
                throw new Exception("Fornecedor não autenticado. verifique o Login e a Senha informada");
            }

            string url = "";

            if (new BMUsuario().AutenticarUsuario(cpf, senha))
            {
                var tokenAcesso = new TokenAcesso();
                tokenAcesso.Usuario     = new BMUsuario().ObterPorCPF(cpf);
                tokenAcesso.Token       = Guid.NewGuid();
                tokenAcesso.DataCriacao = DateTime.Now;
                tokenAcesso.Fornecedor  = new BMFornecedor().ObterPorID(10);
                tokenAcesso.TokenMD5    = CriptografiaHelper.ObterHashMD5(tokenAcesso.Usuario.CPF + "/" + tokenAcesso.Token);
                new BMTokenAcesso().Salvar(tokenAcesso);

                url += new BMConfiguracaoSistema().ObterPorID((int)enumConfiguracaoSistema.EnderecoPortal).Registro + "token/" + tokenAcesso.TokenMD5;
            }

            return(url);
        }
        private void ExecutarSincronizacao(int idProfessor)
        {
            var professor = new BMProfessor().ObterPorId(idProfessor);

            if (professor != null)
            {
                var bmUsuarioMoodle = new BMUsuarioMoodle();

                string cpf   = professor.Cpf;
                string email = professor.Email;

                var usuarioSgus = new BMUsuario().ObterPorCPF(cpf);

                if (usuarioSgus == null)
                {
                    usuarioSgus                  = new Usuario();
                    usuarioSgus.Auditoria        = new Auditoria(new BMUsuario().ObterUsuarioLogado().CPF);
                    usuarioSgus.Bairro           = professor.Bairro;
                    usuarioSgus.Cep              = professor.CEP;
                    usuarioSgus.Cidade           = professor.Cidade;
                    usuarioSgus.CPF              = professor.Cpf;
                    usuarioSgus.DataNascimento   = professor.DataNascimento;
                    usuarioSgus.Email            = professor.Email;
                    usuarioSgus.Endereco         = professor.Endereco;
                    usuarioSgus.Estado           = professor.Estado;
                    usuarioSgus.EstadoCivil      = professor.EstadoCivil;
                    usuarioSgus.Nacionalidade    = professor.Nacionalidade;
                    usuarioSgus.Naturalidade     = professor.Naturalidade;
                    usuarioSgus.Nome             = professor.Nome;
                    usuarioSgus.NomeMae          = professor.NomeMae;
                    usuarioSgus.NomePai          = professor.NomePai;
                    usuarioSgus.Senha            = CriptografiaHelper.Criptografar("sebrae2014");
                    usuarioSgus.TelCelular       = professor.TelefoneCelular;
                    usuarioSgus.TelefoneExibicao = professor.Telefone;
                    usuarioSgus.TipoDocumento    = professor.TipoDocumentoRG;

                    //new BMUsuario().Salvar(usuarioSgus);
                }

                bool usuarioExistenteNoMoodle = bmUsuarioMoodle.ObterPorEmailOuUsuarioExistente(usuarioSgus.CPF, usuarioSgus.Email);

                if (!usuarioExistenteNoMoodle)
                {
                    var usuarioMoodle = new UsuarioMoodle();

                    usuarioMoodle.Autorizacao = "sgus";
                    usuarioMoodle.Usuario     = usuarioSgus.CPF;
                    usuarioMoodle.Senha       = CriptografiaHelper.ObterHashMD5(CriptografiaHelper.Decriptografar(usuarioSgus.Senha));
                    usuarioMoodle.IdNumero    = "";
                    usuarioMoodle.Nome        = usuarioSgus.Nome.Split(' ')[0].Replace(" ", "");
                    usuarioMoodle.Sobrenome   = usuarioSgus.Nome.Split(' ')[usuarioSgus.Nome.Split(',').Length].Replace(" ", "");
                    usuarioMoodle.Email       = usuarioSgus.Email;
                    usuarioMoodle.EmailParado = false;
                    if (!string.IsNullOrEmpty(usuarioSgus.Cidade))
                    {
                        usuarioMoodle.Cidade = usuarioSgus.Cidade;
                        if (usuarioSgus.UF != null)
                        {
                            usuarioMoodle.Cidade += "/" + usuarioSgus.UF.Sigla;
                        }
                    }
                    usuarioMoodle.Pais        = "BR";
                    usuarioMoodle.Idioma      = "pt_br";
                    usuarioMoodle.ZonaHoraria = "99";

                    //bmUsuarioMoodle.Salvar(usuarioMoodle);

                    var bmSgusMoodleCursos = new BMSgusMoodleCurso();
                    int codCat             = 0;

                    foreach (var item in professor.ListaTurma)
                    {
                        if (item.Oferta.SolucaoEducacional.Fornecedor.ID == (int)enumFornecedor.MoodleSebrae)
                        {
                            if (int.TryParse(item.Oferta.SolucaoEducacional.IDChaveExterna, out codCat))
                            {
                                var categoria = bmSgusMoodleCursos.ObterPorCategoria(codCat);

                                var enrol = new BMInscricao().ObterPorFiltro(new Inscricao {
                                    IDCurso = categoria.CodigoCurso, TipoInscricao = "manual"
                                }).FirstOrDefault();

                                if (enrol != null)
                                {
                                    UsuarioMoodleInscricao pUsuarioMoodleInscricao = new UsuarioMoodleInscricao();
                                    pUsuarioMoodleInscricao.IDInscricao   = enrol.ID;
                                    pUsuarioMoodleInscricao.UsuarioMoodle = usuarioMoodle;

                                    //new BMUsuarioMoodleInscricao().Salvar(pUsuarioMoodleInscricao);
                                }
                            }
                        }
                    }
                }
            }

            WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Professor sincronizado com sucesso", "ListarProfessor.aspx");
        }
Example #5
0
        public DTOConsultaUsuarioPorFiltro ConsultarUsuarioPorFiltro(string nome, string email, int ID_UF, int ID_NivelOcupacional, int page, int maxPerPage)
        {
            DTOConsultaUsuarioPorFiltro dtoConsultaUsuarioPorFiltro = new DTOConsultaUsuarioPorFiltro();

            BMUsuario bmUsuario = new BMUsuario();

            Usuario usuario = new Usuario {
                Nome  = nome,
                Email = email
            };

            // Obtem o estado especificado
            if (ID_UF != 0)
            {
                Uf uf = new BMUf().ObterPorId(ID_UF);

                if (uf != null && uf.ID != 0)
                {
                    usuario.UF = uf;
                }
            }

            // Obtem o nivel ocupacional especificado
            if (ID_NivelOcupacional != 0)
            {
                NivelOcupacional nivelOcupacional = new BMNivelOcupacional().ObterPorID(ID_NivelOcupacional);

                if (nivelOcupacional != null && nivelOcupacional.ID != 0)
                {
                    usuario.NivelOcupacional = nivelOcupacional;
                }
            }

            bmUsuario = new BMUsuario();

            // Máximo por página
            maxPerPage = maxPerPage > 500 ? 500 : maxPerPage;

            var query = bmUsuario.ObterQueryPorFiltros(usuario);

            IList <Usuario> usuarios;

            var total = query.Count();

            query = query.OrderBy(x => x.Nome);

            if (total > maxPerPage)
            {
                query = query.Select(x => new Usuario {
                    ID = x.ID, Nome = x.Nome, Email = x.Email, CPF = x.CPF, DataNascimento = x.DataNascimento, SID_Usuario = x.SID_Usuario, Senha = x.Senha, Situacao = x.Situacao.Trim(), Sexo = x.Sexo
                });
                query    = query.Skip(page * maxPerPage).Take(maxPerPage);
                usuarios = query.ToList();

                dtoConsultaUsuarioPorFiltro.totalPages = (int)Math.Ceiling((double)total / (double)maxPerPage);
            }
            else
            {
                usuarios = query.ToList();
                dtoConsultaUsuarioPorFiltro.totalPages = 1;
            }

            if (usuarios.Any())
            {
                foreach (var u in usuarios)
                {
                    dtoConsultaUsuarioPorFiltro.ListaConsultaUsuario.Add(
                        new DTOConsultaUsuarioPorFiltroItem
                    {
                        Nome           = u.Nome,
                        Email          = u.Email,
                        CPF            = u.CPF,
                        DataNascimento = u.DataNascimento,
                        SID_Usuario    = u.SID_Usuario,
                        SenhaMD5       = CriptografiaHelper.ObterHashMD5(CriptografiaHelper.Decriptografar(u.Senha)),
                        Situacao       = u.Situacao.Trim(),
                        Sexo           = u.Sexo
                    }
                        );
                }
            }

            dtoConsultaUsuarioPorFiltro.totalRegistros = total;
            dtoConsultaUsuarioPorFiltro.currentPage    = page;

            return(dtoConsultaUsuarioPorFiltro);
        }