Exemplo n.º 1
0
        /// <summary>
        /// Verifica alteracao do index do combo Escola e trata o combo calendário
        /// </summary>
        protected void UCComboUAEscola_IndexChangedUnidadeEscola()
        {
            try
            {
                if (_VS_doc_id > 0)
                {
                    if (UCComboUAEscola.Esc_ID > 0)
                    {
                        ddlTurma.Enabled = true;

                        UCComboCalendario.CarregarCalendariosComBimestresAtivos(UCComboUAEscola.Esc_ID, true);

                        UCComboCalendario.SetarFoco();
                        UCComboCalendario.PermiteEditar = true;
                    }
                    else
                    {
                        ddlTurma.SelectedIndex = 0;
                        ddlTurma.Enabled       = false;

                        UCCTurmaDisciplina1.Valor         = -1;
                        UCCTurmaDisciplina1.PermiteEditar = false;

                        UCCPeriodoCalendario.Valor         = new[] { -1, -1 };
                        UCCPeriodoCalendario.PermiteEditar = false;

                        UCComboCalendario.Valor         = -1;
                        UCComboCalendario.PermiteEditar = false;
                    }
                }
                else
                {
                    UCComboCalendario.Valor         = -1;
                    UCComboCalendario.PermiteEditar = false;

                    if (UCComboUAEscola.Esc_ID > 0 && UCComboUAEscola.Uni_ID > 0)
                    {
                        UCComboCalendario.CarregarCalendariosComBimestresAtivos(UCComboUAEscola.Esc_ID, true);

                        UCComboCalendario.SetarFoco();
                        UCComboCalendario.PermiteEditar = true;
                    }

                    UCComboCalendario_IndexChanged();
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar os dados.", UtilBO.TipoMensagem.Erro);
            }
        }
    /// <summary>
    /// Carrega os combos da tela de acordo com os dados.
    /// </summary>
    /// <param name="pfi_id">Id do processo fechamento/início.</param>
    /// <param name="parametroFormacaoTurmas">Estrutura de formação de turmas.</param>
    /// <param name="turnos">Tabela com os turnos.</param>
    /// <param name="exclusivoDeficientes">Indica se curso é exclusivo para deficientes.</param>
    private void CarregarCombos(int pfi_id, ParametroFormacaoTurmas parametroFormacaoTurmas, DataTable turnos, bool exclusivoDeficientes)
    {
        CarregarTurno(turnos);
        UCComboCalendario.CarregarCalendarioAnualPorCursoAnoInicio(VS_cur_id, pfi_id);
        UCComboCalendario.SelectedIndex = 0;
        UCComboFormatoAvaliacao.CarregarPorRegrasCurso
        (
            -1
            , parametroFormacaoTurmas.entityParametroPeriodo.cur_id
            , parametroFormacaoTurmas.entityParametroPeriodo.crr_id
            , parametroFormacaoTurmas.entityParametroPeriodo.crp_id
            , parametroFormacaoTurmas.entityParametroPeriodo.pft_docenteEspecialista
        );

        cblTiposDeficiencia.DataSource = PES_TipoDeficienciaBO.GetSelect();
        cblTiposDeficiencia.DataBind();

        ddlControleCapacidade.Items.Clear();
        ddlControleCapacidade.Items.Add(new ListItem("Sem controle", ((byte)MTR_ParametroFormacaoTurmaTipoControleCapacidade.SemControle).ToString()));
        ddlControleCapacidade.Items.Add(new ListItem("Capacidade normal e "
                                                     + ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.TERMO_ALUNOS_DEFICIENCIA_TURMAS_NORMAIS, __SessionWEB.__UsuarioWEB.Usuario.ent_id).ToLower()
                                                     , ((byte)MTR_ParametroFormacaoTurmaTipoControleCapacidade.CapacidadeNormal).ToString()));
        ddlControleCapacidade.Items.Add(new ListItem("Capacidade normal e individual por "
                                                     + ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.TERMO_ALUNOS_DEFICIENCIA_TURMAS_NORMAIS, __SessionWEB.__UsuarioWEB.Usuario.ent_id).ToLower()
                                                     , ((byte)MTR_ParametroFormacaoTurmaTipoControleCapacidade.CapacidadeNormalIndividual).ToString()));

        ddlTiposDeficienciaAlunoIncluidos.Items.Clear();
        if (!exclusivoDeficientes)
        {
            ddlTiposDeficienciaAlunoIncluidos.Items.Add(new ListItem("Nenhum", ((byte)MTR_ParametroFormacaoTurmaTiposDeficienciaAlunoIncluidos.SemAlunos).ToString()));
        }

        ddlTiposDeficienciaAlunoIncluidos.Items.Add(new ListItem("Todos", ((byte)MTR_ParametroFormacaoTurmaTiposDeficienciaAlunoIncluidos.TodosTipos).ToString()));
        ddlTiposDeficienciaAlunoIncluidos.Items.Add(new ListItem(
                                                        GetGlobalResourceObject("WebControls", "ParametroFormacaoTurmas.UCParametroFormacaoTurmas.ddlTiposDeficienciaAlunoIncluidos.Mensagem").ToString()
                                                        , ((byte)MTR_ParametroFormacaoTurmaTiposDeficienciaAlunoIncluidos.Escolher).ToString()));
    }
