示例#1
0
文件: hotel.py 项目: fslima/P2LOO
	def menu(self):	
		self.c = Cliente(None, 0, None)
		self.q = Quarto(0, None)
		self.r = Reserva(None, None, None, None)
		self.h = Hospedagem(None, None, None)
		op=0
		while op != 5:
			print ""
			print ""
			print "Hotel LOO-IFF"
			print ""
			print "1 - Clientes"
			print "2 - Quartos"
			print "3 - Reservas"
			print "4 - Hospedagens"
			print "5 - Sair"
			op = input("Digite sua opção: ")
			if op == 1:
				self.menuClientes()
			if op == 2:
				self.menuQuartos()
			if op == 3:
				self.menuReservas()
			if op == 4:
				self.menuHospedagens()
示例#2
0
 def grava_id(self, id_web):
     if self.tabela == 3:
         Cliente(self.pk1, self.pk2).grava_id(self.pk1, self.pk2, id_web)
     elif self.tabela == 4:
         Agenda(self.pk1).grava_id(self.pk1, id_web)
     elif self.tabela == 5:
         Reserva(self.pk1).grava_id(self.pk1, id_web)
示例#3
0
 def get_idweb(self):
     if self.tabela == 3:
         return Cliente(self.pk1, self.pk2).id_web
     elif self.tabela == 4:
         return Agenda(self.pk1).id_web
     elif self.tabela == 5:
         return Reserva(self.pk1).id_web
     elif self.tabela == 6:
         return 0
示例#4
0
 def get_json(self):
     if self.tabela == 3:
         return Cliente(self.pk1, self.pk2).parse_to_json()
     elif self.tabela == 4:
         return Agenda(self.pk1).parse_to_json()
     elif self.tabela == 5:
         return Reserva(self.pk1).parse_to_json()
     elif self.tabela == 6:
         return Jornada(self.pk1).parse_to_json()
     elif self.tabela == 7:
         return Pontuacao(self.pk1, self.pk2).parse_to_json()
示例#5
0
	def testaAinit(self):		
		self.r.num |should| equal_to(1)
		self.r.cliente.nome |should| equal_to('Thiago Neves')
		self.r.quarto.num |should| equal_to(202)
		self.r.dtinicio |should| equal_to(date(2011, 10, 15))
		self.r.dtfim |should| equal_to(date(2011, 10, 20))
		self.r = Reserva(self.q, Cliente('Ronaldinho Gaucho', '98765478909', '2167549876'), date(2011, 10, 22), date(2011, 10, 29))
		self.r.num |should| equal_to(2)
		self.r.cliente.nome |should| equal_to('Ronaldinho Gaucho')
		self.r.quarto.num |should| equal_to(202)
		self.r.dtinicio |should| equal_to(date(2011, 10, 22))
		self.r.dtfim |should| equal_to(date(2011, 10, 29))
示例#6
0
 def reservar(self, voo, classe):
     for index in self.voos_disponiveis:
         if index == self.voos_disponiveis[voo-1]:
             res = Reserva(index.origem, index.destino, classe, *index.escalas)
             self.ag.realizar_reserva(res)
             return res.num_reserva
示例#7
0
sala3.nome = 'SALA 3 - Sala de Reuniões'
sala3.situacao = 'Ocupada'
sala3.func = func

sala4 = Sala()
sala4.nome = 'SALA 4 - Sala de Reuniões'
sala4.situacao = 'Ocupada'
sala4.func = func

teste = Dia()
teste.definir_hora = '8:00 às 9h00'
teste.definir_dia = 15
teste.definir_mes = 'Agosto'
teste.sala = sala

reserva = Reserva()
reserva.adicionar_reservas(sala.nome, teste.mostra_dia, teste.mostra_mes,
                           teste.mostra_hora, teste.sala.func.socio.nome)
reserva.adicionar_reservas(sala2.nome, teste.mostra_dia, teste.mostra_mes,
                           teste.mostra_hora, teste.sala.func.socio.nome)
reserva.adicionar_reservas(sala3.nome, teste.mostra_dia, teste.mostra_mes,
                           teste.mostra_hora, teste.sala.func.socio2.nome)
reserva.remover_reserva(sala3.nome, teste.mostra_dia, teste.mostra_mes,
                        teste.mostra_hora, teste.sala.func.socio2.nome)
reserva.adicionar_reservas(sala4.nome, teste.mostra_dia, teste.mostra_mes,
                           teste.mostra_hora, teste.sala.func.socio2.nome)
# reserva.troca_horario_sala('SALA 4 - Sala de Reuniões')

# reserva.troca_sala_socio('Lucas','Pedro', 'SALA 4 - Sala de Reuniões')

reserva.exibir_reservas()
示例#8
0
	def setUp(self):
		self.c = Cliente('Thiago Neves', '12369978909', '2299019866')
		self.q = Quarto(202, 'Master')
		self.h = Hospedagem(self.q, self.c, date(2011, 07, 10))
		self.r = Reserva(None, None, None, None)
