def deleteAllItemsfromDb(self): self.sure, self.ok = QInputDialog.getText( self.itemArea, "Delete All Item", "Are you sure that you want to delete all items? \nThis can not be undone\nType 'YES' to confirm:" ) if (self.ok): try: if (self.sure == "YES"): self.itemdb.deleteAllItems() self.setItemData() else: ex = "Invalid input" ErrorMessage(5, ex) except Exception as ex: ErrorMessage(5, ex)
def readCSV(self, file): try: with open(file) as csv_file: csv_reader = csv.reader(csv_file, delimiter=',') for data in csv_reader: self.itemdb.insertData(data[0], int(data[1])) self.setItemData() except Exception as ex: ErrorMessage(6, ex)
def deleteItemfromDb(self): self.itemIndex, self.ok = QInputDialog.getText( self.itemArea, "Delete Item", "Enter number of item:") if (self.ok): try: self.itemIndex = int(self.itemIndex) self.itemdb.deleteItem(self.itemList[self.itemIndex - 1]) self.setItemData() except Exception as ex: ErrorMessage(4, ex)
def __init__(self): super().__init__() cp = ConfigParser() cp.read("dependencies/configfiles/config.ini") self.appName = cp.get("APP_VARS", "APP_NAME") self.setWindowIcon(QIcon("dependencies/images/logo.png")) self.date=self.getDate() if(self.date==""): sys.exit(0) try: self.checkDate() except Exception as ex: ErrorMessage(3, ex) sys.exit(0) try: self.initUI(self.date) except Exception as ex: ErrorMessage(None, ex) sys.exit(0)
def addItem(self, itemId): self.qty, self.ok = QInputDialog.getText(self.itemAddButton, "Quantity", "Enter quantity:") if (self.ok): try: self.qty = int(self.qty) self.setInvoice() self.itemSoldList.append(self.itemList[itemId]) self.itemSoldPrice.append(self.priceList[itemId]) self.itemTotalSoldPrice.append( int(self.priceList[itemId]) * self.qty) self.itemSoldQty.append(self.qty) self.invoiceList.setRowCount(len(self.itemList)) self.counter = 0 self.totalPrice = 0 for prices in self.itemSoldPrice: self.totalPrice += (int(prices)) * ( self.itemSoldQty[self.counter]) self.counter += 1 self.soldItems = { "Item": self.itemSoldList, "Price": self.itemSoldPrice } for n, key in enumerate(self.soldItems): for m, item in enumerate(self.soldItems[key]): self.soldItem = QTableWidgetItem(item) self.soldItem.setFlags(Qt.ItemIsEnabled) self.soldItem.setTextAlignment(Qt.AlignCenter) self.invoiceList.setItem(m, n, self.soldItem) self.counter = 0 for qtys in self.itemSoldQty: self.itemqty = QLabel() self.itemqty.setText(str(qtys)) self.invoiceList.setCellWidget(self.counter, 2, self.itemqty) self.counter += 1 self.counter4 = 0 for tps in self.itemTotalSoldPrice: self.itemTp = QLabel() self.itemTp.setText(str(tps)) self.invoiceList.setCellWidget(self.counter4, 3, self.itemTp) self.counter4 += 1 self.totalPriceBox.setText("Total Price: " + str(self.totalPrice)) except Exception as ex: em = ErrorMessage(2, ex)
def addItemsfromCSV(self): try: self.options = QFileDialog.Options() self.fileName, _ = QFileDialog.getOpenFileName( QWidget(), "Import CSV", "", "CSV Files (*.csv)", options=self.options) if (self.fileName): self.readCSV(self.fileName) except Exception as ex: ErrorMessage(None, ex)
def addItemToDb(self): self.itemName, self.ok = QInputDialog.getText(self.itemArea, "Item Name", "Enter name of item:") if (self.ok): try: self.itemPrice, self.ok = QInputDialog.getText( self.itemArea, "Item Price", "Enter price of item:") if (self.ok): self.itemPrice = int(self.itemPrice) self.itemdb.insertData(self.itemName, self.itemPrice) self.setItemData() except Exception as ex: ErrorMessage(7, ex)
def addExpToDb(self): self.expName, self.ok = QInputDialog.getText( self.expenseArea, "Expense Description", "Enter description of expense:") if (self.ok): try: self.expCost, self.ok = QInputDialog.getText( self.expenseArea, "Cost", "Enter cost incurred on expense:") if (self.ok): self.expCost = int(self.expCost) self.expdb.insertData(self.expName, self.expCost) self.setExpenseData() self.updateReportfromExpense() except Exception as ex: ErrorMessage(7, ex)
def deleteAllExpfromDb(self): self.sure, self.ok = QInputDialog.getText( self.expenseArea, "Delete All Item", "Are you sure that you want to delete all expenses? \nThis can not be undone\nType 'YES' to confirm:" ) if (self.ok): try: if (self.sure == "YES"): self.expdb.deleteAllItems() self.setExpenseData() self.totalExpenseToday = 0 self.updateReportfromExpense() else: ex = "Invalid input" raise Exception(ex) except Exception as ex: ErrorMessage(5, ex)
def deleteExpfromDb(self): self.expIndex, self.ok = QInputDialog.getText(self.expenseArea, "Delete Expense", "Enter expense number:") if (self.ok): try: self.expList = self.expdb.getData().get("Exp") self.expIndex = int(self.expIndex) self.expdb.deleteExp(self.expList[self.expIndex - 1]) self.totalExpenseToday = 0 try: for exps in self.expdb.getData().get("Cost"): self.totalExpenseToday += int(exps) except Exception as ex: print(ex) self.totalExpenseToday = 0 self.updateReportfromExpense() self.setExpenseData() self.setinfoArea() except Exception as ex: ErrorMessage(4, ex)
from PyQt5.QtWidgets import QApplication from Errors import ErrorMessage import os.path as osp if __name__ == '__main__': try: from App import * app = QApplication(sys.argv) if (osp.isdir("dependencies/invoice") or osp.isdir("dependencies/images") or osp.isdir("dependencies/database")): mainWindow = AppUI() else: raise Exception("Dependency files are missing") app.exec_() app.quit() except Exception as ex: ErrorMessage(1, ex)