Beispiel #1
0
 def renovar_anual(self, tipo, cliente):
     if tipo == "anual":
         cliente_abono = cliente.abono
         cliente_abono.tipo = tipo
         cliente_abono.fecha_activacion = datetime.now()
         cliente_abono.fecha_cancelacion = self.sumar_fechas_meses(tipo)
         fact = factura(cliente_abono, 200)
         self.factura_repository.add_factura(fact)
         return True
     return False
Beispiel #2
0
    def crear_usuario_abonado_mensual(self, nombre, dni, tarjeta, vehiculo,
                                      tipo_bono):
        if tipo_bono == "mensual":
            #comprobamos que es del tipo turismo y hay plaza disponible
            if vehiculo.tipo == "turismo" and self.parking_service.plaza_turismo_disponible(
            ) != -1:
                #generamos un pin para el vehiculo que sera siempre el mismo
                vehiculo.pin = random.randrange(1000, 9999)
                #plaza que se le va a asignar al abonado
                plaza = self.parking_service.parking.lista_turismos[
                    self.parking_service.plaza_turismo_disponible()]
                #aqui ponemos la plaza en reservada y le asignamos el coche del cliente
                plaza.reservado = True
                plaza.vehiculo = vehiculo
                #al igual que al vehiculo le asignamos su plaza
                vehiculo.plaza = plaza
                #creamos al cliente
                c1 = cliente(vehiculo, dni, nombre, None)
                #creamos el abono
                cliente_abono = abono(c1, tarjeta, "mensual", datetime.now(),
                                      self.sumar_fechas_meses("mensual"))
                #le asignamos el abono al cliente
                c1.abono = cliente_abono

                #guardamos en nuestros repositorios
                self.vehiculo_repositorio.add_vehiculo(vehiculo)
                self.cliente_repositorio.add_cliente(c1)
                self.abono_repository.add_abono(cliente_abono)

            if vehiculo.tipo == "motocicleta" and self.parking_service.plaza_motocicleta_disponible(
            ) != -1:
                vehiculo.pin = random.randrange(1000, 9999)
                plaza = self.parking_service.parking.lista_motocicletas[
                    self.parking_service.plaza_motocicleta_disponible()]
                plaza.reservado = True
                vehiculo.plaza = plaza
                plaza.vehiculo = vehiculo
                c1 = cliente(vehiculo, dni, nombre, None)
                cliente_abono = abono(c1, tarjeta, "mensual", datetime.now(),
                                      self.sumar_fechas_meses("mensual"))
                c1.abono = cliente_abono
                self.vehiculo_repositorio.add_vehiculo(vehiculo)
                self.cliente_repositorio.add_cliente(c1)
                self.abono_repository.add_abono(cliente_abono)

            if vehiculo.tipo == "minusvalido" and self.parking_service.plaza_minusvalido_disponible(
            ) != -1:
                vehiculo.pin = random.randrange(1000, 9999)
                plaza = self.parking_service.parking.lista_minusvalidos[
                    self.parking_service.plaza_minusvalido_disponible()]
                plaza.reservado = True
                vehiculo.plaza = plaza
                plaza.vehiculo = vehiculo

                c1 = cliente(vehiculo, dni, nombre, None)
                cliente_abono = abono(c1, tarjeta, "mensual", datetime.now(),
                                      self.sumar_fechas_meses("mensual"))
                c1.abono = cliente_abono

                self.vehiculo_repositorio.add_vehiculo(vehiculo)
                self.cliente_repositorio.add_cliente(c1)
                self.abono_repository.add_abono(cliente_abono)
            #si cliente abono noe sta vacio esos ignifica e que en algun momento se ha creado en otro if
            if cliente_abono != None:
                #crea la factura
                fact = factura(cliente_abono, 25)
                #la guarda
                self.factura_repository.add_factura(fact)
                return True
        return