示例#9
0
class TestaHospedagem(unittest.TestCase):
	
	def setUp(self):
		self.c = Cliente('Thiago Neves', '12369978909', '2299019866')
		self.q = Quarto(202, 'Master')
		self.h = Hospedagem(self.q, self.c, date(2011, 07, 10))
		self.r = Reserva(None, None, None, None)

	def testaAinit(self):		
		self.h.num |should| equal_to(1)
		self.h.cliente.nome |should| equal_to('Thiago Neves')
		self.h.quarto.num |should| equal_to(202)
		self.h.dtinicio |should| equal_to(date.today())
		self.h.dtfim |should| equal_to(date(2011, 07, 10))
		self.h.vlextra |should| equal_to(0.00)
		self.h.situacao |should| equal_to('Em Aberto')
		self.h = Hospedagem(self.q, Cliente('Ronaldinho Gaucho', '98765478909', '2167549876'), date(2011, 7, 11))
		self.h.num |should| equal_to(2)
		self.h.cliente.nome |should| equal_to('Ronaldinho Gaucho')
		self.h.quarto.num |should| equal_to(202)
		self.h.dtinicio |should| equal_to(date.today())
		self.h.dtfim |should| equal_to(date(2011, 07, 11))
		self.h.vlextra |should| equal_to(0.00)
		self.h.situacao |should| equal_to('Em Aberto')

	def testaBcheckIn(self):
		self.c.cadCli('Anderson Silva', '12369978909', '2299019866')
		self.q.cadQuarto(203, 'Simples')
		self.h.checkIn(self.q, 203, self.c, 4, date(2011, 07, 10))
		self.h.lista[0].num |should| equal_to(4)
		self.h.lista[0].quarto.num |should| equal_to(203)
		self.q.lista[0].situacao |should| equal_to('Ocupado')
		self.c.lista[0].qtdHosp |should| equal_to(1)
		self.h.lista[0].cliente.nome |should| equal_to('Anderson Silva')
		self.h.lista[0].dtinicio |should| equal_to(date.today())
		self.h.lista[0].dtfim |should| equal_to(date(2011, 07, 10))
		self.h.lista[0].situacao |should| equal_to('Em Aberto')
		self.h.lista[0].vlextra |should| equal_to(0.00)
		self.c.cadCli('Lionel Messi', '12369978909', '2299019866')
		self.q.cadQuarto(202, 'Master')
		self.h.checkIn(self.q, 202, self.c, 5, date(2011, 07, 5))
		self.h.lista[1].num |should| equal_to(5)
		self.h.lista[1].quarto.num |should| equal_to(202)
		self.q.lista[1].situacao |should| equal_to('Ocupado')
		self.c.lista[1].qtdHosp |should| equal_to(1)
		self.h.lista[1].cliente.nome |should| equal_to('Lionel Messi')
		self.h.lista[1].dtinicio |should| equal_to(date.today())
		self.h.lista[1].dtfim |should| equal_to(date(2011, 07, 5))
		self.h.lista[1].situacao |should| equal_to('Em Aberto')
		self.h.lista[1].vlextra |should| equal_to(0.00)

	def testaBcheckOut(self):
		self.h.checkOut(self.h, 4, self.q, 58.95)
		self.h.lista[0].num |should| equal_to(4)
		self.h.lista[0].quarto.num |should| equal_to(203)
		self.q.buscarQuarto(self.q, 203).situacao |should| equal_to('Livre')
		self.h.lista[0].cliente.nome |should| equal_to('Anderson Silva')
		self.h.lista[0].dtfim |should| equal_to(date.today())
		self.h.lista[0].situacao |should| equal_to('Encerrada')
		self.h.lista[0].vlextra |should| equal_to(58.95)
		self.h.lista[0].vltotal |should| equal_to(148.95) #valor de 1 diaria de 90,00(quarto simples) + o gasto no frigobar (58.95)
		
	def testaCnumDeDiarias(self):
		self.h.numDeDiarias(date(2011, 7, 4), date(2011, 7, 4)) |should| equal_to(1)
		self.h.numDeDiarias(date(2011, 7, 4), date(2011, 7, 5)) |should| equal_to(1)
		self.h.numDeDiarias(date(2011, 7, 4), date(2011, 7, 14)) |should| equal_to(10)
		self.h.numDeDiarias(date(2011, 7, 4), date(2011, 10, 12)) |should| equal_to(100)

	def testaElistarHospedagens(self):
		self.h.listarHospedagens(self.h) |should| equal_to([self.h.lista[0], self.h.lista[1]])

	def testaGlistarQuartosPorSituacao(self):
		self.h.listarHospedagensPorSituacao(self.h, 'Em Aberto') |should| equal_to([self.h.lista[1]])
		self.h.listarHospedagensPorSituacao(self.h, 'Encerrada') |should| equal_to([self.h.lista[0]])

	def testaHcancelarHospedagem(self):	
		self.h.cancelarHospedagem(self.h, 9) |should| equal_to("\n\nA Hospedagem informada não Existe")
		self.h.cancelarHospedagem(self.h, 4) |should| equal_to("\n\nHospedagem Cancelada com Sucesso")
		self.h.cancelarHospedagem(self.h, 4) |should| equal_to("\n\nA Hospedagem informada não Existe")

	def testaIvalidarReserva(self):
		self.h.validarHospedagem(self.h, self.r, self.q, 210, self.c, 4, date(2011, 11, 15)) |should| equal_to("Quarto nao Cadastrado")
		self.h.validarHospedagem(self.h, self.r, self.q, 203, self.c, 9, date(2011, 11, 15)) |should| equal_to("Cliente nao Cadastrado")
		self.h.validarHospedagem(self.h, self.r, self.q, 202, self.c, 4, date(2011, 11, 15)) |should| equal_to("Quarto Ocupado")
		self.h.validarHospedagem(self.h, self.r, self.q, 203, self.c, 4, date(2011, 7, 2)) |should| equal_to("Data de Saida deve ser maior do que a de hoje")
		self.r.cadReserva(self.q, 203, self.c, 5, date(2011, 7, 10), date(2011, 7, 15))
		self.h.validarHospedagem(self.h, self.r, self.q, 203, self.c, 4, date(2011, 7, 10)) |should| equal_to("Existe a seguinte reserva para esse Quarto: \n\n"+str(self.r.lista[0]))
		self.h.validarHospedagem(self.h, self.r, self.q, 203, self.c, 4, date(2011, 7, 15)) |should| equal_to("Existe a seguinte reserva para esse Quarto: \n\n"+str(self.r.lista[0]))
		self.h.validarHospedagem(self.h, self.r, self.q, 203, self.c, 4, date(2011, 7, 16)) |should| equal_to("Existe a seguinte reserva para esse Quarto: \n\n"+str(self.r.lista[0]))
		self.h.validarHospedagem(self.h, self.r, self.q, 203, self.c, 4, date(2011, 7, 9)) |should| equal_to("Checkin Concluido")
		
	def testaJcheckOutDeClienteVip(self):
		self.h.checkOut(self.h, 12, self.q, 58.95)
		self.h.checkIn(self.q, 203, self.c, 4, date(2011, 07, 10)) #3º hospedagem do cliente 'Anderson Sliva'
		self.h.checkOut(self.h, 14, self.q, 58.95)
		self.h.checkIn(self.q, 203, self.c, 4, date(2011, 07, 10)) #4º hospedagem do cliente 'Anderson Sliva'
		self.h.checkOut(self.h, 15, self.q, 58.95)
		self.h.checkIn(self.q, 203, self.c, 4, date(2011, 07, 10)) #5º hospedagem do cliente 'Anderson Sliva' *****VIROU VIP******
		self.h.checkOut(self.h, 16, self.q, 90.00)
		self.h.lista[4].num |should| equal_to(16)
		self.h.lista[4].quarto.num |should| equal_to(203)
		self.q.buscarQuarto(self.q, 203).situacao |should| equal_to('Livre')
		self.h.lista[4].cliente.nome |should| equal_to('Anderson Silva')
		self.h.lista[4].dtfim |should| equal_to(date.today())
		self.h.lista[4].situacao |should| equal_to('Encerrada')
		self.h.lista[4].vlextra |should| equal_to(90.00)
		self.h.lista[4].vltotal |should| equal_to(162.00) #1 diaria de 90,00 + frigobar (90.00) - 10% CLIENTE VIP (18.00)
		self.h.checkIn(self.q, 203, self.c, 4, date(2011, 07, 10)) #6º hospedagem do cliente 'Anderson Sliva'
		self.h.checkOut(self.h, 17, self.q, 30.00)
		self.h.lista[5].num |should| equal_to(17)
		self.h.lista[5].quarto.num |should| equal_to(203)
		self.q.buscarQuarto(self.q, 203).situacao |should| equal_to('Livre')
		self.h.lista[5].cliente.nome |should| equal_to('Anderson Silva')
		self.h.lista[5].dtfim |should| equal_to(date.today())
		self.h.lista[5].situacao |should| equal_to('Encerrada')
		self.h.lista[5].vlextra |should| equal_to(30.00)
		self.h.lista[5].vltotal |should| equal_to(108.00) #1 diaria de 90,00 + frigobar (30.00) - 10% CLIENTE VIP (12.00)
