50 lines
1.5 KiB
Python
50 lines
1.5 KiB
Python
import json
|
|
import mariadb
|
|
from PySide6.QtCore import QObject, Signal
|
|
from lib.domain.BaseModel import database
|
|
|
|
|
|
class BusinessDAO(QObject):
|
|
newBusinessAdded = Signal()
|
|
|
|
__cur = None
|
|
__all_cols = None
|
|
|
|
def __init__(self):
|
|
super().__init__()
|
|
self.__con = database.connection()
|
|
if self.__con:
|
|
self.__cur = self.__con.cursor()
|
|
|
|
def getBusiness(self, enc_key, criterion="Alle"):
|
|
try:
|
|
if self.__cur:
|
|
self.__cur.callproc("getCustomerView", (enc_key, criterion,))
|
|
self.__all_cols = [desc[0] for desc in self.__cur.description]
|
|
return self.__cur.fetchall(), self.__all_cols
|
|
else:
|
|
return None, None
|
|
except mariadb.Error as e:
|
|
print(str(e))
|
|
|
|
def getOneBusiness(self, business_id, enc_key=None):
|
|
try:
|
|
if self.__cur:
|
|
self.__cur.callproc("getCustomer", (business_id, enc_key,))
|
|
# self.__all_cols = [desc[0] for desc in self.__cur.description]
|
|
return self.__cur.fetchall() # , self.__all_cols
|
|
else:
|
|
return None # , None
|
|
except mariadb.Error as e:
|
|
print(str(e))
|
|
|
|
def addBusiness(self, data, contact_id):
|
|
try:
|
|
if self.__cur:
|
|
self.__cur.callproc("addBusiness", (json.dumps(data), contact_id))
|
|
self.__con.commit()
|
|
self.newBusinessAdded.emit()
|
|
|
|
except mariadb.Error as e:
|
|
print(str(e))
|