This repository has been archived on 2021-09-15. You can view files and clone it, but cannot push or open issues or pull requests.
L3GestionParking/src/m/Client.py

86 lines
2.8 KiB
Python
Raw Normal View History

2015-01-12 15:06:44 +00:00
import random
import string
2015-01-13 23:39:12 +00:00
from src.m.connexionBDD import connexionBDD
2015-01-12 15:06:44 +00:00
__author__ = 'sidya'
2015-01-13 23:39:12 +00:00
class Client:
def __init__(self,id, nom, prenom, adresse, typeAbonnement):
if id is None:
2015-02-04 13:20:39 +00:00
self.__nom = nom
self.__prenom = prenom
self.__typeAbonnement = typeAbonnement
self.__adresse = adresse
2015-01-13 23:39:12 +00:00
while True:
id = ''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for _ in
range(random.randint(1, 10)))
try :
2015-02-04 13:20:39 +00:00
Client(id)
2015-01-13 23:39:12 +00:00
except IndexError :
break
self.__id = id
c = connexionBDD()
c.execute("INSERT INTO client (idClient, nom, prenom, adresse, typeAbonnement) VALUES (?,?,?,?,?)",
(str(self.__id), str(self.__nom), str(self.__prenom), "", str(self.__typeAbonnement)))
c.seDeconnecter()
else:
2015-02-04 13:20:39 +00:00
c = connexionBDD()
r = c.execute("SELECT * FROM client WHERE idClient='"+str(id)+"'")
row = r.fetchone()
if row is None :
raise IndexError("Invalid id")
c.seDeconnecter()
2015-01-13 23:39:12 +00:00
self.__id = id
2015-02-04 13:20:39 +00:00
self.__nom = row["nom"]
self.__prenom = row["prenom"]
self.__typeAbonnement = row["typeAbonnement"]
self.__adresse = row["adresse"]
def maj(self, nom, prenom, adresse, typeAbonnement):
self.__nom = nom
self.__prenom = prenom
self.__typeAbonnement = typeAbonnement
self.__adresse = adresse
c = connexionBDD()
c.execute("UPDATE client SET nom = ?, prenom = ?, adresse = ?, typeAbonnement = ? WHERE idClient = ?",
(str(self.__nom), str(self.__prenom), "", str(self.__typeAbonnement), str(self.__id)))
c.seDeconnecter()
def desabo(self):
c = connexionBDD()
c.execute("DELETE FROM client WHERE idClient ='"+str(id)+"'")
c.seDeconnecter()
2015-01-12 15:06:44 +00:00
@property
def prenom(self):
return self.__prenom
@property
def nom(self):
return self.__nom
@property
def id(self):
return self.__id
@property
2015-02-04 13:20:39 +00:00
def adr(self,nom, prenom, adresse, typeAbonnement):
2015-01-12 15:06:44 +00:00
return self.__adresse
@property
def abonnement(self):
return self.__typeAbonnement
2015-01-12 15:49:41 +00:00
def __str__(self):
2015-01-13 23:39:12 +00:00
return "[Client :" \
" id = " + str(self.__id) + ", " \
" prenom = " + str(self.__prenom) + ", " \
" nom = " + str(self.__nom) + ", " \
" adresse = " + str(self.__adresse) + ", " \
" typeAbonnement = " + str(self.__typeAbonnement) + "]"
class TypeAbonnement:
ABONNE = 0
SUPER_ABONNE = 1