private void AdicionarOuRemoverSolucaoEducacional(Programa programaEdicao) { var listaSelecionados = ucSolucaoEducacional1.ConverterListItemCollectionEmListaTipada(ucSolucaoEducacional1.ObterTodasSolucoesEducacionais) ?? new List <classes.SolucaoEducacional>(); if (listaSelecionados.Count == 0) { return; } var listaIdsSelecionados = listaSelecionados.Select(x => x.ID).ToList(); var listaDiferenca = programaEdicao.ListaSolucaoEducacional.Where(x => !listaIdsSelecionados.Contains(x.SolucaoEducacional.ID)).Select(x => x.SolucaoEducacional).ToList(); var listaIdsDiferenca = listaDiferenca.Select(x => x.ID).ToList(); foreach (var item in listaIdsDiferenca.Select(id => programaEdicao.ListaSolucaoEducacional.FirstOrDefault(x => x.SolucaoEducacional.ID == id)).Where(item => item != null)) { programaEdicao.ListaSolucaoEducacional.Remove(item); } var manterUsuarioLogado = new ManterUsuario(); var manterSe = new ManterSolucaoEducacional(); var usuarioLogado = manterUsuarioLogado.ObterUsuarioLogado(); foreach (var id in listaIdsSelecionados) { if (!programaEdicao.ListaSolucaoEducacional.Any(x => x.SolucaoEducacional.ID == id)) { programaEdicao.ListaSolucaoEducacional.Add(new ProgramaSolucaoEducacional { Programa = programaEdicao, SolucaoEducacional = manterSe.ObterSolucaoEducacionalPorId(id), Auditoria = usuarioLogado != null ? new Auditoria(usuarioLogado.CPF) : new Auditoria() }); } } }
protected void Page_Load(object sender, EventArgs e) { if (Page.IsPostBack) { return; } var usuarioLogado = new ManterUsuario().ObterUsuarioLogado(); if (usuarioLogado.IsAdministrador()) { divIdNode.Visible = divTxtCodigo.Visible = divSincronizarPortal.Visible = false; visibilidadeIntegracaoSAS.Visible = true; } if (usuarioLogado.IsGestor() && usuarioLogado.UF.ID == (int)enumUF.NA) { visibilidadeIntegracaoSAS.Visible = true; } if (usuarioLogado.UF.ID == (int)enumUF.NA) { PreencherComboProdutoSebrae(); PreencherComboUnidadeDemandante(); } else { produtoSebrae.Visible = false; unidadeDemandante.Visible = false; } PreencherCombos(); if (Request["Id"] != null) { var idSolucaoEducacional = int.Parse(Request["Id"]); _solucaoEducacionalEdicao = _manterSolucaoEducacional.ObterSolucaoEducacionalPorId(idSolucaoEducacional); if (SolucaoEducacionalEdicaoNula(_solucaoEducacionalEdicao)) { return; } var isGestor = usuarioLogado.IsGestor(); // Se for gestor verifica se ele pode ver essa solução if (isGestor && !_solucaoEducacionalEdicao.PermiteVisualizacaoUf(usuarioLogado.UF.ID)) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Alerta, "Você não tem permissão para visualizar esta Solução Educacional. Contate um Administrador do sistema."); Response.Redirect("ListarSolucaoEducacional.aspx"); } PreencherCampos(_solucaoEducacionalEdicao); int selecionado; if (int.TryParse(ddlFornecedor.SelectedValue, out selecionado)) { switch ((enumFornecedor)selecionado) { case enumFornecedor.CargaInicial: break; case enumFornecedor.MoodleSebrae: ExibirCategoriaMoodle(); break; case enumFornecedor.WebAula: break; case enumFornecedor.Xys: break; case enumFornecedor.FGVSiga: break; case enumFornecedor.FGVOCW: break; case enumFornecedor.UCSebrae: break; case enumFornecedor.Credenciamento: pnlEventosCredenciamento.Visible = true; PreencherEventosCredenciamento(); if (_solucaoEducacionalEdicao.IDEvento != null) { WebFormHelper.SetarValorNaCombo(_solucaoEducacionalEdicao.IDEvento.Value.ToString(), ddlEventos); } break; default: break; } } else { ExibirIDChaveExterna(); } //Categoria no Moodle if (!string.IsNullOrEmpty(_solucaoEducacionalEdicao.IDChaveExterna)) { txtCategoriaMoodle.Text = _solucaoEducacionalEdicao.IDChaveExterna; } var idTermoAceite = _solucaoEducacionalEdicao != null ? _solucaoEducacionalEdicao.TermoAceite != null ? _solucaoEducacionalEdicao.TermoAceite.ID : 0 : 0; var idCategoriaConteudo = _solucaoEducacionalEdicao != null ? _solucaoEducacionalEdicao.CategoriaConteudo != null ? _solucaoEducacionalEdicao.CategoriaConteudo.ID : 0 : 0; PreencherTermosAceite(idCategoriaConteudo, idTermoAceite); } else { PreencherListaPerfil(); PreencherListaNivelOcupacional(); PreencherListaUfs(); pnlNode.Visible = usuarioLogado.IsGestor(); divTxtCodigo.Visible = false; divIdNode.Visible = false; EsconderCategoriaMoodleIdChaveExterna(); PreencherTermosAceite(); PreencherCategoriaConteudo(new classes.SolucaoEducacional()); ucPermissoes1.SelecionarUf(new ManterUsuario().ObterUsuarioLogado().UF.ID); } }