示例#10
0
def gerenciarReservas():
    escolha = -1
    while escolha != 0:
        print('-------------------------------------------------------')
        print('Digite a opcção desejada:')
        print('1.Reservar')
        print('2.Consultar reserva')
        print('3.Remover reserva')
        print('0. Retornar ao menu principal')
        print('-------------------------------------------------------')
        escolha = int(input(''))
        #Retorna ao menu principal
        if (escolha == 0):
            return
        #Realiza a reserva
        elif (escolha == 1):
            numVoo = int(
                input('Digite o numero do voo a ser realizado a reserva: '))
            voo = sistema.getVoo(numVoo)
            if (voo == 'null'):
                print('Não há voo com esse numero!')
            elif (isinstance(voo, VooComercial)):
                nome = input('Digite o nome do passageiro: ')
                cpf = int(input('Digite o cpf: '))
                tipoComida = input('Digite o tipo de comida: ')
                carga = 0
                classe = int(
                    input(
                        'Selecione a classe: \n1.Primeirca Classe\n2.ClasseEconomica\n'
                    ))
                if (classe == 1):
                    classe = 'Primeira classe'
                else:
                    classe = 'Classe econômica'
                novaReserva = Reserva(nome, cpf, tipoComida, carga, classe)
                retorno = voo.adicionarReserva(novaReserva)
                print(retorno[0])
                if (retorno[1] == 1):
                    if (input('') != 'S'):
                        print('Reserva cancelada')
                        sistema.removeReserva(cpf)
                    else:
                        print('Reserva realizada com sucesso!')

            elif (isinstance(voo, VooFretado)):
                nome = input('Digite o nome do passageiro: ')
                cpf = int(input('Digite o cpf: '))
                tipoComida = input('Digite o tipo de comida: ')
                carga = 0
                classe = ''
                novaReserva = Reserva(nome, cpf, tipoComida, carga, classe)
                print(voo.adicionarReserva(novaReserva))
            else:
                nome = input('Digite o nome do solicitante: ')
                cpf = int(input('Digite o cpf: '))
                tipoComida = ''
                carga = int(input('Digite o peso da carga: '))
                classe = ''
                novaReserva = Reserva(nome, cpf, tipoComida, carga, classe)
                print(voo.adicionarReserva(novaReserva))
        #Consulta reserva
        elif (escolha == 2):
            reserva = sistema.getReserva(int(input('Digite o cpf: \n')))
            if (reserva == 0):
                print('Não ha reserva ligada a esse cpf')
            else:
                print(
                    '-------------------------------------------------------')
                print('Nome: ', reserva[0].nome)
                print('Cpf: ', reserva[0].cpf)
                if (reserva[1] == 'Voo de transporte'):
                    print('Peso da carga: ', reserva[0].carga)
                    precoTabela = 500
                    preco = precoTabela * (reserva[0].carga /
                                           reserva[2].getCargaTotal())
                    print('Preco da reserva: ', preco)

                elif (reserva[1] == 'Voo Fretado'):
                    print('Tipo de comida: ', reserva[0].tipoDeComida)
                    precoTabela = 500
                    preco = precoTabela
                    preco -= precoTabela * reserva[2].capMax * 4
                    distanciaPercorrida = randint(100, 500)
                    preco += 20 * distanciaPercorrida
                    print('Preco da reserva: ', preco)
                else:
                    print('Tipo de comida: ', reserva[0].tipoDeComida)
                    precoTabela = 100
                    preco = precoTabela
                    if (reserva[2].capMaxPrimeiraClasse +
                            reserva[2].capMaxClasseEconomica > 100):
                        preco -= precoTabela * 0.15
                    if (reserva[0].tipoDeComida == 'sem gluten'
                            or reserva[0].tipoDeComida == 'vegetariana'):
                        preco += precoTabela * 0.15
                    if (reserva[0].tipoDePassageiro == 'Primeira classe'):
                        preco += precoTabela
                    print('Preco da reserva: ', preco)

                print('Tipo de Voo: ', reserva[1])
                print('Numero do Voo: ', reserva[2].numVoo)

        #Remove uma reserva
        elif (escolha == 3):
            if (sistema.removeReserva(
                    int(input('Digite o cpf ligado a reserva: ')))):
                print('Reserva removida com sucesso')
            else:
                print('Nenhuma reserva ligada a esse cpf')
        #Opção Invalida
        else:
            print('-------------------------------------------------------')
            print('Digite uma opção válida!')
