Files
pyqcrm/lib/DB/BusinessDAO.py
2025-04-21 23:45:33 +02:00

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))