def reservar(self):
     '''Función que realiza la reserva final'''
     persist = persistencia.PersistenciaP()
     funcion_imp = funcion.FuncionesPrincipales()
     funcion_d = func.FuncionesGui()
     if askyesno('Mensaje', '¿Está seguro que quiere hacer la reserva?'):
         self.reserva_pasajero = reserva.Reserva(self.pasajero, self.lugar,
                                                 self.cabina, self.vuelo,
                                                 self.cantidad_pasajeros)
         persist.save(str(self.pasajero.cedula), self.reserva_pasajero)
         funcion_imp.imprimir_comprobante(self.reserva_pasajero)
         mensaje_reserva = 'Ha hecho su reserva. Por favor, guarde el comprobante' \
                           ' y presente en la agencia de viajes para su posterior' \
                           ' confirmación. ¡Gracias por utilizar nuestro servicio!'
         showinfo('Confirmación', mensaje_reserva)
         funcion_d.deshabilitar_boton(self.btn_reservar)
Beispiel #2
0
    def reservar(self):
        '''Simulación de una reserva'''
        pantalla.Pantalla.limpiar_pantalla()
        edad_superior = 18
        self.pasajero = funcion.FuncionesPrincipales.crear_pasajero()
        if self.pasajero.edad <= edad_superior:
            print('Usted es menor de edad, no puede hacer la reserva.')
            input('Presione cualquier tecla para continuar...')
            return

        pantalla.Pantalla.limpiar_pantalla()
        inventario = funcion.FuncionesPrincipales.reservar_vuelo()

        if inventario == 0:
            print('Ha cancelado la reserva.')
            return
        else:
            inventario[1].max_pasajeros(self.pasajero)

        while True:
            pantalla.Pantalla.limpiar_pantalla()
            pantalla.Pantalla.mostrar_titulo('SELECCIONE SU VUELO')
            print('  Código' + 3 * '\t' + 'Transporte' + 3 * '\t' + 'Horario' +
                  4 * '\t' + 'Fecha' + 4 * '\t' + 'Estado')
            self.contador = 0  # contador de vuelos
            for vuelo in inventario[0].cant_vuelos:
                ahora = datetime.now()
                hora_actual = time(ahora.hour, ahora.minute, ahora.second)
                controlar_vuelo.ControlarVuelo.controlar_partida(
                    hora_actual, vuelo)
                print(str(self.contador + 1) + '. ' + str(vuelo) + '\n')
                self.contador = self.contador + 1

            while True:
                try:
                    self.opcion_menu = int(input('\nElija la opción: '))
                    self.vuelo = inventario[0].cant_vuelos[self.opcion_menu -
                                                           1]
                    if self.opcion_menu <= 0:
                        print('No válido')
                    else:
                        break
                except IndexError:
                    print('Fuera de rango')

            if self.vuelo.habilitado:
                self.reserva_pasajero = reserva.Reserva(
                    self.pasajero, inventario, self.vuelo)
                persistencia.PersistenciaP.save(str(self.pasajero.cedula),
                                                self.reserva_pasajero)
                pantalla.Pantalla.limpiar_pantalla()
                print('¡Ha hecho su reserva!')
                print(
                    'Imprima el comprobante y presente en la agencia para '
                    'su posterior confirmación.\n¡Gracias por su preferencia!')
                funcion.FuncionesPrincipales.imprimir_comprobante(
                    self.reserva_pasajero)
                input('\nPulse cualquier tecla para continuar...')
                break
            else:
                print('No puede hacer esta reserva, el vuelo ya partió.\n')
                input('Presione cualquier tecla para continuar...')