protected override void DoAfterGet(Usuario entity)
 {
     if (entity != null)
     {
         entity.Senha = CriptografiaHelper.Decriptar(entity.Senha);
     }
 }
Exemple #2
0
        public bool isLoginValid(string login, string senha)
        {
            var senhaCriptografada = CriptografiaHelper.CriptografarSenha(senha);
            var usuario            = _repositorioUsuario.Get().Where(x => x.Email.Equals(login) && x.SenhaCriptografada.Equals(senhaCriptografada)).FirstOrDefault();

            if (usuario == null && _repositorioUsuario.Get().Count() == 0)
            {
                _context.Usuario.Add(new Usuario()
                {
                    Nome = "Sidcley Mendes", Email = "*****@*****.**", SenhaCriptografada = CriptografiaHelper.CriptografarSenha("123456"), DtInclusao = DateTime.Now
                });
                _context.Amigo.Add(new Amigo()
                {
                    Nome = "Sidcley Mendes", Email = "*****@*****.**", DtInclusao = DateTime.Now
                });
                _context.Jogo.Add(new Jogo()
                {
                    Descricao = "Street Figther", Ano = 1998, DtInclusao = DateTime.Now
                });
                Commit();
                usuario = _repositorioUsuario.Get().Where(x => x.Email.Equals(login) && x.SenhaCriptografada.Equals(senhaCriptografada)).FirstOrDefault();
            }

            return(usuario != null);
        }
        static void Main(string[] args)
        {
            string chave = "abcdefghijlmnopr";
            string vetorInicializacao   = "1234567891012131";
            string textoAEncriptar      = File.ReadAllText(@"D:\Projetos\Git\Criptografia\Criptografia\bin\Debug\netcoreapp3.1\audio.txt");
            string resultadoEncriptacao = "";
            string resultadoDescriptar  = "";

            try
            {
                resultadoEncriptacao = CriptografiaHelper.Encriptar(chave, vetorInicializacao, textoAEncriptar);
                File.WriteAllText(@"D:\Projetos\Git\Criptografia\Criptografia\bin\Debug\netcoreapp3.1\audio-criptgrafado.txt", resultadoEncriptacao);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Erro: " + ex.Message);
            }


            try
            {
                string arquivoEncriptado = File.ReadAllText(@"D:\Projetos\Git\Criptografia\Criptografia\bin\Debug\netcoreapp3.1\audio-criptgrafado.txt");
                resultadoDescriptar = CriptografiaHelper.Decriptar(chave, vetorInicializacao, arquivoEncriptado);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Erro: " + ex.Message);
            }
        }
Exemple #4
0
        protected override void Seed(GerenciadorJogosContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data.

            var jogo = new Jogo {
                Nome = "Jogo", Plataforma = EnumPlataforma.PC
            };
            var amigo = new Amigo {
                Nome = "Amigo", Sobrenome = "Sobrenome"
            };
            var emprestimo = new Emprestimo {
                Amigo = amigo, Jogo = jogo, DataEmprestimo = DateTime.Now
            };

            context.Emprestimos.AddOrUpdate(emprestimo);

            var usuario = new Usuario
            {
                NomeUsuario  = "andrebacaglini",
                Senha        = CriptografiaHelper.Criptografar("#B4c4glini"),
                DataCadastro = DateTime.Now,
                Email        = "*****@*****.**"
            };

            context.Usuarios.AddOrUpdate(usuario);
        }
Exemple #5
0
        protected void btnProcessarCargaInicial_Click(object sender, EventArgs e)
        {
            try
            {
                ManterUsuario manterUsuario = new ManterUsuario();
                var           listaUsuarios = manterUsuario.ObterTodos();

                //Faz o filtro de usuário, em memória
                IList <Usuario> listaUsuariosComSenhaMenores = listaUsuarios.Where(x => !string.IsNullOrWhiteSpace(x.Senha) &&
                                                                                   x.Senha.Length > 1 && x.Senha.Length <= 10).ToList();

                string stringCriptografadaComAes = string.Empty;

                foreach (Usuario usuario in listaUsuariosComSenhaMenores)
                {
                    try
                    {
                        stringCriptografadaComAes = CriptografiaHelper.Criptografar(usuario.Senha);
                        usuario.Senha             = stringCriptografadaComAes;
                        manterUsuario.SalvarSemValidacao(usuario);
                    }
                    catch (Exception ex)
                    {
                        Response.Write(ex.Message);
                        continue;
                    }
                }
                new BMUsuario().Commit();
            }
            catch
            {
                throw;
            }
        }
