def pagar_ticket(nombre_plaza, parking, ticket, dinero): ok = False plaza = park_serv.search_plaza_by_name(parking, nombre_plaza) if (plaza != None): actual = datetime.now() min = (ceil((actual - ticket.fechaEntrada).total_seconds() / 60)) precio = min * plaza.coste if dinero >= precio: ok = True ticket.coste = precio ticket.cambio = round(dinero - precio, 2) return ok else: return ok
def calculo(pago, fail, precio_mostrar): if plz.get() != "" and matr.get() != "" and pin.get() != "": plaza = park_serv.search_plaza_by_name(parking, plz.get().upper()) tick = tick_serv.search_by_matricula(lista_tickets, matr.get().upper()) if plaza != None and tick != None and tick.pin == int(pin.get()): fail.set("") actual=datetime.now() min=(ceil((actual-tick.fechaEntrada).total_seconds()/60)) precio = min * plaza.coste precio_mostrar.set("El coste es:(€)\n"+str(round(precio,2))) else: fail.set("No se puede proceder con los datos aprotados, inténtelo de nuevo.") else: fail.set("No se puede proceder con los datos aprotados, inténtelo de nuevo.")
def retirar(): if plz.get() != "" and matr.get() != "" and pin.get() != "": plaza = park_serv.search_plaza_by_name(parking, plz.get().upper()) tick = tick_serv.search_by_matricula(lista_tickets, matr.get().upper()) if plaza != None and tick != None and dinero.get() >= 0: ok = tick_serv.pagar_ticket(plz.get().upper(),parking,tick, dinero.get()) if ok: park_serv.retirar_vehiculo(matr.get().upper(),plz.get().upper(),int(pin.get()),parking,lista_tickets) ticket = tick boton1 = tk.Button(frame_tick, text="Descargar ticket", font=LARGE_FONT, command=lambda :infoTick(ticket)).pack(pady=20) tick_serv.save_file(lista_tickets) park_serv.save_file(parking) else: ticketInf.set("La cantidad insertada no es suficiente")