コード例 #1
0
        /// <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;
            }
        }