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
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