Пример #1
0
        private void ValidarMetaInstitucional(int pUsuario, int pSolucaoEducacional,
                                              List <int> pListaIdMetaInstitucionalAssociada,
                                              AuthenticationRequest autenticacao)
        {
            try
            {
                MetaInstitucional mi = null;
                if (pListaIdMetaInstitucionalAssociada != null && pListaIdMetaInstitucionalAssociada.Count > 0)
                {
                    foreach (int IdMetaIndividualAssociada in pListaIdMetaInstitucionalAssociada)
                    {
                        mi = new BMMetaInstitucional().ObterPorID(IdMetaIndividualAssociada);


                        if (!mi.ListaItensMetaInstitucional.Any(x => x.Usuario.ID == pUsuario && x.SolucaoEducacional.ID == pSolucaoEducacional))
                        {
                            mi.ListaItensMetaInstitucional.Add(new ItemMetaInstitucional()
                            {
                                Auditoria          = new Auditoria(autenticacao.Login),
                                MetaInstitucional  = new BMMetaInstitucional().ObterPorID(mi.ID),
                                SolucaoEducacional = new BMSolucaoEducacional().ObterPorId(pSolucaoEducacional),
                                Usuario            = new BMUsuario().ObterPorId(mi.ID),
                            });

                            using (BMMetaInstitucional miBM = new BMMetaInstitucional())
                                miBM.Salvar(mi);
                        }
                    }

                    SolucaoEducacional se = null;
                    using (BMSolucaoEducacional seBM = new BMSolucaoEducacional())
                        se = seBM.ObterPorId(pSolucaoEducacional);

                    Usuario user = null;
                    using (BMUsuario userBM = new BMUsuario())
                        user = userBM.ObterPorId(pUsuario);

                    foreach (var tagSe in se.ListaTags)
                    {
                        UsuarioTag ut = user.ListaTag.FirstOrDefault(x => x.Tag.ID == tagSe.ID);
                        if (ut == null)
                        {
                            user.ListaTag.Add(new UsuarioTag()
                            {
                                Usuario    = new BMUsuario().ObterPorId(pUsuario),
                                Auditoria  = new Auditoria(autenticacao.Login),
                                Tag        = new BMTag().ObterPorID(tagSe.Tag.ID),
                                Adicionado = false
                            });
                        }

                        using (BMUsuario userBM = new BMUsuario())
                            userBM.Salvar(user);
                    }
                }
            }
            catch
            {
            }
        }
Пример #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");
                    }
                }
            }
        }
Пример #3
0
        private void ValidarMetaIndividual(int pUsuario, int pSolucaoEducacional,
                                           List <int> pListaIdMetaIndividualAssociada, AuthenticationRequest autenticacao)
        {
            try
            {
                MetaIndividual mi = null;
                if (pListaIdMetaIndividualAssociada != null && pListaIdMetaIndividualAssociada.Count > 0)
                {
                    foreach (int IdMetaIndividualAssociada in pListaIdMetaIndividualAssociada)
                    {
                        using (BMMetaIndividual miBM = new BMMetaIndividual())
                            mi = miBM.ObterPorID(IdMetaIndividualAssociada);


                        if (!mi.ListaItensMetaIndividual.Any(x => x.SolucaoEducacional.ID == pSolucaoEducacional))
                        {
                            mi.ListaItensMetaIndividual.Add(new ItemMetaIndividual()
                            {
                                Auditoria          = new Auditoria(autenticacao.Login),
                                MetaIndividual     = new BMMetaIndividual().ObterPorID(mi.ID),
                                SolucaoEducacional = new BMSolucaoEducacional().ObterPorId(pSolucaoEducacional),
                            });

                            using (BMMetaIndividual miBM = new BMMetaIndividual())
                                miBM.Salvar(mi);
                        }
                    }


                    SolucaoEducacional se = null;
                    using (BMSolucaoEducacional seBM = new BMSolucaoEducacional())
                        se = seBM.ObterPorId(pSolucaoEducacional);

                    Usuario user = null;
                    using (BMUsuario userBM = new BMUsuario())
                    {
                        user = userBM.ObterPorId(pUsuario);
                    }

                    bool listaAlterada = false;
                    foreach (var tagSe in se.ListaTags)
                    {
                        if (!user.ListaTag.Any(x => x.Tag.ID == tagSe.ID))
                        {
                            user.ListaTag.Add(new UsuarioTag()
                            {
                                Usuario      = user,
                                Auditoria    = new Auditoria(autenticacao.Login),
                                Tag          = new BMTag().ObterPorID(tagSe.Tag.ID),
                                DataValidade = mi.DataValidade,
                                Adicionado   = false
                            });
                            listaAlterada = true;
                        }
                    }
                    if (listaAlterada)
                    {
                        using (BMUsuario userBM = new BMUsuario())
                            userBM.Salvar(user);
                    }
                }
            }
            catch
            {
                //TODO: Verificar se cabe alguma ação
            }
        }
 /// <summary>
 /// Obtém uma solução educacional pelo seu ID.
 /// </summary>
 /// <param name="pId">Id da Solução Educacional que seja deseja obter do Repositório</param>
 /// <returns>Objeto da classe SolucaoEducacional, do ID informado</returns>
 public SolucaoEducacional ObterSolucaoEducacionalPorId(int pId)
 {
     return(bmSolucaoEducacional.ObterPorId(pId));
 }