def renov(sol): ok, resl = abon_serv.renovar_abono(lista_abonos, lista_facturas, dni.get().upper(), tip_abon.get()) if ok: abon_serv.save_file(lista_abonos) fact_serv.save_file(lista_facturas) sol.set(resl)
def abono(sol): if dni.get() != "" and nom.get() != "" and apl.get() != "" and taj.get() != "" and mail.get() != "" and matrc.get() != "": fecha = date() cliente = client() resl, new_abono, factura = abon_serv.crear_abono(parking, tip_abon.get(),tip_park.get(),fecha,cliente) abon_serv.anyadir_abono(lista_abonos, lista_facturas, new_abono, factura) abon_serv.save_file(lista_abonos) fact_serv.save_file(lista_facturas) park_serv.save_file(parking) sol.set(resl) abono = new_abono boton1 = tk.Button(frame_tick, text="Descargar información del abono", font=LARGE_FONT, command=lambda :infoAbon(abono)).pack(pady=20) else: sol.set("Todos los campos deben estar rellenos")
def renovar_abono(listado_abonos, listado_facturas, dni, tipo_abo): ok = False res = "" abono = search_by_dni(listado_abonos, dni) if abono != None: ok = True mes, precio = tipo_abono(tipo_abo) abono.fechaFinal = (datetime.now() + datedelta.datedelta(months=mes)) abono.meses = mes abono.precio = precio factura = Factura(datetime.now(), abono.cliente, precio) fact_serv.add(listado_facturas, factura) res = "Se ha renovado el abono con éxito" else: res = "No nos consta un abono que esté contratado por una persona con ese DNI" return ok, res
from tkcalendar import * from tkinter import ttk from datetime import datetime from math import ceil from tkinter import messagebox import servicio.ParkingService as park_serv import servicio.AbonoService as abon_serv import servicio.ClienteService as clin_serv import servicio.TicketService as tick_serv import servicio.FacturaService as fact_serv from modelo.Parking import * from modelo.Cliente import * from modelo.Vehiculo import * lista_abonos = abon_serv.load_file() lista_tickets = tick_serv.load_file() lista_facturas = fact_serv.load_file() parking = park_serv.load_file() import os import servicio.AbonoService as serv_abo LARGE_FONT = ("Verdana", 10) NEGRITA = ("Verdana", 12, "bold") # Configuración de la raíz root = tk.Tk() root.geometry("900x800") def redirecc(root, nombre): root.destroy() os.system(f'python controlador/{nombre}.py')
def calculo(sol, anyo): if anyo.get() != "": total = fact_serv.facturacion_anyo(lista_facturas, int(anyo.get())) sol.set(total) else: sol.set("El año no puede estar vacío")
def anyadir_abono(listado_abonos, lista_facturas, abono, factura): repo.add(listado_abonos, abono) fact_serv.add(lista_facturas, factura)