Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
 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)
Exemplo n.º 5
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)
Exemplo n.º 6
0
 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)
Exemplo n.º 7
0
 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)
Exemplo n.º 8
0
 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)
Exemplo n.º 9
0
 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)
Exemplo n.º 10
0
 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)
Exemplo n.º 11
0
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)