/// <summary> /// Carrega todas as posições de docente permitidas pelo parâmetro. /// </summary> /// <param name="tud_id">Id da disciplina.</param> /// <param name="doc_id">Id do docente.</param> /// <param name="carregarDocentesComAtrib">Verifica se é pra carregar somente os docentes com atribuição.</param> public void CarregarPorParametro(long tud_id = -1, long doc_id = -1) { try { int qtdPosicoes = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.QUANTIDADE_DOCENTES_VIGENTES_DISCIPLINA, __SessionWEB.__UsuarioWEB.Usuario.ent_id); bool carregarDocentesComAtrib = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.NAO_MOSTRAR_POSICAO_DOCENTES_PLANEJAMENTO, __SessionWEB.__UsuarioWEB.Usuario.ent_id); ddlCombo.Items.Clear(); if (tud_id > 0) { if (doc_id > 0) { List <KeyValuePair <int, string> > docentePosicao = TUR_TurmaDocenteBO.SelecionaDocentesPosicaoPorDisciplina(tud_id) .Where(p => VS_ltPermissao.Any(q => q.tdt_posicaoPermissao == (byte)p.Key && q.pdc_permissaoConsulta)).ToList(); string nomeDocente; foreach (int i in docentePosicao.Select(p => p.Key)) { nomeDocente = docentePosicao.Find(p => p.Key == i).Value; if (carregarDocentesComAtrib && (!string.IsNullOrEmpty(nomeDocente))) { ddlCombo.Items.Insert(0, new ListItem(nomeDocente, i.ToString(), true)); } else if (!carregarDocentesComAtrib) { ddlCombo.Items.Insert(0, new ListItem( string.IsNullOrEmpty(nomeDocente) ? string.Format("Docente {0}", i.ToString()) : nomeDocente, i.ToString(), true)); } } } else { List <KeyValuePair <int, string> > docentePosicao = TUR_TurmaDocenteBO.SelecionaDocentesPosicaoPorDisciplina(tud_id);; string nomeDocente; for (int i = qtdPosicoes; i > 0; i--) { nomeDocente = docentePosicao.Find(p => p.Key == i).Value; if (carregarDocentesComAtrib && (!string.IsNullOrEmpty(nomeDocente))) { ddlCombo.Items.Insert(0, new ListItem(nomeDocente, i.ToString(), true)); } else if (!carregarDocentesComAtrib) { ddlCombo.Items.Insert(0, new ListItem( string.IsNullOrEmpty(nomeDocente) ? string.Format("Docente {0}", i.ToString()) : nomeDocente, i.ToString(), true)); } } } } else { for (int i = qtdPosicoes; i > 0; i--) { ddlCombo.Items.Insert(0, new ListItem( string.Format("Docente {0}", i.ToString()), i.ToString(), true)); } } IncluirOpcaoTodos(); CarregarMensagemSelecione(); ddlCombo.AppendDataBoundItems = true; } catch (Exception) { lblMessage.Text = "Erro ao tentar carregar " + lblTitulo.Text.Replace('*', ' ').ToLower() + "."; lblMessage.Visible = true; } }