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 { } }
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"); } } } }
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)); }