Пример #1
0
    def list_future_by_proprietario(cpf):
        acordoDAO = AcordoDAO()
        acordos_output = []
        
        try:
            acordos = acordoDAO.list()
            solicitacaoDAO = SolicitacaoDAO()
            vagaDAO = VagaDAO()

            for a in acordos:
                s = solicitacaoDAO.get(a.get_id_solicitacao())
                v = vagaDAO.get(s.get_id_vaga())

                now = datetime.datetime.now()
                if v.get_cpf_proprietario() == cpf and s.get_inicio() > now:
                    acordo = {"id_acordo": a.get_id_acordo(),
                                      "id_solicitacao": a.get_id_solicitacao(),
                                      "id_vaga": s.get_id_vaga(),
                                      "inicio": s.get_inicio(),
                                      "fim": s.get_fim()}
                    acordos_output.append(acordo)
        except:
            return None
        else:
            return acordos_output
Пример #2
0
    def insert_avaliacao(id_vaga, cpf_agente, avaliacao, comentario):
        vagaDAO = VagaDAO()
        vagaDAOdoc = VagaDAODoc()

        try:
            if avaliacao:
                vaga = vagaDAO.get(id_vaga)
                vaga.set_liberada(avaliacao)
                vagaDAO.update(vaga)

            vagaDoc = vagaDAOdoc.get(id_vaga)
            avaliacoes = vagaDoc.get_avaliacoes()

            novaAvaliacao = AvaliacaoDoc()
            novaAvaliacao.set_cpf_agente(cpf_agente)
            novaAvaliacao.set_comentario(comentario)
            novaAvaliacao.set_resultado(avaliacao)
            
            avaliacoes.append(novaAvaliacao)
            vagaDoc.set_avaliacoes(avaliacoes)
            vagaDAOdoc.update(vagaDoc)
        except Exception:
            return False
        else:
            return True
Пример #3
0
    def list_by_location_and_time(user_cpf, inicio, fim, latitude, longitude):
        vagaDAO = VagaDAO()
        vagas_output = []
            
        try:
            vagas = vagaDAO.list_free_by_location_and_time(user_cpf, latitude, longitude, inicio, fim)
            
            for v in vagas:
                vaga = {"id_vaga": v.get_id_vaga(), "latitude": v.get_latitude(),
                                      "longitude": v.get_longitude(), "largura": v.get_largura(),
                                      "comprimento": v.get_comprimento(), "preco": v.get_preco()}
                
                vagas_output.append(vaga)
        except:
            return None, None

        if len(vagas_output):
            return vagas_output, True
        else:
            estacionamentoDAOGrafos = EstacionamentoDAOGrafos()
            estacionamentos = estacionamentoDAOGrafos.list_by_coordinates(latitude, longitude)
            estacionamentos_output = []

            for e in estacionamentos:
                estacionamento = {"nome": e.get_nome(), "latitude": e.get_latitude(),
                                                "longitude": e.get_longitude()}
                
                estacionamentos_output.append(estacionamento)

            return estacionamentos_output, False
Пример #4
0
    def insert(cpf, bairro, latitude, longitude, largura, comprimento, preco):
        vagaDAO = VagaDAO()   
        vaga = Vaga()

        vaga.set_cpf_proprietario(cpf)
        vaga.set_latitude(latitude)
        vaga.set_longitude(longitude)
        vaga.set_largura(largura)
        vaga.set_comprimento(comprimento)
        vaga.set_preco(preco)

        vagaDAODoc = VagaDAODoc()        
        vagaDoc = VagaDoc()

        vagaDAOGrafos = VagaDAOGrafos()
        vagaGrafos = VagaGrafos()
        vagaGrafos.set_bairro(bairro)
        vagaGrafos.set_latitude(latitude)
        vagaGrafos.set_longitude(longitude)

        try:
            id_vaga = vagaDAO.insert(vaga)

            vagaDoc.set_id_vaga(id_vaga)
            vagaDAODoc.insert(vagaDoc)

            vagaGrafos.set_id_vaga(id_vaga)
            vagaDAOGrafos.insert(vagaGrafos)
        except:
            return False
        else:
            return True
Пример #5
0
    def get_nota_media(cpf, tipo_usuario):
        acordoDao = AcordoDAO()
        solicitacaoDao = SolicitacaoDAO()
        acordoDAODoc = AcordoDAODoc()

        soma_nota = 0
        qtde_notas = 0

        if tipo_usuario == "MOTORISTA":
            try:
                acordos = acordoDao.list()

                for a in acordos:
                    s = solicitacaoDao.get(a.get_id_solicitacao())

                    now = datetime.datetime.now()
                    if s.get_cpf_motorista() == cpf and s.get_fim() < now:
                        nota = acordoDAODoc.get(
                            a.get_id_acordo()).get_nota_PM()
                        if nota is not None:
                            soma_nota += nota
                            qtde_notas += 1
            except:
                return None
        elif tipo_usuario == "PROPRIETARIO":
            try:
                acordos = acordoDao.list()
                vagaDao = VagaDAO()

                for a in acordos:
                    s = solicitacaoDao.get(a.get_id_solicitacao())
                    v = vagaDao.get(s.get_id_vaga())

                    now = datetime.datetime.now()
                    if v.get_cpf_proprietario() == cpf and s.get_fim() < now:
                        nota = acordoDAODoc.get(
                            a.get_id_acordo()).get_nota_MP()
                        if nota is not None:
                            soma_nota += nota
                            qtde_notas += 1
            except:
                return None

        if qtde_notas:
            return soma_nota / qtde_notas
        else:
            return -1
Пример #6
0
    def insert_nota_to_proprietario(id_acordo, nota):
        acordoDAO = AcordoDAO()
        vagaDAO = VagaDAO()
        solicitacaoDAO = SolicitacaoDAO()

        solicitacao = solicitacaoDAO.get(acordoDAO.get(id_acordo).get_id_solicitacao())
        vaga = vagaDAO.get(solicitacao.get_id_vaga())
        acordoDAODoc = AcordoDAODoc()

        try:
            acordoDoc = acordoDAODoc.get(id_acordo)
            acordoDoc.set_nota_MP(nota)
            acordoDAODoc.update(acordoDoc, vaga.get_cpf_proprietario(), solicitacao.get_cpf_motorista(), solicitacao.get_id_vaga())
        except:
            return False
        else:
            return True