示例#11
0
sala3 = Sala()
sala3.nome = 'SALA 3 - Sala de Reuniões'
sala3.situacao = 'Ocupada'
sala3.func = func

sala4 = Sala()
sala4.nome = 'SALA 4 - Sala de Reuniões'
sala4.situacao = 'Ocupada'
sala4.func = func

teste = Dia()
teste.definir_hora = '8:00 às 9h00'
teste.definir_dia = 15
teste.definir_mes = 'Agosto'
teste.sala = sala

teste2 = Dia()
teste2.definir_hora = '15h00 às 18h00'
teste2.definir_dia = 16
teste2.definir_mes = 'Setembro'
teste2.sala = sala

reserva = Reserva()

reserva.adicionar_reservas(sala.nome, teste.mostra_dia, teste.mostra_mes,
                           teste.mostra_hora, teste.sala.func.socio.nome)
reserva.adicionar_reservas(sala2.nome, teste.mostra_dia, teste.mostra_mes,
                           teste2.mostra_hora, teste.sala.func.socio2.nome)
reserva.troca_sala_socio('Lucas', 'João', 'SALA 2 - Sala de Reuniões')
reserva.exibir_reservas()
示例#12
0
	def setUp(self):
		self.c = Cliente('Thiago Neves', '12369978909', '2299019866')
		self.q = Quarto(202, 'Master')
		self.r = Reserva(self.q, self.c, date(2011, 10, 15), date(2011, 10, 20))
