Example #1
0
        // Suspende ou remove a suspensão de uma matricula de um aluno no Moodle
        public void alterarInscricao(int courseId, string userCPF, int status)
        {
            var query = repositorio.session.QueryOver <UsuarioMoodle>();

            UsuarioMoodle usuarioMoodle = query.Where(x => x.Usuario == userCPF).List().FirstOrDefault();

            //usuarioMoodle.ListaMoodleInscricoes.ForEach(l => l.
            UsuarioMoodleInscricao usuarioMoodleInscricao = usuarioMoodle != null?usuarioMoodle.ListaMoodleInscricoes.FirstOrDefault(x => x.Inscricao.IDCurso == courseId) : null;

            if (usuarioMoodleInscricao != null)
            {
                usuarioMoodleInscricao.Status = status;
                BMUsuarioMoodleInscricao bmUsuarioInscricao = new BMUsuarioMoodleInscricao();
                bmUsuarioInscricao.Salvar(usuarioMoodleInscricao);
            }
        }
        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 void Salvar(UsuarioMoodleInscricao pUsuarioMoodleInscricao)
 {
     repositorio.Salvar(pUsuarioMoodleInscricao);
 }