public void AtualizarNodeIdDrupal(SolucaoEducacional solucao, BMConfiguracaoSistema bmConfiguracaoSistema = null, BMLogSincronia bmLogSincronia = null, Usuario usuarioLogado = null)
        {
            if (solucao.FormaAquisicao == null || !solucao.FormaAquisicao.EnviarPortal)
            {
                return;
            }

            var id = SalvaNodeDrupalRest(solucao, bmConfiguracaoSistema, bmLogSincronia, usuarioLogado);

            if (!id.HasValue)
            {
                return;
            }

            solucao.IdNodePortal = id.Value;
            bmSolucaoEducacional.Salvar(solucao, false);
        }
Пример #2
0
        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");
                    }
                }
            }
        }