示例#1
0
 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
示例#2
0
    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
示例#3
0
    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
示例#4
0
    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
示例#5
0
    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
示例#6
0
    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
示例#7
0
    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)
示例#8
0
    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
示例#9
0
    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)
示例#10
0
    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)
示例#11
0
    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
示例#12
0
    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
示例#13
0
    def obter_historico(self):
        disciplina_dao = DisciplinaDao()
        lista_disciplinas = disciplina_dao.obter_disciplinas_usuario(self.__usuario_logado.id)

        return lista_disciplinas
示例#14
0
 def carregar_nomes_disciplinas(self):
     disciplina_dao = DisciplinaDao()
     return disciplina_dao.obter_nome_disciplinas()
示例#15
0
 def obter_disciplinas_usuario(self):
     disciplina_dao = DisciplinaDao()
     disciplinas_usuario = disciplina_dao.obter_disciplinas_usuario(self.__usuario_logado.id)
     return disciplinas_usuario