Exemple #6
0
        public string ConsultarLinkAcessoFornecedor(Fornecedor fornecedor, Usuario usuario, string codigoMoodle)
        {
            var retorno = string.Empty;

            try
            {
                switch (fornecedor.ID)
                {
                case (int)enumFornecedor.WebAula:
                    retorno = fornecedor.LinkAcesso;
                    retorno = retorno.Replace("#TOKEN", HttpUtility.UrlEncode(CriptografiaHelper.Criptografar(usuario.CPF, fornecedor.TextoCriptografia)));
                    break;

                case (int)enumFornecedor.MoodleSebrae:
                    retorno = fornecedor.LinkAcesso;
                    retorno = retorno.Replace("#CPFAES", HttpUtility.UrlEncode(CriptografiaHelper.Criptografar(usuario.CPF, fornecedor.TextoCriptografia)));
                    retorno = retorno.Replace("#CPF", usuario.CPF);
                    retorno = retorno.Replace("#SENAES", HttpUtility.UrlEncode(CriptografiaHelper.Criptografar(CriptografiaHelper.Decriptografar(usuario.Senha), fornecedor.TextoCriptografia)));
                    retorno = retorno.Replace("#CODIGOMOODLE", codigoMoodle);
                    break;
                }
            }
            catch (Exception ex)
            {
                ErroUtil.Instancia.TratarErro(ex);
            }
            return(retorno);
        }
Exemple #7
0
        protected void btnSalvar_Click1(object sender, EventArgs e)
        {
            string senhagerada;

            try
            {
                var userSalvar = ObterObjetoUsuario();
                senhagerada = txtSenha.Text;

                if (string.IsNullOrEmpty(senhagerada))
                {
                    senhagerada = ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.SenhaPadrao).Registro;
                }

                //userSalvar.SenhaLms = WebFormHelper.ObterHashMD5(senhagerada);
                userSalvar.Senha = CriptografiaHelper.Criptografar(senhagerada);

                var manterUsuario = new ManterUsuario();

                manterUsuario.Salvar(userSalvar);

                manterUsuario.EnviarEmailBoasVindas(userSalvar);

                MatricularNovoUsuarioEmCursosObrigatorios(userSalvar);
            }
            catch (AcademicoException ex)
            {
                WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message);
                return;
            }

            WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Usuário cadastrado com sucesso!\nA senha gerada para o usuário criado foi: " + senhagerada + ".", "ListarUsuario.aspx");
        }
Exemple #8
0
        private void SetSenha(string senha, string senhaConfirmacao)
        {
            Guard.ForNullOrEmptyDefaultMessage(senha, "Senha");
            Guard.ForNullOrEmptyDefaultMessage(senhaConfirmacao, "Confirmação de Senha");
            Guard.StringLength("Senha", senha, SenhaMinValue, SenhaMaxValue);
            Guard.AreEqual(senha, senhaConfirmacao, "As senhas não conferem!");

            Senha = CriptografiaHelper.CriptografarSenha(senha);
        }
Exemple #9
0
        public void ValidarSenha(string senha)
        {
            Guard.ForNullOrEmptyDefaultMessage(senha, "Senha");
            var senhaCriptografada = CriptografiaHelper.CriptografarSenha(senha);

            if (!Senha.SequenceEqual(senhaCriptografada))
            {
                throw new Exception("Senha inválida!");
            }
        }
Exemple #10
0
        private void SetSenha(string senha, string confirmacaoSenha)
        {
            Guard.ForNullOrEmptyDefaultMessage(senha, "Senha");
            Guard.ForNullOrEmptyDefaultMessage(confirmacaoSenha, "Confirmação da Senha");
            Guard.StringLength("Senha", senha, SenhaMinValue, SenhaMaxValue);
            Guard.StringLength("Senha", confirmacaoSenha, SenhaMinValue, SenhaMaxValue);
            Guard.AreEqual(senha, confirmacaoSenha, "Senha e Confirmação da Senha são divergentes.");

            Senha = CriptografiaHelper.CriptografarSenha(senha);
        }
        public string SenhaDescriptografar(object senha)
        {
            string retorno = string.Empty;

            if (senha != null && senha != "")
            {
                retorno = CriptografiaHelper.Decriptografar(senha.ToString());
            }

            return(retorno);
        }
