def criar_disciplina(self, nome, semestre, aprovacao, segunda, terca, quarta, quinta, sexta): disciplina_dao = DisciplinaDao() id = disciplina_dao.criar(nome, semestre, aprovacao, segunda, terca, quarta, quinta, sexta) if id == False: return False Disciplina(id, nome, semestre, aprovacao, segunda, terca, quarta, quinta, sexta) return True
def carregar_curso_por_nome(self, nome): curso_dao = CursoDao() curso_id = curso_dao.obter_id_curso(nome) # Testa para ver se o curso já existe curso = Curso.obter_curso(curso_id) if curso != False: return curso curso = curso_dao.obter_curso_id(curso_id) if curso == False: return False # Carrega Disciplinas disciplina_dao = DisciplinaDao() # Recebe lista com as ids de disciplinas cursadas pelo curso disciplinas_curso = disciplina_dao.obter_disciplinas_curso(curso_id) if disciplinas_curso == False: return curso # Criar Associações Disciplinas-Cursos for disciplina in disciplinas_curso: associacao = DisciplinaCurso(curso_id, disciplina) curso.adicionar_disciplina(disciplina, associacao) disciplina_obj = Disciplina.obter_disciplina(disciplina) disciplina_obj.adicionar_curso(curso_id, associacao) return curso
def obter_disciplinas_curso_usuario(self): disciplina_dao = DisciplinaDao() lista_disciplinas = disciplina_dao.obter_disciplinas_curso(self.__usuario_logado.curso_id) lista_nomes = [] for disciplina in lista_disciplinas: nome = disciplina_dao.obter_nome_disciplina(disciplina) lista_nomes.append(nome) return lista_nomes
def obter_disciplinas_curso(self, nome): curso_dao = CursoDao() id = curso_dao.obter_id_curso(nome) disciplina_dao = DisciplinaDao() lista_disciplinas = disciplina_dao.obter_disciplinas_curso(id) lista_nomes = [] for disciplina in lista_disciplinas: nome = disciplina_dao.obter_nome_disciplina(disciplina) lista_nomes.append(nome) return lista_nomes
def carregar_disciplina(self, nome): disciplina_dao = DisciplinaDao() id = disciplina_dao.obter_id_criado(nome) # Testa para ver se a disciplina já existe disciplina = Disciplina.obter_disciplina(id) if disciplina == False: disciplina_dao.obter_disciplina_id(id) disciplina = Disciplina.obter_disciplina(id) if disciplina == False: return False if disciplina.segunda == 0: segunda = "-" else: segunda = str(disciplina.segunda) + "h" if disciplina.terca == 0: terca = "-" else: terca = str(disciplina.terca) + "h" if disciplina.quarta == 0: quarta = "-" else: quarta = str(disciplina.quarta) + "h" if disciplina.quinta == 0: quinta = "-" else: quinta = str(disciplina.quinta) + "h" if disciplina.sexta == 0: sexta = "-" else: sexta = str(disciplina.sexta) + "h" dados = { "nome": str(nome), "semestre": str(disciplina.semestre), "aprovacao": disciplina.aprovacao, "segunda": segunda, "terca": terca, "quarta": quarta, "quinta": quinta, "sexta": sexta } return dados
def atualizar_disciplina(self, nome, nome_novo, semestre, aprovacao, segunda, terca, quarta, quinta, sexta): disciplina_dao = DisciplinaDao() id = disciplina_dao.atualizar(nome, nome_novo, semestre, aprovacao, segunda, terca, quarta, quinta, sexta) objeto_disciplina = Disciplina.obter_disciplina(id) objeto_disciplina.nome = nome_novo objeto_disciplina.semestre = semestre objeto_disciplina.aprovacao = aprovacao objeto_disciplina.segunda = segunda objeto_disciplina.terca = terca objeto_disciplina.quarta = quarta objeto_disciplina.quinta = quinta objeto_disciplina.sexta = sexta return True
def atualizar_historico(self, lista_disciplinas): usuario_dao = UsuarioDao() disciplina_dao = DisciplinaDao() lista_id_disciplina = [] for disciplina in lista_disciplinas: id = disciplina_dao.obter_id_criado(disciplina) lista_id_disciplina.append(id) lista_disciplinas_antiga = self.obter_historico() adicionar = [e for e in lista_id_disciplina if e not in lista_disciplinas_antiga] excluir = [e for e in lista_disciplinas_antiga if e not in lista_id_disciplina] usuario_dao.atualiza_disciplinas(self.__usuario_logado.id, adicionar) usuario_dao.remover_disciplinas(self.__usuario_logado.id, excluir)
def excluir_disciplina(self, disciplina): disciplina_dao = DisciplinaDao() id = disciplina_dao.obter_id_criado(disciplina) if id == False: return False disciplina = Disciplina.obter_disciplina(id) if disciplina != False: disciplina.remover_disciplina(id) disciplina_dao.excluir(id) disciplina_dao.excluir_do_historico(id) disciplina_dao.excluir_dos_cursos(id) return True
def adicionar_disciplinas(self, nome_curso, lista_disciplinas): curso_dao = CursoDao() disciplina_dao = DisciplinaDao() lista_id_disciplina = [] for disciplina in lista_disciplinas: id = disciplina_dao.obter_id_criado(disciplina) lista_id_disciplina.append(id) curso_id = curso_dao.obter_id_curso(nome_curso) lista_disciplinas_antiga = disciplina_dao.obter_disciplinas_curso(curso_id) adicionar = [e for e in lista_id_disciplina if e not in lista_disciplinas_antiga] excluir = [e for e in lista_disciplinas_antiga if e not in lista_id_disciplina] curso_dao.atualiza_disciplinas(curso_id, adicionar) curso_dao.remover_disciplinas(curso_id, excluir)
def gerar_horarios(self, disciplinas): disciplina_dao = DisciplinaDao() disciplinas_usuario = [] for disciplina in disciplinas: id = disciplina_dao.obter_id_criado(disciplina) disciplinas_usuario.append(id) # disciplinas_usuario = self.seleciona_horarios(disciplinas_usuario) horario = Horario() try: count_aprovacao_baixa = 0 aprovacao_media = 0 aviso_reprovacao = False for id in disciplinas_usuario: disciplina_aux = Disciplina.obter_disciplina(id) aprovacao_media += disciplina_aux.aprovacao if disciplina_aux.aprovacao < 40: count_aprovacao_baixa += 1 if (disciplina_aux.segunda > 0): horario.add_elemento(disciplina_aux.segunda, "segunda", disciplina_aux.nome) if (disciplina_aux.terca > 0): horario.add_elemento(disciplina_aux.terca, "terca", disciplina_aux.nome) if (disciplina_aux.quarta > 0): horario.add_elemento(disciplina_aux.quarta, "quarta", disciplina_aux.nome) if (disciplina_aux.quinta > 0): horario.add_elemento(disciplina_aux.quinta, "quinta", disciplina_aux.nome) if (disciplina_aux.sexta > 0): horario.add_elemento(disciplina_aux.sexta, "sexta", disciplina_aux.nome) except: pass aprovacao_media = aprovacao_media / len(disciplinas_usuario) self.ultimo_horario = horario if count_aprovacao_baixa >= 2: aviso_reprovacao = True return (horario.dataframe, aviso_reprovacao, aprovacao_media)
def carregar_dados_login(self, usuario): # Carrega Curso curso_dao = CursoDao() curso_id = usuario.curso_id curso = curso_dao.obter_curso_id(curso_id) if not curso: return False # Carrega Disciplinas disciplina_dao = DisciplinaDao() # Recebe lista com as ids de disciplinas cursadas pelo curso disciplinas_curso = disciplina_dao.obter_disciplinas_curso(curso_id) # Recebe lista com as ids de disciplinas cursadas pelo usuário disciplinas_usuario = disciplina_dao.obter_disciplinas_usuario(usuario.id) # Criar Associações Disciplinas-Cursos for disciplina in disciplinas_curso: associacao = DisciplinaCurso(curso_id, disciplina) curso.adicionar_disciplina(disciplina, associacao) disciplina_obj = Disciplina.obter_disciplina(disciplina) disciplina_obj.adicionar_curso(curso_id, associacao) try: # Criar Associações Disciplinas-Usuarios for disciplina in disciplinas_usuario: associacao = UsuarioDisciplina(disciplina, usuario.id) usuario.adicionar_disciplina(disciplina, associacao) disciplina_obj = Disciplina.obter_disciplina(disciplina) disciplina_obj.adicionar_usuario(usuario.id, associacao) except: pass return True
def obter_id_disciplinas_curso_usuario(self): disciplina_dao = DisciplinaDao() lista_disciplinas = disciplina_dao.obter_disciplinas_curso(self.__usuario_logado.curso_id) return lista_disciplinas
def obter_historico(self): disciplina_dao = DisciplinaDao() lista_disciplinas = disciplina_dao.obter_disciplinas_usuario(self.__usuario_logado.id) return lista_disciplinas
def carregar_nomes_disciplinas(self): disciplina_dao = DisciplinaDao() return disciplina_dao.obter_nome_disciplinas()
def obter_disciplinas_usuario(self): disciplina_dao = DisciplinaDao() disciplinas_usuario = disciplina_dao.obter_disciplinas_usuario(self.__usuario_logado.id) return disciplinas_usuario