def __init__(self, nk_model, nutzermodel): QObject.__init__(self) self._nk_model = nk_model self._nutzermodel = nutzermodel self._nutzerdao = NutzerDao() self._kassendao = KassenDao() self._historiedao = HistorieDao()
def __init__(self, nutzermodel, nk_model): QObject.__init__(self) self._nutzerkassenmodel = nk_model self._nutzermodel = nutzermodel self._nutzerdao = NutzerDao() self._artikelmodel = ArtikelModel() self._kassendao = KassenDao() self._historiedao = HistorieDao() self._artikeldao = ArtikelDao()
class NutzerController(QObject): imPathAktualisiert = pyqtSignal(str, int) def __init__(self, nutzermodel): QObject.__init__(self) self._nutzermodel = nutzermodel self._nutzerdao = NutzerDao() @pyqtSlot(str, int) def copyImage(self, path, choise): path = path.replace('file://', '') filename = path.split('/') file = f'src/{filename[-1]}' print(file) shutil.copy(path, f'qml_elements/{file}') self.imPathAktualisiert.emit(file, choise) @pyqtSlot(str, str, str, bool) def addUser(self, name, konto, image, member): if member: member = 1 else: member = 0 if '€' in konto: konto = konto.replace('€', '') if ',' in konto: konto = konto.replace(',', '.') self._nutzerdao.create_user(name, image[4:], member, float(konto)) @pyqtSlot(int) def deleteUser(self, index): name = self._nutzermodel.names[index] self._nutzerdao.delete_user(name) @pyqtSlot(int, str, str, bool) def updateUser(self, index, konto, image, member): name = self._nutzermodel.names[index] if member: member = 1 else: member = 0 if '€' in konto: konto = konto.replace('€', '') if ',' in konto: konto = konto.replace(',', '.') self._nutzerdao.edit_user(name, image[4:], member, float(konto))
class BestellungController(QObject): nutzerDatenAktualisiert = pyqtSignal(list) anzeigeDatenAktualiesieren = pyqtSignal(list) cbIndexAktualisieren = pyqtSignal(int) productmodelAktualisiert = pyqtSignal(QAbstractListModel) updateImage = pyqtSignal(str) def __init__(self, nutzermodel, nk_model): QObject.__init__(self) self._nutzerkassenmodel = nk_model self._nutzermodel = nutzermodel self._nutzerdao = NutzerDao() self._artikelmodel = ArtikelModel() self._kassendao = KassenDao() self._historiedao = HistorieDao() self._artikeldao = ArtikelDao() @pyqtSlot() def getUsers(self): names = [] konten = [] mitglied = [] bild = [] user_data = self._nutzerdao.select_users() #nutzerdaten aus db holen for i in range(len(user_data)): names.append(user_data[i]['Name']) konten.append(user_data[i]['Konto']) mitglied.append(user_data[i]['Verein']) bild.append(user_data[i]['Bild']) self._nutzermodel._names = names #list für combobox setzen self._nutzermodel._konto = konten self._nutzermodel._mitglied = mitglied self._nutzermodel._bild = bild self.nutzerDatenAktualisiert.emit( self._nutzermodel._names ) #funktion onNutzerDatenAktualisiert aufrufen @pyqtSlot(int) def getCurrentCBData(self, currentIndex): try: konto = self._nutzermodel._konto[currentIndex] mitglied = self._nutzermodel._mitglied[currentIndex] bild = f'src/{self._nutzermodel._bild[currentIndex]}' konto = "{:.2f}€".format(konto) if mitglied == 0: mitglied = 'Besucher' else: mitglied = 'Vereinsmitglied' self.anzeigeDatenAktualiesieren.emit( [str(konto), str(mitglied), str(bild)]) except: pass @pyqtSlot(int) def updateCBIndex(self, index): self.cbIndexAktualisieren.emit(index) @pyqtSlot(int, float, str) def pay(self, index, konto, geld): self._nutzerdao.edit_user(self._nutzermodel._names[index], self._nutzermodel._bild[index], self._nutzermodel._mitglied[index], konto) konto = "{:.2f}€".format(konto) now = datetime.now() date = now.strftime("%d/%m/%Y %H:%M:%S") self._historiedao.create_content(date, 'Listenzahlung', self._nutzermodel._names[index], geld) #logging.warning(f'Listenzahlung von: {self._nutzermodel._names[index]} Betrag: {geld}') self._nutzermodel._konto[index] = konto self._nutzerkassenmodel.editNutzer(index, self._nutzermodel._names[index], konto, self._nutzermodel._mitglied[index], self._nutzermodel._bild[index]) @pyqtSlot(str) def payBar(self, geld): kasse = self._kassendao.select_geld() now = datetime.now() date = now.strftime("%d/%m/%Y %H:%M:%S") self._historiedao.create_content(date, 'Barzahlung', '-', geld) #logging.warning(f'Barzahlung von: - Betrag: {geld}') if '€' in geld: geld = geld.replace('€', '') if ',' in geld: geld = geld.replace(',', '.') neuKasse = "{:10.2f}".format(float(kasse) + float(geld)) self._kassendao.edit_geld(neuKasse) @pyqtSlot(int, str) def updateBestand(self, bestand, artikel): product = self._artikeldao.select_article(artikel) self._artikeldao.edit_article(artikel, artikel, product[0]['Bild'], product[0]['Mitglieder_Preis'], product[0]['Besucher_Preis'], product[0]['Ist_Kasten'], bestand, product[0]['Kasten_Size']) @pyqtSlot(str) def removeFromOrder(self, artikel): print(artikel) product = self._artikeldao.select_article(artikel) self._artikeldao.edit_article(artikel, artikel, product[0]['Bild'], product[0]['Mitglieder_Preis'], product[0]['Besucher_Preis'], product[0]['Ist_Kasten'], product[0]['Bestand'] + 1, product[0]['Kasten_Size'])
class HistorieController(QObject): def __init__(self, nutzermodel, nk_model, historiemodel): QObject.__init__(self) self._nutzerkassenmodel = nk_model self._nutzermodel = nutzermodel self._historiemodel = historiemodel self._nutzerdao = NutzerDao() self._kassendao = KassenDao() self._historiedao = HistorieDao() @pyqtSlot() def loadTableData(self): historie = self._historiedao.select_content() while self._historiemodel.rowCount() > 0: self._historiemodel.deleteContent(0) for i in range(len(historie)): self._historiemodel.addContent( historie[i]['Datum'], historie[i]['Kategorie'], historie[i]['Name'], "{:10.2f}".format(float(historie[i]['Betrag']))) @pyqtSlot(str, str, str, str) def deleteContent(self, datum, kategorie, name, betrag): if '€' in betrag: betrag = betrag.replace('€', '') if ',' in betrag: betrag = betrag.replace(',', '.') if 'Barzahlung' in kategorie: kasse = self._kassendao.select_geld() self._kassendao.edit_geld( "{:10.2f}".format(float(kasse) - float(betrag))) elif 'Listenzahlung' in kategorie: konto = self._nutzermodel._konto names = self._nutzermodel._names for i in range(len(names)): if names[i] in name: self._nutzerdao.edit_user( self._nutzermodel._names[i], self._nutzermodel._bild[i], self._nutzermodel._mitglied[i], "{:10.2f}".format(float(konto[i]) + float(betrag))) elif 'Kassenabrechnung' in kategorie or 'Einzahlung' in kategorie: if name in 'Kasse': kasse = self._kassendao.select_geld() self._kassendao.edit_geld( "{:10.2f}".format(float(kasse) + float(betrag))) else: konto = self._nutzermodel._konto names = self._nutzermodel._names for i in range(len(names)): if names[i] in name: self._nutzerdao.edit_user( self._nutzermodel._names[i], self._nutzermodel._bild[i], self._nutzermodel._mitglied[i], "{:10.2f}".format(float(konto[i]) - float(betrag))) self._historiedao.delete_content(datum)
class KassenController(QObject): kasseAktualisieren = pyqtSignal(str) def __init__(self, nk_model, nutzermodel): QObject.__init__(self) self._nk_model = nk_model self._nutzermodel = nutzermodel self._nutzerdao = NutzerDao() self._kassendao = KassenDao() self._historiedao = HistorieDao() @pyqtSlot() def getUsers(self): user_data = self._nutzerdao.select_users() #nutzerdaten aus db holen if self._nk_model.rowCount() != 0: while self._nk_model.rowCount() != 0: self._nk_model.deleteNutzer(0) for i in range(len(user_data)): self._nk_model.addNutzer(user_data[i]['Name'], user_data[i]['Konto'], user_data[i]['Verein'], f"src/{user_data[i]['Bild']}") @pyqtSlot(str, str, str, str) def einzahlen(self, name, geld, konto, kasse): if '€' in geld: geld = geld.replace('€', '') if ',' in geld: geld = geld.replace(',', '.') if '€' in kasse: kasse = kasse.replace('€', '') if ',' in kasse: kasse = kasse.replace(',', '.') now = datetime.now() date = now.strftime("%d/%m/%Y %H:%M:%S") self._historiedao.create_content(date, 'Einzahlung', name, geld) #logging.warning(f'Einzahlung von: {name} Betrag: {geld}') neuKasse = "{:10.2f}".format(float(kasse) + float(geld)) konto = konto.replace('Kontostand:', '') neuKonto = "{:10.2f}".format(float(konto) + float(geld)) name = name.replace(' ', '') self._nutzerdao.transaction(name, neuKonto) self._kassendao.edit_geld(neuKasse) @pyqtSlot() def getKasse(self): geld = self._kassendao.select_geld() geld = "{:.2f}€".format(geld) self.kasseAktualisieren.emit(geld) @pyqtSlot(str, str, str, int) def abrechnen(self, verwendung, geld, name, currentIndex): if '€' in geld: geld = geld.replace('€', '') if ',' in geld: geld = geld.replace(',', '.') now = datetime.now() date = now.strftime("%d/%m/%Y %H:%M:%S") self._historiedao.create_content( date, f'Kassenabrechnung Verwendung: {verwendung}', name, geld) #logging.warning(f'Kassenabrechnung Verwendung: {verwendung} von: {name} Betrag: {geld}') if name in 'Kasse': kasse = self._kassendao.select_geld() kasse = "{:10.2f}".format(float(kasse) - float(geld)) self._kassendao.edit_geld(kasse) else: konto = self._nutzermodel._konto[currentIndex] konto = "{:10.2f}".format(float(konto) + float(geld)) bild = self._nutzermodel._bild[currentIndex] mitglied = self._nutzermodel._mitglied[currentIndex] self._nutzerdao.edit_user(name, bild, mitglied, float(konto))
def __init__(self, nutzermodel): QObject.__init__(self) self._nutzermodel = nutzermodel self._nutzerdao = NutzerDao()