示例#13
0
class TestaReserva(unittest.TestCase):
	
	def setUp(self):
		self.c = Cliente('Thiago Neves', '12369978909', '2299019866')
		self.q = Quarto(202, 'Master')
		self.r = Reserva(self.q, self.c, date(2011, 10, 15), date(2011, 10, 20))

	def testaAinit(self):		
		self.r.num |should| equal_to(1)
		self.r.cliente.nome |should| equal_to('Thiago Neves')
		self.r.quarto.num |should| equal_to(202)
		self.r.dtinicio |should| equal_to(date(2011, 10, 15))
		self.r.dtfim |should| equal_to(date(2011, 10, 20))
		self.r = Reserva(self.q, Cliente('Ronaldinho Gaucho', '98765478909', '2167549876'), date(2011, 10, 22), date(2011, 10, 29))
		self.r.num |should| equal_to(2)
		self.r.cliente.nome |should| equal_to('Ronaldinho Gaucho')
		self.r.quarto.num |should| equal_to(202)
		self.r.dtinicio |should| equal_to(date(2011, 10, 22))
		self.r.dtfim |should| equal_to(date(2011, 10, 29))

	def testaBcadReserva(self):
		self.c.cadCli('Anderson Silva', '12369978909', '2299019866')
		self.q.cadQuarto(203, 'Simples')
		self.r.cadReserva(self.q, 203, self.c, 4, date(2011, 10, 15), date(2011, 10, 20))
		self.r.lista[0].num |should| equal_to(4)
		self.r.lista[0].cliente.nome |should| equal_to('Anderson Silva')
		self.r.lista[0].quarto.num |should| equal_to(203)
		self.r.lista[0].dtinicio |should| equal_to(date(2011, 10, 15))	
		self.r.lista[0].dtfim |should| equal_to(date(2011, 10, 20))
		self.r.lista |should| have(1).itens
		self.c.cadCli('Lionel Messi', '12369978909', '2299019866')
		self.r.cadReserva(self.q, 203, self.c, 5, date(2011, 10, 22), date(2011, 10, 29))
		self.r.lista[1].num |should| equal_to(5)
		self.r.lista[1].cliente.nome |should| equal_to('Lionel Messi')
		self.r.lista[1].quarto.num |should| equal_to(203)
		self.r.lista[1].dtinicio |should| equal_to(date(2011, 10, 22))	
		self.r.lista[1].dtfim |should| equal_to(date(2011, 10, 29))
		self.r.lista |should| have(2).itens
		
	def testaCvalidarReserva(self):
		self.r.validarReserva(self.r, self.q, 203, self.c, 4, date(2011, 11, 12), date(2011, 11, 15)) |should| equal_to("Reserva Cadastrada")
		self.r.validarReserva(self.r, self.q, 203, self.c, 4, date(2011, 11, 12), date(2011, 11, 15)) |should| equal_to("Já existe a seguinte reserva para esse Quarto: \n\n"+str(self.r.lista[2]))
		self.r.validarReserva(self.r, self.q, 203, self.c, 4, date(2011, 11, 13), date(2011, 11, 14)) |should| equal_to("Já existe a seguinte reserva para esse Quarto: \n\n"+str(self.r.lista[2]))
		self.r.validarReserva(self.r, self.q, 203, self.c, 4, date(2011, 11, 11), date(2011, 11, 16)) |should| equal_to("Já existe a seguinte reserva para esse Quarto: \n\n"+str(self.r.lista[2]))
		self.r.validarReserva(self.r, self.q, 203, self.c, 4, date(2011, 11, 11), date(2011, 11, 13)) |should| equal_to("Já existe a seguinte reserva para esse Quarto: \n\n"+str(self.r.lista[2]))
		self.r.validarReserva(self.r, self.q, 203, self.c, 4, date(2011, 11, 14), date(2011, 11, 16)) |should| equal_to("Já existe a seguinte reserva para esse Quarto: \n\n"+str(self.r.lista[2]))
		self.r.validarReserva(self.r, self.q, 210, self.c, 4, date(2011, 11, 12), date(2011, 11, 15)) |should| equal_to("Quarto nao Cadastrado")
		self.r.validarReserva(self.r, self.q, 203, self.c, 20, date(2011, 11, 12), date(2011, 11, 15)) |should| equal_to("Cliente nao Cadastrado")
		self.r.validarReserva(self.r, self.q, 203, self.c, 4, date(2011, 11, 18), date(2011, 11, 15)) |should| equal_to("Data de Saida deve ser maior do que a Inicial")
		
	def testaDcancelarReserva(self):	
		self.r.cancelarReserva(self.r, 9) |should| equal_to("\n\nA Reserva informada não Existe")
		self.r.cancelarReserva(self.r, 4) |should| equal_to("\n\nReserva Cancelada com Sucesso")
		self.r.cancelarReserva(self.r, 4) |should| equal_to("\n\nA Reserva informada não Existe")

	def testaElistarReservas(self):
		self.r.listarReservas(self.r) |should| equal_to([self.r.lista[0], self.r.lista[1]])
		self.r.cancelarReserva(self.r, 7)
		self.r.listarReservas(self.r) |should| equal_to([self.r.lista[0]])

	def testaFlistarReservasPorPeriodo(self):
		self.r.listarReservasPorPeriodo(self.r, date(2011, 10, 20), date(2011, 10, 21)) |should| equal_to([])
		self.r.listarReservasPorPeriodo(self.r, date(2011, 10, 22), date(2011, 10, 29)) |should| equal_to([self.r.lista[0]])
		self.r.listarReservasPorPeriodo(self.r, date(2011, 10, 23), date(2011, 10, 28)) |should| equal_to([self.r.lista[0]])
		self.r.listarReservasPorPeriodo(self.r, date(2011, 10, 21), date(2011, 10, 30)) |should| equal_to([self.r.lista[0]])
		self.r.listarReservasPorPeriodo(self.r, date(2011, 10, 21), date(2011, 10, 28)) |should| equal_to([self.r.lista[0]])
		self.r.listarReservasPorPeriodo(self.r, date(2011, 10, 22), date(2011, 10, 30)) |should| equal_to([self.r.lista[0]])
