コード例 #1
0
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)
コード例 #2
0
def renov(sol):
    if dni.get() != "" and nom.get() != "" and apl.get() != "" and taj.get(
    ) != "" and mail.get() != "":
        res = abon_serv.modificar_abonado(lista_abonos,
                                          dni.get().upper(), nom.get(),
                                          apl.get(), taj.get(), mail.get())
        sol.set(res)
        abon_serv.save_file(lista_abonos)
    else:
        sol.set("Todos los campos deben estar rellenos")
コード例 #3
0
def reservar(res):
    resp = ""

    if dni.get() != "" and matr.get() != "":
        resp = park_serv.depositar_vehiculo_abonado(dni.get().upper(),
                                                    matr.get().upper(),
                                                    lista_abonos, parking)
        res.set(resp)
        abon_serv.save_file(lista_abonos)
        park_serv.save_file(parking)
    else:
        res.set("Los campos debes estar rellenos")
コード例 #4
0
def abandonar(res):
    resp = ""
    try:
        if plz.get() != "" and matr.get() != "" and pin.get() != "":
            resp = park_serv.retirar_vehiculo_abonado(matr.get().upper(),
                                                      plz.get().upper(),
                                                      lista_abonos,
                                                      int(pin.get()), parking)
            res.set(resp)
            abon_serv.save_file(lista_abonos)
            park_serv.save_file(parking)
        else:
            res.set("Los campos debes estar rellenos")
    except ValueError:
        res.set("Solo se permiten números enteros para el pin.")
コード例 #5
0
def depositar_vehiculo_abonado(dni, matricula, lista_abonos, parking):
    res = ""
    abono = serv_abo.search_by_dni(lista_abonos, dni)
    if abono != None:
        if abono.fechaFinal >= datetime.now():
            if abono.fechaInicial <= datetime.now():
                if abono.cliente.vehiculo.matricula == matricula:
                    if abono.plaza.ocupado == False:
                        abono.plaza.ocupado = True
                        abono.plaza.vehiculo = abono.cliente.vehiculo
                        modifPlz(True, abono.cliente.vehiculo,
                                 abono.plaza.nombre, parking)
                        res += "El vehículo se ha aparcado con éxito.\n"
                        res += "Gracias por usar nuestros servicios."
                    else:
                        res += "Puede que se le haya olvidado, pero ya a aparcado."
                else:
                    res += "No se puede proceder con los datos aportados."
            else:
                res += "Todavía no ha entrado en vigor el abono, tiene que esperar a la fecha establecida"
        else:
            res += "Su abono a caducado, va a tener que renovarlo"
    else:
        res += "No se puede proceder con los datos aportados."
    return res
コード例 #6
0
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")
コード例 #7
0
def obt_fecha(lista_abonos):
    lista = []
    fallo = True
    faill=""
    soll=""
    fallo ,lista, faill, soll = abon_serv.obtener_lista_cad(lista_abonos,cal1.get_date()[0:2], cal1.get_date()[6:10])
    fail.set(faill)
    sol.set(soll)
    return fallo, lista
コード例 #8
0
def delet(sol):
    if dni.get() != "":
        if abon_serv.search_by_dni(lista_abonos, dni.get().upper()) != None:
            abon_serv.remove(
                lista_abonos,
                abon_serv.search_by_dni(lista_abonos,
                                        dni.get().upper()))
            sol.set("La acción de borrado ha concluido satisfactoriamente")
            abon_serv.save_file(lista_abonos)
        else:
            sol.set(
                "No nos consta un abono perteneciente a un cliente con ese DNI"
            )
    else:
        sol.set("Debe proporcionarnos el DNI")
コード例 #9
0
def retirar_vehiculo_abonado(matricula, nombre_plaza, lista_abonos, pin,
                             parking):
    res = ""
    abono = serv_abo.search_by_nombre_plaza(lista_abonos, nombre_plaza)
    if abono != None:
        if abono.fechaInicial <= datetime.now():
            if abono.cliente.vehiculo.matricula == matricula and abono.pin == pin:
                if abono.plaza.ocupado == True:
                    abono.plaza.ocupado = False
                    abono.plaza.vehiculo = None
                    modifPlz(False, None, abono.plaza.nombre, parking)
                    res += "El vehículo se ha retirado con éxito.\n"
                    res += "Gracias por usar nuestros servicios."
                else:
                    res += "Puede que se le haya olvidado, pero no ha guardado el vehículo."
            else:
                res += "No se puede proceder con los datos aportados."
        else:
            res += "Todavía no ha entrado en vigor el abono, tiene que esperar a la fecha establecida"
    else:
        res += "No se puede proceder con los datos aportados."
    return res
コード例 #10
0
import tkinter as tk
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')
コード例 #11
0
def consulta(sol):
    fallo, lista = obt_fecha(lista_abonos)
    res=""
    res = abon_serv.listar_caducidad_mes(fallo, lista)
    sol.set(res)
コード例 #12
0
import tkinter as tk
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):