/// <summary> /// Verifica se o curso da turma possui avaliação do tipo seriado. /// </summary> /// <param name="entTurma">Entidade da turma.</param> /// <param name="EntFormatoAvaliacao">Entidade do formato de avaliação da turma.</param> /// <param name="banco">Transação.</param> /// <param name="entCurriculoPeriodo">Entidade do grupamento da turma (parâmatro de sáida)</param> /// <param name="Seriado">Flag que indica se o curso ~possui avaliação do tipo seriado (parâmatro de sáida)</param> /// <returns></returns> public static bool ValidaCursoSeriadoAvaliacao(TUR_Turma entTurma, ACA_FormatoAvaliacao EntFormatoAvaliacao, TalkDBTransaction banco, out ACA_CurriculoPeriodo entCurriculoPeriodo, out bool Seriado) { Seriado = false; List <TUR_TurmaCurriculo> listCurriculos = TUR_TurmaCurriculoBO.GetSelectBy_Turma(entTurma.tur_id, banco, GestaoEscolarUtilBO.MinutosCacheLongo); if (listCurriculos.Count == 0) { throw new Exception("A turma (tur_id: " + entTurma.tur_id + ") não possui nenhum curriculoPeriodo cadastrado."); } ACA_Curriculo entCurriculo = new ACA_Curriculo { cur_id = listCurriculos[0].cur_id , crr_id = listCurriculos[0].crr_id }; ACA_CurriculoBO.GetEntity(entCurriculo, banco); // Se curso for seriado por avaliações - EJA. if (entCurriculo.crr_regimeMatricula == (byte)ACA_CurriculoRegimeMatricula.SeriadoPorAvaliacoes) { Seriado = true; if ((EntFormatoAvaliacao.fav_tipo != (byte)ACA_FormatoAvaliacaoTipo.ConceitoGlobal) && (EntFormatoAvaliacao.fav_tipo != (byte)ACA_FormatoAvaliacaoTipo.GlobalDisciplina)) { // Curso do EJA não pode efetivar notas por disciplina - não possui ligação // com lançamento por disciplina. throw new ValidationException("O formato de avaliação \"" + EntFormatoAvaliacao.fav_nome + "\" deve ser do tipo \"Conceito global\" ou " + "\"Conceito global e nota por " + CustomResource.GetGlobalResourceObject("Mensagens", "MSG_DISCIPLINA") + "\", " + "pois o curso da turma é seriado por avaliações."); } } entCurriculoPeriodo = new ACA_CurriculoPeriodo { cur_id = entCurriculo.cur_id , crr_id = entCurriculo.crr_id , crp_id = listCurriculos[0].crp_id }; ACA_CurriculoPeriodoBO.GetEntity(entCurriculoPeriodo, banco); return(true); }
/// <summary> /// Retorna a matriz curricular das disciplinas da turma /// </summary> /// <param name="tur_id">ID da turma</param> /// <param name="cur_efetivacaoSemestral">flag que indica se o curso permite efetivação semestral</param> /// <returns></returns> public static List <MatrizCurricular> SelecionaMatrizCurricularTurma ( long tur_id , out bool efetivacaoSemestral ) { List <TUR_TurmaCurriculo> listaCurriculo = TUR_TurmaCurriculoBO.GetSelectBy_Turma(tur_id, GestaoEscolarUtilBO.MinutosCacheLongo); ACA_Curso entityCurso = new ACA_Curso { cur_id = listaCurriculo[0].cur_id }; ACA_CursoBO.GetEntity(entityCurso); List <MatrizCurricular> lista = new List <MatrizCurricular>(); if (entityCurso.cur_efetivacaoSemestral) { efetivacaoSemestral = true; ACA_CurriculoControleSemestralDisciplinaPeriodoDAO dao = new ACA_CurriculoControleSemestralDisciplinaPeriodoDAO(); DataTable dt = dao.SelecionaMatrizCurricularTurma(tur_id); foreach (DataRow dr in dt.Rows) { MatrizCurricular ent = new MatrizCurricular(); ent.tud_id = Convert.ToInt64(dr["tud_id"]); ent.tpc_id = Convert.ToInt32(dr["tpc_id"]); ent.csp_nota = Convert.ToBoolean(dr["csp_nota"]); ent.csp_frequencia = Convert.ToBoolean(dr["csp_frequencia"]); lista.Add(ent); } } else { efetivacaoSemestral = false; } return(lista); }