示例#14
0
文件: hotel.py 项目: fslima/P2LOO
class Hotel(object):

	def menu(self):	
		self.c = Cliente(None, 0, None)
		self.q = Quarto(0, None)
		self.r = Reserva(None, None, None, None)
		self.h = Hospedagem(None, None, None)
		op=0
		while op != 5:
			print ""
			print ""
			print "Hotel LOO-IFF"
			print ""
			print "1 - Clientes"
			print "2 - Quartos"
			print "3 - Reservas"
			print "4 - Hospedagens"
			print "5 - Sair"
			op = input("Digite sua opção: ")
			if op == 1:
				self.menuClientes()
			if op == 2:
				self.menuQuartos()
			if op == 3:
				self.menuReservas()
			if op == 4:
				self.menuHospedagens()

	def menuClientes(self):
		op=0
		while op != 3:
			print ""
			print ""
			print "Menu de Clientes"
			print ""
			print "1 - Cadastrar Cliente"
			print "2 - Relatórios de Clientes"
			print "3 - Voltar"
			op = input("Digite sua opção: ")
			if op == 1:
				self.cadCli()
			if op == 2:
				self.menuRelCli()

	def cadCli(self):
		print ""
		print ""
		print "Cadastros de Clientes"
		print ""
		nome = raw_input("Nome: ")
		cpf = raw_input("CPF: ")
		tel = raw_input("Telefone: ")
		self.c.cadCli(nome, cpf, tel)
			
	def menuRelCli(self):
		op=0
		while op != 3:
			print ""
			print ""
			print "Relatorios de Clientes"
			print "";
			print "1 - Lista Cliente"
			print "2 - Lista de Clientes VIPs"
			print "3 - Voltar";
			op = input("Digite sua opção: ")
			if op == 1:
				self.relCli()
			if op == 2:
				self.relCliVip()

	def relCli(self):
		print ""
		print "Lista de Clientes"
		print "";
		for i in range(0, len(self.c.lista)):
			print self.c.listarClientes(self.c)[i]

	def relCliVip(self):
		print ""
		print "Lista de Clientes VIP"
		print "";
		for i in range(0, len(self.c.listarClientesVip(self.c))):
			print self.c.listarClientesVip(self.c)[i]

	def menuQuartos(self):
		op=0
		while op != 3:
			print ""
			print ""
			print "Menu de Quartos"
			print ""
			print "1 - Cadastrar Quarto"
			print "2 - Relatórios de Quartos"
			print "3 - Voltar"
			op = input("Digite sua opção: ")
			if op == 1:
				self.cadQuarto()
			if op == 2:
				self.menuRelQuartos()

	def cadQuarto(self):
		tp = 0
		print ""
		print ""
		print "Cadastros de Quartos"
		print ""
		num = input("Numero: ")
		while tp != 1 and tp != 2 and tp != 3:
			print "Tipo do Quarto:"
			print "1 - Simples"
			print "2 - Casal"
			print "3 - Master"
			tp = input("Escolha o Tipo do Quarto: ")
			if tp == 1:
				tipo = 'Simples'
			if tp == 2:
				tipo = 'Casal'
			if tp == 3:
				tipo = 'Master'
		print ""
		print self.q.cadQuarto(num, tipo)

	def menuRelQuartos(self):
		op=0
		while op != 4:
			print ""
			print ""
			print "Relatorios de Quartos"
			print "";
			print "1 - Lista Quartos"
			print "2 - Lista de Quartos por Tipo"
			print "3 - Lista de Quartos por Ocupacao";
			print "4 - Voltar";
			op = input("Digite sua opção: ")
			if op == 1:
				self.relQuartos()
			if op == 2:
				self.relQuartosPorTipo()
			if op == 3:
				self.relQuartosPorSituacao()

	def relQuartos(self):
		print ""
		print "Lista de Quartos"
		print "";
		for i in range(0, len(self.q.lista)):
			print self.q.listarQuartos(self.q)[i]

	def relQuartosPorTipo(self):
		tp = 0
		print ""
		print "Lista de Quartos por Tipo"
		print ""
		while tp != 1 and tp != 2 and tp != 3:
			print "Tipo do Quarto:"
			print "1 - Simples"
			print "2 - Casal"
			print "3 - Master"
			tp = input("Escolha o Tipo do Quarto: ")
			if tp == 1:
				tipo = 'Simples'
			if tp == 2:
				tipo = 'Casal'
			if tp == 3:
				tipo = 'Master'
		print ""
		print "Lista de Quartos (Tipo %s)" %tipo
		print ""
		for i in range(0, len(self.q.listarQuartosPorTipo(self.q, tipo))):
			print self.q.listarQuartosPorTipo(self.q, tipo)[i]

	def relQuartosPorSituacao(self):
		sit = 0
		print ""
		print "Lista de Quartos por Ocupacao"
		print ""
		while sit != 1 and sit != 2:
			print "Tipo do Quarto:"
			print "1 - Livre"
			print "2 - Ocupado"
			sit = input("Livre ou Ocupado? ")
			if sit == 1:
				situacao = 'Livre'
			if sit == 2:
				situacao = 'Ocupado'
		print ""
		print "Lista de Quartos "+situacao+"s"
		print ""
		for i in range(0, len(self.q.listarQuartosPorSituacao(self.q, situacao))):
			print self.q.listarQuartosPorSituacao(self.q, situacao)[i]


	def menuReservas(self):
		op=0
		while op != 4:
			print ""
			print ""
			print "Menu de Reservas"
			print ""
			print "1 - Cadastrar Reserva"
			print "2 - Relatórios de Reservas"
			print "3 - Cancelamento de Reserva"
			print "4 - Voltar"
			op = input("Digite sua opção: ")
			if op == 1:
				self.cadReserva()
			if op == 2:
				self.menuRelReservas()
			if op == 3:
				self.menuCancelarReservas()
	
	def cadReserva(self):
		print ""
		print ""
		print "Cadastros de Reservas"
		print ""
		nq = input("Nº do Quarto: ")
		nc = input("Codigo do Cliente: ")
		chegada = raw_input("Data da Chegada(ddMMaaaa): ")
		saida = raw_input("Data da Saída(ddMMaaaa): ")
		di = date(int(chegada[4:8]), int(chegada[2:4]), int(chegada[:2]))
		df = date(int(saida[4:8]), int(saida[2:4]), int(saida[:2]))
		print ""
		print self.r.validarReserva(self.r, self.q, nq, self.c, nc, di, df)

	def menuCancelarReservas(self):
		print ""
		print ""
		print "Cancelamento de Reservas"
		print ""
		nr = input("Nº da Reserva: ")
		print self.r.cancelarReserva(self.r, nr)

	def menuRelReservas(self):
		op=0
		while op != 3:
			print ""
			print ""
			print "Relatorios de Reservas"
			print "";
			print "1 - Lista Geral de Reservas"
			print "2 - Lista de Reservas por Data"
			print "3 - Voltar";
			op = input("Digite sua opção: ")
			if op == 1:
				self.relReservas()
			if op == 2:
				self.relReservasPorData()

	def relReservas(self):
		print ""
		print "Lista Geral de Reservas"
		print ""
		for i in range(0, len(self.r.listarReservas(self.r))):
			print self.r.listarReservas(self.r)[i]

	def relReservasPorData(self):
		print ""
		print "Lista de Reservas por Periodo"
		print ""
		chegada = raw_input("Data da Chegada(ddMMaaaa): ")
		saida = raw_input("Data da Saída(ddMMaaaa): ")
		di = date(int(chegada[4:8]), int(chegada[2:4]), int(chegada[:2]))
		df = date(int(saida[4:8]), int(saida[2:4]), int(saida[:2]))
		print ""
		print "Lista de Reservas por Periodo"
		print ""
		for i in range(0, len(self.r.listarReservasPorPeriodo(self.r, di, df))):
			print self.r.listarReservasPorPeriodo(self.r, di, df)[i]

	
	def menuHospedagens(self):
		op=0
		while op != 5:
			print ""
			print ""
			print "Menu de Hospedagens"
			print ""
			print "1 - CheckIn"
			print "2 - CheckOut"
			print "3 - Relatórios de Hospedagens"
			print "4 - Cancelamento de Hospedagens"
			print "5 - Voltar"
			op = input("Digite sua opção: ")
			if op == 1:
				self.checkIn()
			if op == 2:
				self.checkOut()
			if op == 3:
				self.menuRelHospedagens()
			if op == 4:
				self.menuCancelarHospedagens()
	
	def checkIn(self):
		print ""
		print ""
		print "CheckIn"
		print "Quartos Livres"
		print self.q.listarQuartosPorSituacao(self.q, 'Livre')
		print ""
		nq = input("Nº do Quarto: ")
		nc = input("Codigo do Cliente: ")
		saida = raw_input("Data da Saída(ddMMaaaa): ")
		df = date(int(saida[4:8]), int(saida[2:4]), int(saida[:2]))
		print ""
		print self.h.validarHospedagem(self.h, self.r, self.q, nq, self.c, nc, df)

	def checkOut(self):
		print ""
		print ""
		print "CheckOut"
		print "Hospedagens Em Aberto"
		print self.h.listarHospedagensPorSituacao(self.h, 'Em Aberto')
		print ""
		n = input("Nº da Hospedagem: ")
		vf = input("Valor Gasto no Frigobar: ")
		print ""
		print self.h.checkOut(self.h, n, self.q, vf)

	def menuCancelarHospedagens(self):
		print ""
		print ""
		print "Cancelamento de Hospedagem"
		print ""
		n = input("Nº da Hospedagem: ")
		print self.h.cancelarReserva(self.h, n)

	def menuRelHospedagens(self):
		op=0
		while op != 3:
			print ""
			print ""
			print "Relatorios de Hospedagens"
			print "";
			print "1 - Lista Geral de Hospedagens"
			print "2 - Lista de Reservas por Situacao"
			print "3 - Voltar";
			op = input("Digite sua opção: ")
			if op == 1:
				self.relHospedagens()
			if op == 2:
				self.relHospedagensPorSituacao()

	def relHospedagens(self):
		print ""
		print "Lista Geral de Hospedagens"
		print ""
		for i in range(0, len(self.h.listarHospedagens(self.h))):
			print self.h.listarHospedagens(self.h)[i]

	def relHospedagensPorSituacao(self):
		sit = 0
		print ""
		print "Lista de Hospedagens por Status"
		print ""
		while sit != 1 and sit != 2:
			print "Status:"
			print "1 - Em Aberto"
			print "2 - Encerrado"
			sit = input("Livre ou Ocupado? ")
			if sit == 1:
				situacao = 'Em Aberto'
			if sit == 2:
				situacao = 'Encerrada'
		print ""
		print "Lista de Hoespedagens "+situacao
		print ""
		for i in range(0, len(self.h.listarHospedagensPorSituacao(self.h, situacao))):
			print self.h.listarHospedagensPorSituacao(self.h, situacao)[i]
