Exemple #1
0
        public bool SincronizarOfertaComMoodle(Oferta oferta, SolucaoEducacional solucaoEducacional)
        {
            try
            {
                // Verificar dados nas tabelas 'int_sgus_moodle_ofertas' e 'int_sgus_moodle_cursos'
                var bmSgusMoodleOferta = new BMSgusMoodleOferta();
                var bmSgusMoodleCurso  = new BMSgusMoodleCurso();

                int IDCategoriaMoodle = int.Parse(oferta.SolucaoEducacional.IDChaveExterna);
                int IDCursoMoodle     = oferta.CodigoMoodle.Value;

                var cursoMoodle = bmSgusMoodleCurso.ObterPorCategoria(IDCategoriaMoodle);

                if (cursoMoodle == null)
                {
                    cursoMoodle = new SgusMoodleCurso()
                    {
                        Nome            = oferta.SolucaoEducacional.Nome,
                        CodigoCategoria = IDCategoriaMoodle,
                        CodigoCurso     = IDCursoMoodle,
                        DataCriacao     = DateTime.Now,
                        DataAtualizacao = DateTime.Now
                    };
                }
                else
                {
                    cursoMoodle.Nome            = oferta.SolucaoEducacional.Nome;
                    cursoMoodle.CodigoCurso     = IDCursoMoodle;
                    cursoMoodle.DataAtualizacao = DateTime.Now;
                }

                bmSgusMoodleCurso.Cadastrar(cursoMoodle);


                var ofertaMoodle = bmSgusMoodleOferta.ObterPorCodigoCurso(IDCursoMoodle);

                if (ofertaMoodle == null)
                {
                    ofertaMoodle = new SgusMoodleOferta()
                    {
                        Nome            = oferta.Nome,
                        CodigoCategoria = IDCategoriaMoodle,
                        CodigoCurso     = IDCursoMoodle,
                        DataCriacao     = DateTime.Now,
                        Desabilitado    = 1
                    };
                }
                else
                {
                    ofertaMoodle.Nome            = oferta.Nome;
                    ofertaMoodle.CodigoCategoria = IDCategoriaMoodle;
                    ofertaMoodle.CodigoCurso     = IDCursoMoodle;
                    ofertaMoodle.DataCriacao     = DateTime.Now;
                }

                bmSgusMoodleOferta.Cadastrar(ofertaMoodle);

                int?IDChaveExternaOferta = bmSgusMoodleOferta.ObterPorCodigoCurso(IDCursoMoodle).ID;

                if (IDChaveExternaOferta.HasValue && IDChaveExternaOferta.Value > 0)
                {
                    oferta.IDChaveExterna = IDChaveExternaOferta.ToString();
                    AlterarOferta(oferta);
                }

                // Remover o ID da Chave Externa de todas as ofertas anteriores
                foreach (var ofertaAnterior in solucaoEducacional.ListaOferta.Where(o => o.DataInicioInscricoes < oferta.DataInicioInscricoes))
                {
                    ofertaAnterior.IDChaveExterna = null;
                    AlterarOferta(ofertaAnterior);
                }

                return(true);
            }
            catch
            {
                return(false);
            }
        }
        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");
        }