def insertBills(bills): barRepo = BarRepo.BarRepo() if not barRepo.bar_exists(bills.getBar()): raise Error("bar does not exist") bartenderRepo = BartenderRepo.BartenderRepo() if not bartenderRepo.bartender_exists(bills.getBartender()): raise Error("bartender does not exist") drinkerRepo = DrinkersRepo.DrinkersRepo() if not drinkerRepo.drinker_exists(bills.getDrinker()): raise Error("drinker does not exist") datetime_object = datetime.strptime(bills.getDate(), "%Y-%m-%d") if not calendar.day_name[datetime_object.weekday()] == bills.getDay(): raise Error("Day does not match date") billsRepo = BillsRepo.BillsRepo() if billsRepo.duplicate_entry(bills.getBillId()): raise Error("duplicate entry") operatesRepo = OperatesRepo.OperatesRepo() if not operatesRepo.time_during_operating_hours( bills.getTime(), bills.getBar(), bills.getDate()): raise Error("Bar is not open during that time") shiftsRepo = ShiftsRepo.ShiftsRepo() if not shiftsRepo.time_during_shift(bills.getTime(), bills.getBartender(), bills.getBar(), bills.getDate()): raise Error( "Bartender does not have shift at the bar and/or on that date and/or during that time" ) # if not float(bills.getTaxPrice()) == round(float(bills.getItemsPrice())*0.07,2): # raise Error("Tax is not 7 percent of the items price") # if not float(bills.getTaxPrice()) + float(bills.getTip()) + float(bills.getItemsPrice()) == float(bills.getTotalPrice()): # raise Error("Incorrect total price") # billsRepo = BillsRepo.BillsRepo() # if not billsRepo.check_items_price(bills.getBillId(), bills.getItemsPrice()): # raise Error("Price of all the items doesn't match the total of the corresponding transactions") # bills.setTaxPrice(0) # bills.setItemsPrice(0) # bills.setTip(0) # bills.setTotalPrice(0) billsRepo = BillsRepo.BillsRepo() return billsRepo.insertBills(bills)
def deleteDrinker(drinker): drinkerRepo = DrinkersRepo.DrinkersRepo() return drinkerRepo.deleteDrinker(drinker)
def updateDrinker(drinker, oldName): drinkerRepo = DrinkersRepo.DrinkersRepo() return drinkerRepo.updateDrinker(drinker, oldName)
def insertDrinker(drinker): drinkerRepo = DrinkersRepo.DrinkersRepo() return drinkerRepo.insertDrinker(drinker)
def getDrinkerSpendingByMonth(drinker): drinkerRepo = DrinkersRepo.DrinkersRepo() results = drinkerRepo.getDrinkerSpendingByMonth(drinker) return jsonify([e.toJson() for e in results])
def getAllDrinkers(): drinkerRepo = DrinkersRepo.DrinkersRepo() results = drinkerRepo.getAllDrinkers() return jsonify([e.toJson() for e in results])
def getDrinkerTopBeer(drinker): drinkerRepo = DrinkersRepo.DrinkersRepo() results = drinkerRepo.getDrinkerTopBeer(drinker) return jsonify([e.toJson() for e in results])
def getDrinkerTransactions(drinker): drinkerRepo = DrinkersRepo.DrinkersRepo() results = drinkerRepo.getDrinkerTransactions(drinker) return jsonify([e.toJson() for e in results])