Exemple #12
0
        static void Main(string[] args)
        {
            if (!args.Any())
            {
                Console.WriteLine("Forneca um ID do perfil ou o nome do mesmo como 1° argumento.\nPressione qualquer tecla para fechar.");
                Console.ReadKey();
            }

            enumPerfil perfil;

            if (Enum.TryParse(args[0], out perfil))
            {
                Console.WriteLine("Verificando usuários com perfil {0}", perfil.ToString());

                ManterUsuario manterUsuario = new ManterUsuario();

                List <Usuario> usuarios = manterUsuario.ObterTodosPorPerfilIQueryable(perfil).ToList();

                Console.WriteLine("Deseja realmente resetar a senha para o cpf de {0} usuários?", usuarios.Count());
                switch (Console.ReadLine().ToUpper())
                {
                case "S":
                case "Y":
                    usuarios.ForEach(usuario =>
                    {
                        Console.WriteLine("{0} - {1}", usuario.CPF, usuario.Nome);
                        usuario.Senha = CriptografiaHelper.Criptografar(usuario.CPF);
                    });

                    manterUsuario.SalvarEmLote(usuarios, 100);

                    Console.WriteLine("Operação realizada, as senhas de usuários {0} foram resetadas.\nPressione qualquer tecla para fechar.", usuarios.Count());
                    Console.ReadKey();
                    break;

                default:
                    Console.WriteLine("Operação cancelada pelo utilizador.\nPressione qualquer tecla para fechar.");
                    Console.ReadKey();
                    break;
                }
                ;
            }
            else
            {
                Console.WriteLine("Perfil não encontrado.\nPressione qualquer tecla para fechar.");
                Console.ReadKey();
            }
        }
 private void bt_decripto_Click(object sender, EventArgs e)
 {
     try
     {
         result_decripto.Text =
             CriptografiaHelper.Decriptar(
                 key.Text,
                 v_ini.Text,
                 text_decripto.Text);
     }
     catch (Exception ex)
     {
         result_decripto.Text =
             "Erro: " + ex.Message;
     }
 }
Exemple #14
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);
        }
Exemple #15
0
        public ActionResult SignIn(Usuario usuario)
        {
            if (ModelState.IsValid)
            {
                usuario.Senha = CriptografiaHelper.Encriptar(usuario.Senha);
                usuario       = UsuarioRepository.Instance.GetByExample(usuario);

                if (usuario == null)
                {
                    return(Json(new { Status = Constantes.STATUS_ERRO, Message = Mensagens.USUARIO_SENHA_INVALIDOS }, JsonRequestBehavior.AllowGet));
                }

                FormsAuthentication.SetAuthCookie(usuario.Email, false);
                return(Json(new { Status = Constantes.STATUS_SUCESSO }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { Status = Constantes.STATUS_ERRO, Message = Mensagens.ERRO_GENERICO }, JsonRequestBehavior.AllowGet));
            }
        }
Exemple #16
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("");
            }
        }
Exemple #17
0
 protected void btnEnviar_Click(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(txtCPF.Text))
     {
         var usuario = bmUsuario.ObterPorCPF(txtCPF.Text.Trim());
         if (usuario != null)
         {
             try
             {
                 liRetorno.Text = CriptografiaHelper.Decriptografar(usuario.Senha);
             }
             catch
             {
                 liRetorno.Text = "Ocorreu um erro, ou o usuário não tem senha registrada";
             }
         }
         else
         {
             liRetorno.Text = "Usuário não encontrado";
         }
     }
 }
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            System.Threading.Thread.CurrentThread.CurrentCulture   = new System.Globalization.CultureInfo("pt-BR");
            System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("pt-BR");

            string data = CriptografiaHelper.Criptografa(DataExpiracaoSistema);

            GeraArquivoConfig();

            if (VerificaChaveAcesso())
            {
                //Application.Run(new Form1());
                Application.Run(new PrecosEPrazo());
            }
            else
            {
                Mensagens.Alerta("Versão demonstração.\nFavor contactar o administrador do sistema. \nMarques Fonseca (63) 99208-2269");
                return;
            }
        }
 public string Descriptografar(string text)
 {
     try
     {
         return(CriptografiaHelper.Descriptografar(text));
     }
     catch (ApplicationException aEx)
     {
         throw new FaultException <DetalhamentoFalha>(new DetalhamentoFalha()
         {
             Mensagem        = aEx.Message,
             MensagemInterna = aEx.InnerException == null ? string.Empty : aEx.InnerException.Message,
         });
     }
     catch (Exception ex)
     {
         throw new FaultException <DetalhamentoFalha>(new DetalhamentoFalha()
         {
             Mensagem        = "Falha ao Descriptografar",
             MensagemInterna = ex.Message,
         });
     }
 }
        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);
        }
