Esempio n. 1
0
 def consultaHandler(self, event):
     nome = self.limiteConsulta.escolhaCurso.get()
     try:
         if len(nome) == 0:
             raise CamposNaoPreenchidos()
     except CamposNaoPreenchidos:
         self.limiteConsulta.mostraMessagebox(
             'ATENÇÃO', 'Todos os campos devem ser preenchidos', True)
     else:
         curso = ManipulaBanco.consultaCurso(nome)
         try:
             if curso == False: raise ConexaoBD()
             if curso == None: raise CursoNaoCadastrado()
         except ConexaoBD:
             self.limiteConsulta.mostraMessagebox(
                 'ERROR', 'Falha de conexão com o Banco de Dados', True)
         except CursoNaoCadastrado:
             self.limiteConsulta.mostraMessagebox('ALERTA',
                                                  'Curso não cadastrado',
                                                  True)
         else:
             string = f'{curso.nome}\n'
             if curso.grade == None:
                 string += 'SEM GRADE\n'
             else:
                 string += f'Grade: {curso.grade.ano}\n'
             string += '\nALUNOS MATRICULADOS: \n'
             for aluno in curso.alunos:
                 string += f'{aluno.nro_matric} -- {aluno.nome}\n'
             string += '---------------------------\n'
             LimiteMostraCursos('CONSULTA CURSO', string, False)
         finally:
             self.limiteConsulta.clearConsulta(event)
Esempio n. 2
0
 def deletaCurso(self):
     nomeCurso = self.limite.inputCurso.get()
     try:
         if len(nomeCurso)==0: raise PreencherCampoId()
     except PreencherCampoId:
         self.limite.mostraMessagebox('ALERTA', 'Necessário informar o campo de curso para deletar', True)
     else:
         status = ManipulaBanco.deletaCurso(nomeCurso)
         try:
             if status == False: raise ErroRequisicao()
         except ErroRequisicao:
             self.limite.mostraMessagebox('ERROR', 'Houve erro na requisição ou o dado informado não existe', True)
         else:
             self.limite.mostraMessagebox('SUCESSO', f'Curso {nomeCurso} excluído com sucesso', False)
             self.limite.limpaCurso()
             self.reloadTabela()
Esempio n. 3
0
 def cadastraCurso(self):
     nomeCurso = self.limite.inputCurso.get()
     anoCurso = self.limite.escolhaGrade.get()
     try:
         if len(nomeCurso)==0 or len(anoCurso)==0: raise PreencherCampos()
     except PreencherCampos:
         self.limite.mostraMessagebox('ALERTA', 'Atenção todos os campos devem ser preenchidos para inserção', True)
     else:
         grade = self.ctrlPrincipal.ctrlGrade.getObjGrade(anoCurso)
         curso = Curso(nome=nomeCurso, alunos=self.listaAlunoCurso, grade=grade)
         status = ManipulaBanco.cadastraCurso(curso)
         try:
             if status == False: raise ConexaoBD()
         except ConexaoBD:
             self.limite.mostraMessagebox('ERROR', 'Falha de conexão com o Banco de dados', True)
         else:
             self.limite.mostraMessagebox('SUCESSO', 'Curso cadastrado com sucesso', False)
             self.limite.limpaCurso()
             self.reloadTabela()
             self.listaAlunoCurso = [] 
Esempio n. 4
0
 def buscaCurso(self):
     nomeCurso = self.limite.inputCurso.get()
     if len(self.limite.tabelaAl.get_children())==1 and len(nomeCurso)==0:
         self.reloadTabela()
     else:
         try:
             if len(nomeCurso)==0: raise PreencherCampoId()
         except PreencherCampoId:
             self.limite.mostraMessagebox('ALERTA', 'Necessário preencher o campo curso para busca', True)
         else:
             curso = ManipulaBanco.consultaCurso(nomeCurso)
             try: 
                 if curso == False: raise ConexaoBD()
                 if curso == None: raise CursoNaoCadastrado()
             except ConexaoBD: self.limite.mostraMessagebox('ERROR', 'Falha de conexão com o Banco de Dados', True)
             except CursoNaoCadastrado: self.limite.mostraMessagebox('ERROR', f'Curso {nomeCurso} não cadastrada', True)
             else:
                 self.reloadOneElement(curso)
             finally:
                 self.limite.limpaCurso()
Esempio n. 5
0
 def excluiHandler(self, event):
     nomeCurso = self.limiteExclui.escolhaCurso.get()
     try:
         if len(nomeCurso) == 0: raise CamposNaoPreenchidos()
     except CamposNaoPreenchidos:
         self.limiteExclui.mostraMessagebox(
             'ATENÇÃO', 'Todos os campos devem ser preenchidos', True)
     else:
         status = ManipulaBanco.deletaCurso(nomeCurso)
         try:
             if status == False: raise CursoNaoCadastrado()
         except CursoNaoCadastrado:
             self.limiteExclui.mostraMessagebox(
                 'ALERTA',
                 'Curso não cadastrado ou falha de conexão com Banco de Dados',
                 True)
         else:
             self.limiteExclui.mostraMessagebox(
                 'SUCESSO', 'Curso deletado com sucesso', False)
         finally:
             self.limiteExclui.clearExclusao(event)
Esempio n. 6
0
 def atualizaCurso(self):
     nomeCurso = self.limiteAltera.escolhaCurso.get()
     alunos = self.limiteAltera.listaCursoAl
     anoCurso = self.limiteAltera.escolhaGrade.get()
     try:
         if len(nomeCurso)==0 or len(anoCurso)==0: raise PreencherCampos()
         if len(alunos)==0: raise CursoSemAluno()
     except PreencherCampos:
         self.limiteAltera.mostraMessagebox('ALERTA', 'Os campos curso e grade devem ser preenchidos', True)
     except CursoSemAluno:
         self.limiteAltera.mostraMessagebox('ATENÇÃO', 'O curso deve ter no mínimo um aluno', True)
     else:
         grade = self.ctrlPrincipal.ctrlGrade.getObjGrade(anoCurso)
         status = ManipulaBanco.atualizaCurso(nomeCurso, alunos, grade)
         try:
             if status == False: raise ConexaoBD()
         except ConexaoBD:
             self.limiteAltera.mostraMessagebox('ERROR', 'Falha de conexão com o Banco de Dados', True)
         else:
             self.limiteAltera.mostraMessagebox('SUCESSO', f'Curso {nomeCurso} atualizado com sucesso', False)
             self.limiteAltera.fechaJanela()
Esempio n. 7
0
 def enterHandler(self, event):
     nome = self.limiteIns.inputCurso.get()
     try:
         if len(nome) == 0:
             raise CamposNaoPreenchidos()
     except CamposNaoPreenchidos:
         self.limiteIns.mostraMessagebox(
             'ATENÇÃO', 'Todos os campos devem ser preenchidos', True)
     else:
         curso = Curso(nome=nome)
         status = ManipulaBanco.cadastraCurso(curso)
         try:
             if status == False:
                 raise CursoDuplicado()
         except CursoDuplicado:
             self.limiteIns.mostraMessagebox(
                 'ALERTA',
                 'O curso já existe ou falha de conexão com Banco de Dados',
                 True)
         else:
             self.limiteIns.mostraMessagebox(
                 'SUCESSO', 'Curso cadastrado com sucesso!', False)
         finally:
             self.limiteIns.clearHandler(event)
Esempio n. 8
0
 def getListaCursos(self):
     return ManipulaBanco.listaCursos()