from .DbManager import DbManager from PySide6.QtCore import QObject, Signal import json import mariadb class ContactDAO(QObject): newObjectContactAdded = Signal(bool) def __init__(self): super().__init__() #print(f"*** File: {__file__}, __init__()") self.__con = DbManager().getConnection() if self.__con: self.__cur = self.__con.cursor() def getContacts(self): print(f"*** File: {__file__}, getContacts()") def addContact(self, contact, enc_key): try: if self.__cur: self.__cur.callproc("addContactPerson", (enc_key, json.dumps(contact),)) self.__con.commit() self.__cur.callproc("logger",(contact_id[0], "INSERT", "addContactPerson: New Contact added",)) self.__con.commit() except mariadb.Error as e: print("MDB: " + str(e)) except Exception as e: print("PYT: " + str(e)) def addObjectContact(self, contact, objectid, enc_key): try: if self.__cur: self.__cur.callproc("addObjectContact", (enc_key, json.dumps(contact), objectid,)) self.__con.commit() self.__cur.callproc("logObjectContact") self.__con.commit() self.newObjectContactAdded.emit(True) except mariadb.Error as e: print("MDB (addObjectContact): " + str(e)) self.newObjectContactAdded.emit(False) except Exception as e: print("PYT: " + str(e)) self.newObjectContactAdded.emit(False) def getContact(self, contact_id, enc_key = None): try: if self.__cur: self.__cur.callproc("getCustomerContact", (contact_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))