Exemple #21
0
        private void GerarEmailBaseEmail(IList <int> usuariosIds, string assunto, string texto,
                                         List <Tuple <Dictionary <string, string>, int> > hashTags, string cpfLogado, EmailEnvio emailEnvio)
        {
            var count     = 0;
            var endPortal =
                ListaConfiguracaoSistema.FirstOrDefault(x => x.ID == (int)enumConfiguracaoSistema.EnderecoPortal)?
                .Registro;
            var endSgus =
                ListaConfiguracaoSistema.FirstOrDefault(x => x.ID == (int)enumConfiguracaoSistema.EnderecoSGUS)?
                .Registro;

            foreach (var u in usuariosIds)
            {
                if (emailEnvio.ListaEmailsGerados.Any(x => x.Usuario.ID == u))
                {
                    continue;
                }

                var usuario = usuarioBM.ObterPorId(u);

                var textoEmailUsuario = texto.Replace("#NOME_ALUNO", usuario.Nome)
                                        .Replace("#CPF", usuario.CPF)
                                        .Replace("#UF", usuario.UF.Nome)
                                        .Replace("#EMAIL", usuario.Email)
                                        .Replace("#SENHA", CriptografiaHelper.Decriptografar(usuario.Senha))
                                        .Replace("#URL_PORTAL", endPortal)
                                        .Replace("#URL_SGUS", endSgus);

                if (hashTags != null)
                {
                    textoEmailUsuario = hashTags.Where(x => x.Item2 == usuario.ID)
                                        .Aggregate(textoEmailUsuario,
                                                   (current1, registro) =>
                                                   registro.Item1.Aggregate(current1,
                                                                            (current, item) => current.Replace(item.Key, item.Value)));
                }

                var email = new Email
                {
                    DataGeracao = DateTime.Now,
                    Assunto     = assunto,
                    TextoEmail  = textoEmailUsuario,
                    Enviado     = false,
                    Usuario     = usuario,
                    EmailEnvio  = emailEnvio,
                    Auditoria   = new Auditoria(cpfLogado)
                };

                count++;
                bmEmail.SalvarSemCommit(email);

                if (count < 300)
                {
                    continue;
                }

                bmEmail.Commit();
                count = 0;
            }

            bmEmail.Commit();
        }
        protected override void Seed(EmprestimoJogos.Domain.Infra.DataContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data.
            context.Usuario.AddOrUpdate(new Usuario()
            {
                Nome = "Sidcley Mendes", Email = "*****@*****.**", SenhaCriptografada = CriptografiaHelper.CriptografarSenha("123456"), DtInclusao = DateTime.Now
            });
            context.Amigo.AddOrUpdate(new Amigo()
            {
                Nome = "Sidcley Mendes", Email = "*****@*****.**", DtInclusao = DateTime.Now
            });
            context.Jogo.AddOrUpdate(new Jogo()
            {
                Descricao = "Street Figther", Ano = 1998, DtInclusao = DateTime.Now
            });
        }
        private Fornecedor ObterObjetoFornecedor()
        {
            if (Request["Id"] != null)
            {
                _fornecedor = new ManterFornecedor().ObterFornecedorPorID(int.Parse(Request["Id"]));;
            }
            else
            {
                _fornecedor = new Fornecedor();
            }

            //Nome
            _fornecedor.Nome = txtNome.Text;

            //Link de Acesso
            _fornecedor.LinkAcesso = txtLinkAcesso.Text;

            //Texto de Criptografia
            _fornecedor.TextoCriptografia = txtTextoCriptografia.Text;

            //Login
            _fornecedor.Login = txtLogin.Text;

            //Senha
            if (!string.IsNullOrWhiteSpace(txtSenha.Text))
            {
                _fornecedor.Senha = CriptografiaHelper.Criptografar(txtSenha.Text.Trim());
            }

            //Gestão SGUS ?
            if (rblInGestaoSgus.SelectedItem != null && !string.IsNullOrWhiteSpace(rblInGestaoSgus.SelectedItem.Value))
            {
                if (rblInGestaoSgus.SelectedItem.Value.ToString().Equals(Constantes.SiglaSim))
                {
                    _fornecedor.PermiteGestaoSGUS = true;

                    //Permite Criar Oferta ?
                    if (rblInCriarOferta.SelectedItem != null && !string.IsNullOrWhiteSpace(rblInCriarOferta.SelectedItem.Value))
                    {
                        _fornecedor.PermiteCriarOferta = rblInCriarOferta.SelectedItem.Value.ToUpper().Equals(Constantes.SiglaSim);
                    }
                    //Permite Criar Turma ?
                    if (rblInCriarTurma.SelectedItem != null && !string.IsNullOrWhiteSpace(rblInCriarTurma.SelectedItem.Value))
                    {
                        _fornecedor.PermiteCriarTurma = rblInCriarTurma.SelectedItem.Value.ToUpper().Equals(Constantes.SiglaSim);
                    }
                }
                else
                {
                    _fornecedor.PermiteGestaoSGUS  = false;
                    _fornecedor.PermiteCriarTurma  = false;
                    _fornecedor.PermiteCriarOferta = false;
                }
            }
            else
            {
                _fornecedor.PermiteGestaoSGUS  = false;
                _fornecedor.PermiteCriarTurma  = false;
                _fornecedor.PermiteCriarOferta = false;
            }

            //Permite Criar Turma ?
            if (rblInApresentarComoFornecedorNoPortal.SelectedItem != null && !string.IsNullOrWhiteSpace(rblInApresentarComoFornecedorNoPortal.SelectedItem.Value))
            {
                _fornecedor.ApresentarComoFornecedorNoPortal = rblInApresentarComoFornecedorNoPortal.SelectedItem.Value.ToUpper().Equals(Constantes.SiglaSim);
            }

            if (_fornecedor.ApresentarComoFornecedorNoPortal && string.IsNullOrEmpty(txtNomeApresentacao.Text))
            {
                throw new AcademicoException("Informe o Nome da Instituição para Apresentação no Portal");
            }

            _fornecedor.NomeApresentacao = txtNomeApresentacao.Text;

            this.incluirUfs(_fornecedor);

            return(_fornecedor);
        }