Exemplo n.º 3
0
        /// <summary>
        /// Método para carregar um registro de compensacao, a fim de atualizar suas informações.
        /// Recebe dados referente a compensacao para realizar busca.
        /// </summary>
        /// <param name="cpa_id">ID da compensacao</param>
        public void Carregar(long cpa, long tud)
        {
            try
            {
                int cpa_id = Convert.ToInt32(cpa.ToString());

                // Armazena valor ID do informativo a ser alterada.
                VS_cpa_id = cpa_id;

                // Busca do informativo baseado no ID do informativo.
                CLS_CompensacaoAusencia entCompensacao = new CLS_CompensacaoAusencia {
                    cpa_id = cpa_id, tud_id = tud
                };
                CLS_CompensacaoAusenciaBO.GetEntity(entCompensacao);

                VS_pro_id = entCompensacao.pro_id;

                VS_QtAulasComp = entCompensacao.cpa_quantidadeAulasCompensadas;

                DataTable dt = CLS_CompensacaoAusenciaBO.RetornaIdsCadastro(entCompensacao.tud_id, entCompensacao.cpa_id);

                // Pega somente a primeira linha
                DataRow row = dt.Rows[0];

                Guid uad_id;
                int  esc_id, uni_id, cur_id, crr_id, cap_id, tpc_id, cal_id;
                long tur_id, crp_id, ttn_id, tud_id;
                bool fav_fechamentoAutomatico;

                uad_id = string.IsNullOrEmpty(row[1].ToString()) ? new Guid() : new Guid(row[1].ToString());
                esc_id = Convert.ToInt32(row[2].ToString());
                uni_id = Convert.ToInt32(row[3].ToString());
                cur_id = Convert.ToInt32(row[4].ToString());
                crr_id = Convert.ToInt32(row[5].ToString());
                cap_id = Convert.ToInt32(row[10].ToString());
                tpc_id = Convert.ToInt32(row[11].ToString());
                cal_id = Convert.ToInt32(row[12].ToString());
                tur_id = Convert.ToInt64(row[7].ToString());
                crp_id = Convert.ToInt64(row[6].ToString());
                ttn_id = Convert.ToInt64(row[8].ToString());
                tud_id = Convert.ToInt64(row[9].ToString());
                fav_fechamentoAutomatico = Convert.ToBoolean(row["fav_fechamentoAutomatico"].ToString());

                VS_FechamentoAutomatico = fav_fechamentoAutomatico;

                if (_VS_doc_id <= 0)
                {
                    //CRE / Escola
                    UCComboUAEscola.Inicializar();
                    if (!uad_id.Equals(new Guid()))
                    {
                        UCComboUAEscola.Uad_ID = uad_id;
                    }
                    UCComboUAEscola.MostraApenasAtivas   = true;
                    UCComboUAEscola.SelectedValueEscolas = new int[] { esc_id, uni_id };
                    UCComboUAEscola.PermiteAlterarCombos = false;

                    //Calendario
                    UCComboCalendario.CarregarCalendariosComBimestresAtivos(esc_id, true);
                    UCComboCalendario.Valor = cal_id;

                    //Etapa de ensino
                    UCCCursoCurriculo.CarregarPorEscolaSituacaoCurso(UCComboUAEscola.Esc_ID, UCComboUAEscola.Uni_ID, 0);
                    UCCCursoCurriculo.PermiteEditar = false;
                    UCCCursoCurriculo.Valor         = new int[] { cur_id, crr_id };

                    ddlTurma.Items.Clear();
                    ddlTurma.DataTextField = "tur_codigo";

                    ddlTurma.Items.Insert(0, new ListItem("-- Selecione uma turma --", "-1", true));

                    ddlTurma.DataSource = TUR_TurmaBO.GetSelectBy_Escola_Periodo_Situacao(__SessionWEB.__UsuarioWEB.Usuario.usu_id,
                                                                                          __SessionWEB.__UsuarioWEB.Grupo.gru_id,
                                                                                          (__SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Administracao),
                                                                                          UCComboUAEscola.Esc_ID, UCComboUAEscola.Uni_ID,
                                                                                          UCComboCalendario.Valor, UCCCursoCurriculo.Valor[0],
                                                                                          UCCCursoCurriculo.Valor[1], -1,
                                                                                          __SessionWEB.__UsuarioWEB.Usuario.ent_id, 0, 0,
                                                                                          ApplicationWEB.AppMinutosCacheLongo)
                                          .GroupBy(p => new { tur_id = p.tur_id, tur_codigo = p.tur_codigo }).Select(p => p.Key).ToList();;
                    ddlTurma.DataBind();
                }
                else
                {
                    UCComboUAEscola.SelectedValueEscolas = new int[] { esc_id, uni_id };
                    UCComboUAEscola.PermiteAlterarCombos = false;

                    //Calendario
                    UCComboCalendario.CarregarCalendariosComBimestresAtivos(esc_id, true);
                    UCComboCalendario.Valor         = cal_id;
                    UCComboCalendario.PermiteEditar = false;

                    //Carrega os campos
                    int posicaoDocenteCompatilhado = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.POSICAO_DOCENCIA_COMPARTILHADA, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

                    ddlTurma.Items.Clear();
                    ddlTurma.DataTextField = "tur_esc_nome";

                    ddlTurma.Items.Insert(0, new ListItem("-- Selecione uma turma --", "-1", true));

                    ddlTurma.DataSource = TUR_TurmaBO.GetSelectBy_Docente_TodosTipos_Posicao(__SessionWEB.__UsuarioWEB.Usuario.ent_id, _VS_doc_id, posicaoDocenteCompatilhado, 0, UCComboCalendario.Valor, true, false, ApplicationWEB.AppMinutosCacheLongo)
                                          .GroupBy(p => new { tur_id = p.tur_id, tur_esc_nome = p.tur_esc_nome }).Select(p => p.Key).ToList();
                    ddlTurma.DataBind();
                }

                ddlTurma_SelectedIndexChanged(null, null);

                ddlTurma.Enabled       = false;
                ddlTurma.SelectedValue = tur_id.ToString();

                //Disciplina
                if (_VS_doc_id <= 0)
                {
                    UCCTurmaDisciplina1.CarregarTurmaDisciplina(tur_id);
                }
                else
                {
                    UCCTurmaDisciplina1.CarregarTurmaDisciplina(tur_id, _VS_doc_id);
                }

                UCCTurmaDisciplina1.PermiteEditar = false;
                UCCTurmaDisciplina1.Valor         = tud_id;

                //Periodo Calendario
                UCCPeriodoCalendario.CarregarPorPeriodoEventoEfetivacaoVigentes(cal_id, tud_id, tur_id);
                UCCPeriodoCalendario.PermiteEditar = false;
                UCCPeriodoCalendario.Valor         = new int[2] {
                    cap_id, tpc_id
                };
                UCCPeriodoCalendario_IndexChanged();

                // Só habilita os campos de quantidade de aulas compensadas e alunos selecionados,
                // na edicao de uma compensacao do último bimestre "aberto" para edição.
                bool selecaoUltimoBimestre = UCCPeriodoCalendario.SelecaoUltimoBimestre();
                txtQtAulas.Enabled = selecaoUltimoBimestre;

                UCComboCalendario.PermiteEditar = false;

                if (UCCPeriodoCalendario.Tpc_ID > 0)
                {
                    // Atividades
                    txtAtividades.Text = entCompensacao.cpa_atividadesDesenvolvidas;

                    // Qt Aulas
                    txtQtAulas.Text = entCompensacao.cpa_quantidadeAulasCompensadas.ToString();

                    // Alunos compensados
                    List <CLS_CompensacaoAusenciaAluno> listaAlunos = CLS_CompensacaoAusenciaAlunoBO.SelectByCpa_id(entCompensacao.cpa_id, entCompensacao.tud_id);
                    foreach (RepeaterItem item in rptAlunos.Items)
                    {
                        CheckBox    ckbAluno = (CheckBox)item.FindControl("ckbAluno");
                        HiddenField hdnId    = (HiddenField)item.FindControl("hdnId");

                        if (ckbAluno != null && hdnId != null)
                        {
                            ckbAluno.Enabled = selecaoUltimoBimestre;
                            ckbAluno.Checked = listaAlunos.Any(p => string.Concat(p.tud_id, ";", p.alu_id, ";", p.mtu_id, ";", p.mtd_id) == hdnId.Value);
                        }
                    }
                }
                else
                {
                    // Voltar pra busca, pois não é possível editar uma compensação de um bimestre não aberto.
                    __SessionWEB.PostMessages = UtilBO.GetErroMessage("Não é possível editar a compensação, pois o bimestre não está aberto para edição."
                                                                      , UtilBO.TipoMensagem.Alerta);
                    Response.Redirect("~/Classe/CompensacaoAusencia/Busca.aspx", false);
                    HttpContext.Current.ApplicationInstance.CompleteRequest();
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar a compensação de ausência.", UtilBO.TipoMensagem.Erro);
            }
        }