Beispiel #1
0
    /// <summary>
    /// Carrega os grids de disciplinas da turma
    /// </summary>
    /// <param name="cur_id">id do curso</param>
    /// <param name="crr_id">id do currículo</param>
    /// <param name="crp_id">id do currículo período</param>
    /// <param name="tipo">tipo de disciplina (ex: 1–Obrigatória,3–Optativa...)</param>
    /// <param name="tur_id">id da turma</param>
    /// <param name="esc_id">Id da escola</param>
    /// <param name="uni_id">Id da unidade da escola</param>
    /// <param name="ProfessorEspecialista">Professor especialista</param>
    /// <param name="dtDocentes">Tabela de docentes da escola</param>
    /// <param name="dtAvaliacoesFormato">Tabela com avaliações periódicas do formato - será mostrada na coluna controle semestral</param>
    /// <param name="dtDisciplinaNaoAvaliado">Tabela de disciplinas não avaliadas - todas as disciplinas da turma</param>
    /// <param name="bloqueioAtribuicaoDocente">Flag que indica se é pra bloquear a atribuição de docente para a escola</param>
    public void CarregaGridDisciplinas
    (
        int cur_id
        , int crr_id
        , int crp_id
        , ACA_CurriculoDisciplinaTipo tipo
        , long tur_id
        , int esc_id
        , int uni_id
        , bool ProfessorEspecialista
        , ref DataTable dtDocentes
        , DataTable dtAvaliacoesFormato
        , ref DataTable dtDisciplinaNaoAvaliado
        , bool bloqueioAtribuicaoDocente
        , ref DataTable dtVigenciasDocentes
        , bool aplicarNovaRegraDocenciaCompartilhada
    )
    {
        dtDocentesEscola        = dtDocentes;
        DtAvaliacoesFormato     = dtAvaliacoesFormato;
        DtDisciplinaNaoAvaliado = dtDisciplinaNaoAvaliado;
        DtVigenciasDocentes     = dtVigenciasDocentes;

        if ((DtDisciplinaNaoAvaliado == null) && (tur_id > 0))
        {
            // Carregar avaliações que devem ser desconsideradas para a disciplina.
            DtDisciplinaNaoAvaliado = TUR_TurmaDisciplinaNaoAvaliadoBO.GetSelectBy_Turma(tur_id);
        }

        bool mostraAvaliacoes = (DtAvaliacoesFormato != null) && (DtAvaliacoesFormato.Rows.Count > 0) && TUR_TurmaBO.VerificaAcessoControleSemestral(tur_id);

        gvDisciplina.Columns[indiceColunaAvaliacoesPeriodicas].Visible = mostraAvaliacoes;

        // Variáveis que carregam o combo de professor.
        escola_esc_id = esc_id;
        escola_uni_id = uni_id;
        escola_bloqueioAtribuicaoDocente = bloqueioAtribuicaoDocente;
        professorEspecialista            = ProfessorEspecialista;

        gvDisciplina.Columns[indiceColunaQtAulasSemanais].Visible =

            tipo != ACA_CurriculoDisciplinaTipo.DisciplinaPrincipal;

        // Carregando as disciplinas de acordo como o tipo dado.
        DataTable dtDisciplina = ACA_CurriculoDisciplinaBO.GetSelectBy_Curso_Tipo(cur_id, crr_id, crp_id, tipo, tur_id);

        lblMensagemControleSemestral.Visible = mostraAvaliacoes && dtDisciplina.Rows.Count > 0;
        lblMensagemControleSemestral.Text    = TextoControleSemestral;

        // Guarda todas as disciplinas da turma
        string tud_ids = string.Join(",", (from DataRow dr in dtDisciplina.Rows

                                           select dr["tud_id"].ToString()).ToArray());

        listTurmaDocentes = TUR_TurmaDocenteBO.SelecionaDocentesDisciplina(tud_ids);

        // Caso o não tenho o tipo de disciplina aparece seguinte mensagem.
        gvDisciplina.EmptyDataText = (dtDisciplina == null)
                                        ? string.Format("É necessário selecionar o(a) {0} e o(a) {1}.",
                                                        GestaoEscolarUtilBO.nomePadraoCurso(__SessionWEB.__UsuarioWEB.Usuario.ent_id).ToLower(),
                                                        GestaoEscolarUtilBO.nomePadraoPeriodo(__SessionWEB.__UsuarioWEB.Usuario.ent_id).ToLower())
                                        : string.Format("Não foram encontrados(as) " + GetGlobalResourceObject("Mensagens", "MSG_DISCIPLINA_PLURAL_MIN") + " para o(a) {0} e o(a) {1} selecionado(a).",
                                                        GestaoEscolarUtilBO.nomePadraoCurso(__SessionWEB.__UsuarioWEB.Usuario.ent_id).ToLower(),
                                                        GestaoEscolarUtilBO.nomePadraoPeriodo(__SessionWEB.__UsuarioWEB.Usuario.ent_id).ToLower());

        this.aplicarNovaRegraDocenciaCompartilhada = aplicarNovaRegraDocenciaCompartilhada;
        gvDisciplina.DataSource = dtDisciplina;
        gvDisciplina.DataBind();

        // Volta o valor das tabelas (caso tenham sido carregados no DataBind do grid).
        dtDocentes = dtDocentesEscola;
        dtDisciplinaNaoAvaliado = DtDisciplinaNaoAvaliado;
    }
    /// <summary>
    /// Carrega no repeater de disciplinas eletivas da turma
    /// </summary>
    /// <param name="cur_id">id do curso</param>
    /// <param name="crr_id">id do currículo</param>
    /// <param name="crp_id">id do currículo período</param>
    /// <param name="tipo">tipo de disciplina (ex: 1–Obrigatória,3–Optativa...)</param>
    /// <param name="tur_id">id da turma</param>
    /// <param name="cal_id">Calendário</param>
    /// <param name="esc_id">Id da escola</param>
    /// <param name="uni_id">Unidade da escola</param>
    /// <param name="ProfessorEspecialista">Flag que indica se turma é para professor especialista</param>
    /// <param name="dtDocentes">Tabela de docentes da escola</param>
    /// <param name="dtAvaliacoesFormato">Tabela com avaliações periódicas do formato - será mostrada na coluna controle semestral</param>
    /// <param name="dtDisciplinaNaoAvaliado">Tabela de disciplinas não avaliadas - todas as disciplinas da turma</param>
    /// <param name="bloqueioAtribuicaoDocente">Flag que indica se é pra bloquear a atribuição de docente para a escola</param>
    /// <param name="tabelaPeriodosCalendario">Tabela com períodos do calendário da turma</param>
    public bool CarregaRepeaterDisciplinas
    (
        Int32 cur_id
        , Int32 crr_id
        , Int32 crp_id
        , ACA_CurriculoDisciplinaTipo tipo
        , Int64 tur_id
        , Int32 cal_id
        , Int32 esc_id
        , Int32 uni_id
        , bool ProfessorEspecialista
        , ref DataTable dtDocentes
        , DataTable dtAvaliacoesFormato
        , ref DataTable dtDisciplinaNaoAvaliado
        , bool bloqueioAtribuicaoDocente
        , DataTable tabelaPeriodosCalendario
        , ref DataTable dtVigenciasDocentes
        , bool aplicarNovaRegraDocenciaCompartilhada
    )
    {
        dtDocentesEscola        = dtDocentes;
        DtAvaliacoesFormato     = dtAvaliacoesFormato;
        DtDisciplinaNaoAvaliado = dtDisciplinaNaoAvaliado;
        dtPeriodosCalendario    = tabelaPeriodosCalendario;
        DtVigenciasDocentes     = dtVigenciasDocentes;

        if ((DtDisciplinaNaoAvaliado == null) && (tur_id > 0))
        {
            // Carregar avaliações que devem ser desconsideradas para a disciplina.
            DtDisciplinaNaoAvaliado = TUR_TurmaDisciplinaNaoAvaliadoBO.GetSelectBy_Turma(tur_id);
        }

        // Variáveis que carregam o combo de professor.
        escola_esc_id = esc_id;
        escola_uni_id = uni_id;
        escola_bloqueioAtribuicaoDocente = bloqueioAtribuicaoDocente;
        professorEspecialista            = ProfessorEspecialista;

        VS_AcessoControleSemestral = TUR_TurmaBO.VerificaAcessoControleSemestral(tur_id);

        bool mostraAvaliacoes = (DtAvaliacoesFormato != null && DtAvaliacoesFormato.Rows.Count > 0) && VS_AcessoControleSemestral;

        // Carregando as disciplinas de acordo como o tipo dado.
        DataTable dtDisciplina = ACA_CurriculoDisciplinaBO.GetSelectBy_Curso_Tipo
                                 (
            cur_id
            , crr_id
            , crp_id
            , tipo
            , tur_id
                                 );

        lblMensagemControleSemestral.Visible = mostraAvaliacoes && dtDisciplina.Rows.Count > 0;
        lblMensagemControleSemestral.Text    = TextoControleSemestral;

        // Guarda todas as disciplinas da turma
        string tud_ids = string.Join(",", (from DataRow dr in dtDisciplina.Rows
                                           select dr["tud_id"].ToString()).ToArray());

        listTurmaDocentes = TUR_TurmaDocenteBO.SelecionaDocentesDisciplina(tud_ids);

        // Se existir disciplina eletiva
        if (dtDisciplina.Rows.Count > 0)
        {
            lblSemDisciplinasEletivas.Visible = false;
            rptDisciplinasEletivas.Visible    = true;

            this.aplicarNovaRegraDocenciaCompartilhada = aplicarNovaRegraDocenciaCompartilhada;
            rptDisciplinasEletivas.DataSource          = dtDisciplina;
            rptDisciplinasEletivas.DataBind();

            foreach (string id in periodosIds)
            {
                Script += "setaCheckBoxPeriodo('." + id + "');";
            }

            return(true);
        }

        lblSemDisciplinasEletivas.Visible = true;
        rptDisciplinasEletivas.Visible    = false;

        // Volta o valor das tabelas (caso tenham sido carregados no DataBind do grid).
        dtDocentes = dtDocentesEscola;
        dtDisciplinaNaoAvaliado = DtDisciplinaNaoAvaliado;

        return(false);
    }