-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.py
131 lines (97 loc) · 4.34 KB
/
script.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
import datetime
from tracemalloc import stop
from carro import Carro, VeiculoLocacao
from cliente import Cliente
from reserva import Reserva
def tela_inicial():
print("Bem vindo à locadora de carros ACME!\n")
print("-------------------------------------\n")
print("""
1. Cadastro de Cliente
2. Lista de carros disponíveis
3. Fazer Reserva
4. Detalhes de Reserva
5. Cadastro de Veículo de Locação
""")
opcao = int(input("Por favor, digite a opção desejada dentre as disponibilizadas acima: "))
escolha_usuario(opcao)
def opcao_voltar():
voltar = input("Gostaria de voltar para a nossa tela principal? Digite 'S' para sim e 'N' para não: ")
if voltar == "S" or "s":
tela_inicial()
elif voltar == "N" or "n":
print("""
A ACME RentACar deseja uma vida longa e próspera
""")
else:
print("""
Opção inválida, termination process begin
""")
def escolha_usuario(opcao):
if opcao == 1:
print("-------------------------------------\n")
print("-------Cadastro de Cliente-----------\n")
print("Olá, seja bem vinda à área de cadastro de cliente da ACME RentACar")
cliente = Cliente.cadastro_cliente()
cliente.detalhes()
Cliente.lista_clientes.append(cliente)
print("""
Muito obrigada por fazer o seu cadastro de cliente. Seja bem vinda à ACM RentACar!
Você está sendo redirecionada para o nosso painel de opções.
""")
return Cliente.lista_clientes, tela_inicial()
if opcao == 2:
print("""
Lista de carros disponíveis para locação:
""")
for carros in VeiculoLocacao.lista_carros:
carros.detalhes()
opcao_voltar()
elif opcao == 3:
lista_usuarios = []
for cliente in Cliente.lista_clientes:
lista_usuarios.insert(0, cliente.usuario)
print("""
Olá, seja bem vinda à área de reservas da ACME RentACar
""")
if VeiculoLocacao.lista_carros == []:
print("Sentimos muito, mas não há mais veículos disponíveis para locação")
else:
reserva = Reserva.requisitar_reserva()
Reserva.lista_reservas.append(reserva)
user = getattr(reserva, "usuario")
usuario_existente = next(cliente for cliente in Cliente.lista_clientes if cliente.usuario == user)
if usuario_existente.usuario == user:
carro_escolhido = int(input("Por favor, digite o código do carro escolhido: "))
carro_existente = next(carro for carro in VeiculoLocacao.lista_carros if carro.codigo_do_carro == carro_escolhido)
if carro_existente is not None:
nova_reserva = Reserva.montar_reserva(reserva.codigo_da_reserva,usuario_existente.usuario,carro_existente)
Reserva.lista_reservas.append(nova_reserva)
VeiculoLocacao.lista_carros.remove(carro_existente)
opcao_voltar()
else:
print("Dados do usuário escolhido não conferem. Por favor, tente novamente")
elif opcao == 4:
codigo_reserva_usr = int(input("Por favor, digite o código da sua reserva: "))
reserva_existente = next(reserva for reserva in Reserva.lista_reservas if reserva.codigo_da_reserva == codigo_reserva_usr)
if reserva_existente is not None:
Reserva.detalhes_reserva(reserva_existente)
else:
print("""
Não possuimos uma reserva com esse código. Você será redirecionado para a nossa tela inicial.
""")
tela_inicial()
elif opcao == 5:
print("-------------------------------------\n")
print("-------Cadastro de Veículo de Locação-----------\n")
print("Olá, seja bem vinda à área de cadastro de cliente da ACME RentACar")
veiculo = VeiculoLocacao.cadastro_carro()
veiculo.detalhes()
VeiculoLocacao.lista_carros.append(veiculo)
print("""
Veículo adicionado à nossa lista de locação.
Você está sendo redirecionada para o nosso painel de opções.
""")
return VeiculoLocacao.lista_carros, tela_inicial()
else:
print("Por favor, escolha uma opção entre 1 a 6: ")