Esempio n. 1
0
 def gradeConsulta(self, event):
     ano = self.limiteConsulta.escolhaAno.get()
     curso = self.limiteConsulta.escolhaCurso.get()
     try:
         if len(ano) == 0 or len(curso) == 0:
             raise CamposNaoPreenchidos()
     except CamposNaoPreenchidos:
         self.limiteConsulta.mostraMessagebox('ATENÇÃO', 'Todos os campos devem ser preenchidos', True)
     else:
         grade = ManipulaBanco.consultaGrade(ano, curso)
         try:
             if grade == False: raise ConexaoBD()
             if grade == None: raise GradeNaoCadastrada()
         except ConexaoBD:
             self.limiteConsulta.mostraMessagebox('ERROR', 'Falha de conexão com o Banco de Dados', True)
         except GradeNaoCadastrada:
             self.limiteConsulta.mostraMessagebox('ALERTA', 'Grade não cadastrada', True)
         else:
             string = f'Grade: {grade.ano}\n'
             string += f'Curso: {grade.curso_id}\n'
             string += '\nDisciplinas da grade: '
             for disc in grade.disciplinas:
                 string += f'\n{disc.codigo} -- {disc.nome} -- {disc.carga_horaria}hr'
             LimiteMostraGrades('CONSULTA GRADE', string, False)
         finally:
             self.limiteConsulta.clearConsulta(event)
Esempio n. 2
0
 def buscaGrade(self):
     anoCurso = self.limite.inputGrade.get()
     if len(self.limite.tabelaDisc.get_children()) == 1 and len(
             anoCurso) == 0:
         self.reloadTabela()
     else:
         try:
             if len(anoCurso) == 0: raise PreencherCampoId()
         except PreencherCampoId:
             self.limite.mostraMessagebox(
                 'ALERTA', 'Necessário preencher o campo grade para busca',
                 True)
         else:
             grade = ManipulaBanco.consultaGrade(anoCurso)
             try:
                 if grade == False: raise ConexaoBD()
                 if grade == None: raise GradeNaoCadastrado()
             except ConexaoBD:
                 self.limite.mostraMessagebox(
                     'ERROR', 'Falha de conexão com o Banco de Dados', True)
             except GradeNaoCadastrado:
                 self.limite.mostraMessagebox(
                     'ERROR', f'Grade {anoCurso} não cadastrada', True)
             else:
                 self.reloadOneElement(grade)
             finally:
                 self.limite.limpaGrade()