示例#15
0
class Painel(FloatLayout):
    layout = ObjectProperty(None)
    label1 = ObjectProperty(None)
    label2 = ObjectProperty(None)
    label3 = ObjectProperty(None)
    label4 = ObjectProperty(None)
    label5 = ObjectProperty(None)
    textinput1 = ObjectProperty(None)
    textinput2 = ObjectProperty(None)
    textinput3 = ObjectProperty(None)
    textinput4 = ObjectProperty(None)
    btn1 = ObjectProperty(None)
    lista = ObjectProperty(None)

    reservas = Reserva()
    confirm = 0

    def limpar_widget(self):
        self.lista.opacity = 0
        self.label1.opacity = 0
        self.label2.opacity = 0
        self.label3.opacity = 0
        self.label4.opacity = 0
        self.textinput1.opacity = 0
        self.textinput2.opacity = 0
        self.textinput3.opacity = 0
        self.textinput4.opacity = 0
        self.label5.opacity = 0
        self.btn1.opacity = 0
        self.textinput1.text = ""
        self.textinput2.text = ""
        self.textinput3.text = ""
        self.textinput4.text = ""

    def inserir(self):
        self.limpar_widget()
        #construindo o formulário de adicionar reserva
        self.label2.opacity = 1
        self.label3.opacity = 1
        self.label4.opacity = 1
        self.textinput2.opacity = 1
        self.textinput3.opacity = 1
        self.textinput4.opacity = 1
        self.label5.opacity = 1
        self.btn1.opacity = 1
        self.btn1.text = "Enviar"
        self.label5.text = 'Preencha todos os campos'
        self.confirm = 1

    def listar(self):
        self.limpar_widget()
        self.lista.opacity = 1
        self.lista.text = self.reservas.listar_reservas()

    def deletar(self):
        self.limpar_widget()
        self.label1.opacity = 1
        self.textinput1.opacity = 1
        self.btn1.text = 'Excluir'
        self.btn1.opacity = 1
        self.confirm = 2

    def atualizar(self):
        self.limpar_widget()
        self.label1.opacity = 1
        self.textinput1.opacity = 1
        self.btn1.text = 'Confirmar'
        self.btn1.opacity = 1
        self.confirm = 3

    def executar_tarefa(self):
        if (self.confirm == 1):
            if (self.textinput2.text == "" or self.textinput3.text == ""
                    or self.textinput4.text == ""):
                self.label5.text = 'Preencha todos os campos'
            else:
                self.label5.text = self.reservas.adicionar_reserva(
                    self.textinput2.text, self.textinput3.text,
                    self.textinput4.text)
                self.textinput2.text = ""
                self.textinput3.text = ""
                self.textinput4.text = ""
        elif (self.confirm == 2):
            if (self.textinput1.text == ""):
                self.label5.opacity = 1
                self.label5.text = 'Preencha o campo com a chave que deseja deletar'
            else:
                print('teste deletar')
                self.label5.text = self.reservas.deletar_reserva(
                    self.textinput1.text)
                self.label5.opacity = 1
                self.textinput1.text = ""
        elif (self.confirm == 3):
            self.label5.opacity = 1
            if (self.textinput1.text == ""):
                self.label5.text = 'Preencha o campo com a chave correta que deseja atualizar'
            else:
                r = self.reservas.retornar_reserva(self.textinput1.text)
                if (type(r) == str):
                    self.label5.text = r
                else:
                    self.label2.opacity = 1
                    self.label3.opacity = 1
                    self.label4.opacity = 1
                    self.textinput2.opacity = 1
                    self.textinput3.opacity = 1
                    self.textinput4.opacity = 1
                    '''
                    self.textinput2.text = r.dia
                    self.textinput3.text = r.horario
                    self.textinput4.text = r.valor
                    '''
                    self.label5.text = self.reservas.atualizar_reserva(
                        chave=self.textinput1.text,
                        dia=self.textinput2.text,
                        horario=self.textinput3.text,
                        valor=self.textinput4.text)