from .DbManager import DbManager import json import mariadb from PySide6.QtCore import QObject, Signal # from ..PyqcrmFlags import PyqcrmAppliEmpyFlags class EmployeeDAO(QObject): newEmployeeAdded = Signal(bool) __cur = None __all_cols = None def __init__(self): super().__init__() self.__con = DbManager().getConnection() if self.__con: self.__cur = self.__con.cursor() def getEmployees(self, enc_key, criterion = "Alle", processed = False, fired = False, every_state = True): try: if self.__cur: self.__cur.callproc("getEmployeeTable", (criterion, processed, fired, every_state, 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 getEmployee(self, employee_id, enc_key = None): try: if self.__cur: self.__cur.callproc("getEmployee", (employee_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 addEmployee(self, data, enc_key, applicant = True): try: if self.__cur: self.__cur.callproc("addApplicant", (json.dumps(data), applicant, enc_key,)) self.__con.commit() self.newEmployeeAdded.emit(True) except mariadb.Error as e: print(str(e)) self.newEmployeeAdded.emit(False)