Exemple #24
0
        public void MatricularSolucaoEducacional(int idUsuario, int idSolucaoEducacional, int idOferta,
                                                 List <int> pListaIdMetaIndividualAssociada, List <int> pListaIdMetaInstitucionalAssociada, AuthenticationRequest autenticacao)
        {
            Usuario            userSelected       = new BMUsuario().ObterPorId(idUsuario);
            SolucaoEducacional solucaoEducacional = new BMSolucaoEducacional().ObterPorId(idSolucaoEducacional);
            BMMatriculaOferta  moBM = new BMMatriculaOferta();

            if (solucaoEducacional == null)
            {
                throw new AcademicoException("Solução Educacional não encontrada");
            }

            //VALIDAR SE ELE TEM ALGUMA OFERTA EXCLUSIVA PENDENTE DE CONFIRMACAO
            if (userSelected.ListaMatriculaOferta.Any(x => x.Oferta.ID == idOferta && x.Oferta.SolucaoEducacional.ID == idSolucaoEducacional && x.StatusMatricula == enumStatusMatricula.PendenteConfirmacaoAluno && x.Oferta.DataFim.Value.Date >= DateTime.Now.Date))
            {
                MatriculaOferta mo = userSelected.ListaMatriculaOferta.Where(x => x.Oferta.SolucaoEducacional.ID == idSolucaoEducacional && x.StatusMatricula == enumStatusMatricula.PendenteConfirmacaoAluno).FirstOrDefault();

                if (mo != null)
                {
                    mo.StatusMatricula = enumStatusMatricula.Inscrito;
                    mo.Auditoria       = new Auditoria(autenticacao.Login);
                    moBM.Salvar(mo);
                    ValidarMetaIndividual(idUsuario, idSolucaoEducacional, pListaIdMetaIndividualAssociada, autenticacao);
                    ValidarMetaInstitucional(idUsuario, idSolucaoEducacional, pListaIdMetaInstitucionalAssociada, autenticacao);

                    if (!(mo.MatriculaTurma != null && mo.MatriculaTurma.Count > 0))
                    {
                        try
                        {
                            if (mo.Oferta.TipoOferta.Equals(enumTipoOferta.Continua))
                            {
                                string retornows;
                                switch (mo.Oferta.SolucaoEducacional.Fornecedor.ID)
                                {
                                case (int)enumFornecedor.MoodleSebrae:
                                    moodle.IntegracaoSoapClient soapCliente = new moodle.IntegracaoSoapClient();
                                    retornows = soapCliente.MatricularAluno(
                                        userSelected.Nome,
                                        userSelected.CPF,
                                        userSelected.Email,
                                        userSelected.Cidade,
                                        mo.Oferta.SolucaoEducacional.IDChaveExterna.ToString(),
                                        mo.MatriculaTurma.FirstOrDefault().Turma.IDChaveExterna.ToString());
                                    break;

                                case (int)enumFornecedor.WebAula:
                                    Turma turma = mo.MatriculaTurma.FirstOrDefault().Turma;
                                    webaula.waIntegracaoSoapClient        wa  = new webaula.waIntegracaoSoapClient();
                                    webaula.AuthenticationProviderRequest aut = new webaula.AuthenticationProviderRequest();
                                    webaula.DTOUsuario dtoUsuario             = new webaula.DTOUsuario();
                                    webaula.DTOTurma   dtoTurma = new webaula.DTOTurma();
                                    dtoTurma.IDChaveExterna = turma.IDChaveExterna;
                                    dtoUsuario.CPF          = userSelected.CPF;
                                    dtoUsuario.Email        = userSelected.Email;
                                    dtoUsuario.Nome         = userSelected.Nome;
                                    dtoUsuario.Sexo         = userSelected.Sexo;
                                    dtoUsuario.UF           = userSelected.UF.Sigla;
                                    aut.Login = mo.Oferta.SolucaoEducacional.Fornecedor.Login;
                                    aut.Senha = CriptografiaHelper.Decriptografar(mo.Oferta.SolucaoEducacional.Fornecedor.Senha);
                                    retornows = wa.Matricular(aut, dtoUsuario, dtoTurma);
                                    break;
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            ErroUtil.Instancia.TratarErro(ex);
                        }
                    }

                    if (!string.IsNullOrEmpty(mo.Usuario.Email))
                    {
                        Template mensagemRecuperacaoDeSenhaSemConfirmacao = TemplateUtil.ObterInformacoes(enumTemplate.InscricaoSESucesso);
                        string   assuntoDoEmail = mensagemRecuperacaoDeSenhaSemConfirmacao.DescricaoTemplate.Substring(0, mensagemRecuperacaoDeSenhaSemConfirmacao.DescricaoTemplate.IndexOf(Environment.NewLine));

                        Dictionary <string, string> registros = new Dictionary <string, string>();
                        registros.Add("NOMESOLUCAOEDUCACIONAL", mo.Oferta.SolucaoEducacional.Nome);
                        registros.Add("DATASISTEMA", DateTime.Now.ToString("dd'/'MM'/'yyyy HH:mm"));
                        registros.Add("NOMEALUNO", mo.Usuario.Nome);
                        //Envia e-mail para o usuário
                        EmailUtil.Instancia.EnviarEmail(mo.Usuario.Email,
                                                        assuntoDoEmail,
                                                        this.FormatarTextoEmail(registros, mensagemRecuperacaoDeSenhaSemConfirmacao.DescricaoTemplate)
                                                        );
                    }

                    return;
                }
            }

            //Verificando se existe alguma matricula na SE.
            MatriculaOferta buscaMatricula = new MatriculaOferta();

            buscaMatricula.Usuario    = new Usuario();
            buscaMatricula.Usuario.ID = userSelected.ID;
            List <MatriculaOferta> possiveisMatriculas = new BMMatriculaOferta().ObterPorFiltro(buscaMatricula).ToList();

            if (possiveisMatriculas != null && possiveisMatriculas.Any(y => y.Oferta.SolucaoEducacional.ID == idSolucaoEducacional && !(y.StatusMatricula == enumStatusMatricula.CanceladoAdm || y.StatusMatricula == enumStatusMatricula.CanceladoAluno)))
            {
                throw new AcademicoException("Erro: O usuário já está matriculado em uma oferta desta Solução Educacional");
            }

            //VALIDAR SE O USUARIO POSSUI ACESSO A SE
            bool usuarioPossuiPermissao = new BMSolucaoEducacional().VerificarSeUsuarioPossuiPermissao(idUsuario, solucaoEducacional.ID); // .ObterListaUsuariosPermitidos();

            if (!usuarioPossuiPermissao)
            {
                throw new AcademicoException("Erro: O usuário Informado não possui permissão à Solução Educacional");
            }

            //VALIDAR SE O USUARIO ESTA CURSANDO OUTRA SE
            if (userSelected.ListaMatriculaOferta.Any(y => y.Usuario.ID == userSelected.ID && y.StatusMatricula == enumStatusMatricula.Inscrito))
            {
                throw new AcademicoException("Erro: O usuário já está inscrito em outra oferta.");
            }

            //VALIDAR SE O USUARIO ESTA COM ALGUM ABANDONO ATIVO
            if (new BMUsuarioAbandono().ValidarAbandonoAtivo(idUsuario))
            {
                throw new AcademicoException("Erro: Existe um abandono registrado para este usuário!");
            }


            Oferta oferta = new Oferta();

            oferta = solucaoEducacional.ListaOferta.FirstOrDefault(x => x.ID == idOferta);
            if (oferta == null)
            {
                throw new AcademicoException("Erro: Oferta não encontrada");
            }

            //VALIDADO OFERTA CONTINUA.
            if (oferta.TipoOferta.Equals(enumTipoOferta.Continua))
            {
                Turma t = null;
                if (oferta.SolucaoEducacional.Fornecedor.PermiteGestaoSGUS)
                {
                    t = oferta.ListaTurma.FirstOrDefault(x => x.DataFinal == null || x.DataFinal.Value.Date >= DateTime.Now.Date && x.InAberta);
                }

                int qtdInscritosNaOferta = oferta.ListaMatriculaOferta.Where(x => (x.StatusMatricula != enumStatusMatricula.CanceladoAdm &&
                                                                                   x.StatusMatricula != enumStatusMatricula.CanceladoAluno)).Count();
                MatriculaOferta matriculaOferta = new MatriculaOferta()
                {
                    Oferta          = new BMOferta().ObterPorId(oferta.ID),
                    Usuario         = new BMUsuario().ObterPorId(userSelected.ID),
                    Auditoria       = new Auditoria(autenticacao.Login),
                    DataSolicitacao = DateTime.Now,
                    UF = new BMUf().ObterPorId(userSelected.UF.ID),
                    NivelOcupacional = new BMNivelOcupacional().ObterPorID(userSelected.NivelOcupacional.ID)
                };

                if (qtdInscritosNaOferta >= oferta.QuantidadeMaximaInscricoes)
                {
                    if (oferta.FiladeEspera)
                    {
                        matriculaOferta.StatusMatricula = enumStatusMatricula.FilaEspera;
                    }
                    else
                    {
                        throw new AcademicoException("Erro: A quantidade máxima de alunos foi atingida");
                    }
                }
                else
                {
                    matriculaOferta.StatusMatricula = enumStatusMatricula.Inscrito;
                }

                qtdInscritosNaOferta++;

                if (t != null)
                {
                    MatriculaTurma matriculaTurma = new MatriculaTurma()
                    {
                        Turma           = new BMTurma().ObterPorID(t.ID),
                        Auditoria       = new Auditoria(autenticacao.Login),
                        DataMatricula   = DateTime.Now,
                        MatriculaOferta = matriculaOferta,
                        DataLimite      = DateTime.Today.AddDays(oferta.DiasPrazo)
                    };
                    if (matriculaOferta.MatriculaTurma == null)
                    {
                        matriculaOferta.MatriculaTurma = new List <MatriculaTurma>();
                    }
                    matriculaOferta.MatriculaTurma.Add(matriculaTurma);
                }

                moBM.Salvar(matriculaOferta);


                //validando se a turma já está chegando ao limite.
                if (qtdInscritosNaOferta > (oferta.QuantidadeMaximaInscricoes - int.Parse(ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.LimiteAlertaInscricaoOferta).Registro)))
                {
                    EnviarEmailLimiteOferta(oferta, matriculaOferta);
                }


                ValidarMetaIndividual(idUsuario, idSolucaoEducacional, pListaIdMetaIndividualAssociada, autenticacao);
                ValidarMetaInstitucional(idUsuario, idSolucaoEducacional, pListaIdMetaInstitucionalAssociada, autenticacao);

                try
                {
                    if (matriculaOferta.Oferta.TipoOferta.Equals(enumTipoOferta.Continua) && matriculaOferta.MatriculaTurma != null)
                    {
                        string retornows;
                        switch (matriculaOferta.Oferta.SolucaoEducacional.Fornecedor.ID)
                        {
                        case (int)enumFornecedor.MoodleSebrae:
                            moodle.IntegracaoSoapClient soapCliente = new moodle.IntegracaoSoapClient();
                            retornows = soapCliente.MatricularAluno(userSelected.Nome, userSelected.CPF, userSelected.Email, userSelected.Cidade, matriculaOferta.Oferta.SolucaoEducacional.IDChaveExterna.ToString(), matriculaOferta.MatriculaTurma.FirstOrDefault().Turma.IDChaveExterna.ToString());
                            break;

                        case (int)enumFornecedor.WebAula:
                            Turma turma = matriculaOferta.MatriculaTurma.FirstOrDefault().Turma;
                            webaula.waIntegracaoSoapClient        wa  = new webaula.waIntegracaoSoapClient();
                            webaula.AuthenticationProviderRequest aut = new webaula.AuthenticationProviderRequest();
                            webaula.DTOUsuario dtoUsuario             = new webaula.DTOUsuario();
                            webaula.DTOTurma   dtoTurma = new webaula.DTOTurma();
                            dtoTurma.IDChaveExterna = turma.IDChaveExterna;
                            dtoUsuario.CPF          = userSelected.CPF;
                            dtoUsuario.Email        = userSelected.Email;
                            dtoUsuario.Nome         = userSelected.Nome;
                            dtoUsuario.Sexo         = userSelected.Sexo;
                            dtoUsuario.UF           = userSelected.UF.Sigla;
                            aut.Login = matriculaOferta.Oferta.SolucaoEducacional.Fornecedor.Login;
                            aut.Senha = CriptografiaHelper.Decriptografar(matriculaOferta.Oferta.SolucaoEducacional.Fornecedor.Senha);
                            retornows = wa.Matricular(aut, dtoUsuario, dtoTurma);
                            break;
                        }
                    }
                }
                catch (Exception ex)
                {
                    ErroUtil.Instancia.TratarErro(ex);
                }
                return;
            }

            //VALIDANDO A OFETA NORMAL
            if (oferta.TipoOferta.Equals(enumTipoOferta.Normal))
            {
                int qtdInscritosNaOferta = oferta.ListaMatriculaOferta.Where(x => (x.StatusMatricula != enumStatusMatricula.CanceladoAdm &&
                                                                                   x.StatusMatricula != enumStatusMatricula.CanceladoAluno)).Count();
                MatriculaOferta matriculaOferta = new MatriculaOferta()
                {
                    Oferta          = new BMOferta().ObterPorId(oferta.ID),
                    Usuario         = new BMUsuario().ObterPorId(userSelected.ID),
                    Auditoria       = new Auditoria(autenticacao.Login),
                    DataSolicitacao = DateTime.Now,
                    UF = new BMUf().ObterPorId(userSelected.UF.ID),
                    NivelOcupacional = new BMNivelOcupacional().ObterPorID(userSelected.NivelOcupacional.ID)
                };

                if (qtdInscritosNaOferta >= oferta.QuantidadeMaximaInscricoes)
                {
                    if (oferta.FiladeEspera)
                    {
                        matriculaOferta.StatusMatricula = enumStatusMatricula.FilaEspera;
                    }
                    else
                    {
                        throw new AcademicoException("Erro: A quantidade máxima de alunos foi atingida");
                    }
                }
                else
                {
                    matriculaOferta.StatusMatricula = enumStatusMatricula.Inscrito;
                }


                BMMatriculaOferta bmMatriculaOferta = new BMMatriculaOferta();
                bmMatriculaOferta.Salvar(matriculaOferta);
                qtdInscritosNaOferta++;

                //validando se a turma já está chegando ao limite.
                if (qtdInscritosNaOferta > (oferta.QuantidadeMaximaInscricoes - int.Parse(ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.LimiteAlertaInscricaoOferta).Registro)))
                {
                    EnviarEmailLimiteOferta(oferta, matriculaOferta);
                }


                ValidarMetaIndividual(idUsuario, idSolucaoEducacional, pListaIdMetaIndividualAssociada, autenticacao);
                ValidarMetaInstitucional(idUsuario, idSolucaoEducacional, pListaIdMetaInstitucionalAssociada, autenticacao);
                return;
            }
            throw new Exception("Não foi encontrado ofertas para esse usuário!");
        }
        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");
        }
 public override void BeforeCommitSaveOrUpdate(ISession session, ref Usuario entity)
 {
     entity.Senha = CriptografiaHelper.Encriptar(entity.Senha);
 }
Exemple #27
0
 private static string GerarSenha(string senha)
 {
     return(CriptografiaHelper.CriptografarSenha(senha).ToString());
 }
Exemple #28
0
 public void Salvar(SenhaEmergencia se)
 {
     //se.Senha = WebFormHelper.ObterHashMD5(se.Senha);
     se.Senha = CriptografiaHelper.Criptografar(se.Senha);
     repositorio.Salvar(se);
 }
Exemple #29
0
        public Usuario Salva(Usuario usuarioPostado)
        {
            usuarioPostado.DtInclusao = DateTime.Now;

            usuarioPostado.SenhaCriptografada = (!String.IsNullOrWhiteSpace(usuarioPostado.Senha)) ? CriptografiaHelper.CriptografarSenha(usuarioPostado.Senha) : null;
            //UsuarioEscopo.SalvarIsValid(usuarioPostado);


            _repositorioUsuario.Save(usuarioPostado);

            if (Commit())
            {
                return(usuarioPostado);
            }

            return(null);
        }
Exemple #30
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);
        }