コード例 #1
0
ファイル: Moodle.aspx.cs プロジェクト: lincoln-alves/sgus
        protected void btnObterChaveExterna_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtIDCurso.Text) ||
                ddlSolucaoEducacional.SelectedIndex <= 0 ||
                ddlOferta.SelectedIndex <= 0)
            {
                WebFormHelper.ExibirMensagem(enumTipoMensagem.Alerta, "Você deve informar o ID do curso no Moodle a Solução Educacional e a Oferta");
            }
            else
            {
                var solucaoEducacional = bmSolucaoEducacional.ObterPorId(int.Parse(ddlSolucaoEducacional.SelectedValue));

                if (solucaoEducacional.Fornecedor.ID != (int)enumFornecedor.MoodleSebrae)
                {
                    WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Este curso não é fornecido pelo Moodle");
                }
                else
                {
                    var oferta = bmOferta.ObterPorId(int.Parse(ddlOferta.SelectedValue));

                    int idCurso = int.Parse(txtIDCurso.Text);

                    var curso = bmCurso.ObterPorID(idCurso);

                    if (curso != null)
                    {
                        var sgusMoodleCurso = bmSgusMoodleCurso.ObterPorCodigoCurso(curso.ID);
                        if (sgusMoodleCurso == null)
                        {
                            sgusMoodleCurso = new SgusMoodleCurso();
                            sgusMoodleCurso.CodigoCategoria = curso.CodigoCategoria;
                            sgusMoodleCurso.CodigoCurso     = curso.ID;
                            sgusMoodleCurso.Nome            = curso.NomeCompleto;
                            sgusMoodleCurso.DataCriacao     = DateTime.Now;
                            sgusMoodleCurso.DataAtualizacao = DateTime.Now;
                            sgusMoodleCurso.Desabilitado    = 1;
                            bmSgusMoodleCurso.Cadastrar(sgusMoodleCurso);
                        }

                        var sgusMoodelOferta = bmSgusMoodleOferta.ObterPorCodigoCurso(curso.ID);
                        if (sgusMoodelOferta == null)
                        {
                            sgusMoodelOferta = new SgusMoodleOferta();
                            sgusMoodelOferta.CodigoCategoria = curso.CodigoCategoria;
                            sgusMoodelOferta.CodigoCurso     = curso.ID;
                            sgusMoodelOferta.Nome            = curso.NomeCompleto;
                            sgusMoodelOferta.DataCriacao     = DateTime.Now;
                            sgusMoodelOferta.DataAtualizacao = DateTime.Now;
                            sgusMoodelOferta.Desabilitado    = 1;
                            bmSgusMoodleOferta.Cadastrar(sgusMoodelOferta);
                        }

                        if (string.IsNullOrEmpty(solucaoEducacional.IDChaveExterna))
                        {
                            solucaoEducacional.IDChaveExterna = curso.CodigoCategoria.ToString();
                            bmSolucaoEducacional.Salvar(solucaoEducacional);
                        }

                        bool alterouOferta = false;
                        if (string.IsNullOrEmpty(oferta.IDChaveExterna))
                        {
                            oferta.IDChaveExterna = sgusMoodelOferta.ID.ToString();
                            alterouOferta         = true;
                        }

                        if (oferta.CodigoMoodle.HasValue == false)
                        {
                            oferta.CodigoMoodle = sgusMoodelOferta.CodigoCurso;
                            alterouOferta       = true;
                        }

                        if (alterouOferta)
                        {
                            bmOferta.Salvar(oferta);
                        }

                        dvResumo.Visible = true;
                        string resumo = string.Empty;

                        resumo += "Chave Externa da Solução Educacional: " + sgusMoodleCurso.CodigoCategoria + "<br>";
                        resumo += "Chave Externa da Oferta: " + sgusMoodelOferta.ID + "<br>";
                        resumo += "Código Moodle da Oferta: " + sgusMoodelOferta.CodigoCurso + "<br><hr>";

                        litResumo.Text = resumo;
                    }
                    else
                    {
                        WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Este curso não foi encontrado no Moodle");
                    }
                }
            }
        }
コード例 #2
0
ファイル: ManterOferta.cs プロジェクト: lincoln-alves/sgus
        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);
            }
        }
コード例 #3
0
 public void Cadastrar(SgusMoodleOferta dados)
 {
     repositorio.Salvar(dados);
 }