Exemple #1
0
        public static DataTable GetSelectBy_Curso_Tipo
        (
            int cur_id
            , int crr_id
            , int crp_id
            , ACA_CurriculoDisciplinaTipo tipo
            , long tur_id
        )
        {
            if (tur_id <= 0)
            {
                // Busca de todos os tipos, verificando se está guardado em cache.
                DataTable dtTodosTipos = GetSelectBy_Curso_TodosTipos(cur_id, crr_id, crp_id, tur_id);

                DataView dv = dtTodosTipos.DefaultView;
                dv.RowFilter = "crd_tipo = " + (byte)tipo;

                return(dv.ToTable());
            }

            // Faz a busca no banco, pois é alteração da turma.
            ACA_CurriculoDisciplinaDAO dao = new ACA_CurriculoDisciplinaDAO();

            return(dao.SelectBy_Curso_Tipo(cur_id, crr_id, crp_id, Convert.ToByte(tipo), tur_id));
        }
Exemple #2
0
 /// <summary>
 /// Retorna as disciplinas cadastradas para o curso, que sejam
 /// do tipo informado e que possuam uma disciplina equivalente no curso da nova matriz curricular.
 /// </summary>
 /// <param name="cur_idOrigem">ID do curso de origem.</param>
 /// <param name="crr_idOrigem">ID do currículo de origem.</param>
 /// <param name="crp_idOrigem">ID do grupamento de origem.</param>
 /// <param name="crd_tipo">Tipo de currículo disciplina.</param>
 /// <param name="tur_id">ID da turma.</param>
 /// <param name="cur_idDestino">ID do curso da nova matriz curricular.</param>
 /// <param name="crr_idDestino">ID do currículo da nova matriz curricular.</param>
 /// <returns></returns>
 public static DataTable SelecionaCursosPorNovaMatrizCurricularTipo
 (
     int cur_idOrigem,
     int crr_idOrigem,
     int crp_idOrigem,
     ACA_CurriculoDisciplinaTipo crd_tipo,
     long tur_id,
     int cur_idDestino,
     int crr_idDestino
 )
 {
     return(new ACA_CurriculoDisciplinaDAO().SelecionaCursosPorNovaMatrizCurricularTipo
            (
                cur_idOrigem,
                crr_idOrigem,
                crp_idOrigem,
                (byte)crd_tipo,
                tur_id,
                cur_idDestino,
                crr_idDestino
            ));
 }
    /// <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);
    }