Beispiel #1
0
import sys, os

sys.path.append(os.path.abspath("../"))


from model.parking import Parking
from model.acces import Acces
from model.client import Client

nb_niveau = 4
nb_places_par_niveau = 10
prix = 10
parking = Parking(nb_niveau, nb_places_par_niveau, prix)
acces1 = Acces(parking)
acces2 = Acces(parking)
parking.addAcces(acces1)
parking.addAcces(acces2)
parking.init_places()


cli = Client("nom", "adresse", True, False, 0)
cli.nouvelle_voiture("1234567", 244, 500, 300)

cli.entrer_parking(acces1)

parking.sauvegarder()
print(parking.mes_placement)
class ParkingController(object):
    def __init__(self):
        self.parking = Parking(NB_NIVEAU, PLACE_PAR_NIVEAU, PRIX).charger().charger_fichier_stat()
   
    def ajouter_client_parking(self, nom, adresse, abonnement):
        cli = Client(nom, adresse)
        contrat = Contrat(cli)
        
        if abonnement == "Abonne" : 
            cli.est_abonne = True
            self.abonner_un_client(cli, abonnement, contrat)
            
        if abonnement == "Super abonne" : 
            cli.est_super_abonne = True
            self.abonner_un_client(cli, abonnement, contrat)
        else : self.abonner_un_client(cli, abonnement, contrat)
        
        hauteur  = randint(MIN_HAUTEUR, MAX_HAUTEUR)
        longueur = randint(MIN_LONGUEUR, MAX_LONGUEUR)
        largeur  = randint(MIN_LARGEUR, MAX_LARGEUR)
        cli.nouvelle_voiture("", hauteur, longueur, largeur)
        return cli.entrer_parking(self.parking.mes_acces[0])
    
    def abonner_un_client(self, client, type_abonne, contrat):
        print(self.parking.mes_abonnements)
        abonnement = self.parking.mes_abonnements[type_abonne]
        client.s_abonner(contrat)
        abonnement.add_contrat(contrat)
        contrat.definir_abonnement(abonnement)
        
    def afficher_place_disponible(self):
        return self.parking.mes_acces[0].mon_panneau.get_nb_place_disponible(self.parking)
    
    def get_numero_ticket(self)   : return self.parking.dernier_numero_ticket
    def sauvegarder_parking(self) : self.parking.sauvegarder()
    def faire_sortir(self, num)   : return self.parking.recupere_place_id(num)
    def recuperer_prix(self, num) : return self.parking.calcul_prix(num)
    def __get_client(self, num)   : return self.parking.get_client(num)
    
    def creer_livraison(self, date, num) :
        client = self.__get_client(num)
        print(client)
        if client is not None : 
            return client.demander_livraison(date)
        else : 
            return None
    
    def creer_entretien(self, date, num) :
        client = self.__get_client(num)
        print(client)
        if client is not None : 
            return client.demander_entretien(date)
        else : 
            return None
    
    def creer_maintenance(self, date, num) :
        client = self.__get_client(num)
        print(client)
        if client is not None : 
            return client.demander_maintenance(date)
        else : 
            return None