Esempio n. 1
0
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)
Esempio n. 2
0
def deleteDrinker(drinker):
    drinkerRepo = DrinkersRepo.DrinkersRepo()
    return drinkerRepo.deleteDrinker(drinker)
Esempio n. 3
0
def updateDrinker(drinker, oldName):
    drinkerRepo = DrinkersRepo.DrinkersRepo()
    return drinkerRepo.updateDrinker(drinker, oldName)
Esempio n. 4
0
def insertDrinker(drinker):
    drinkerRepo = DrinkersRepo.DrinkersRepo()
    return drinkerRepo.insertDrinker(drinker)
Esempio n. 5
0
def getDrinkerSpendingByMonth(drinker):
    drinkerRepo = DrinkersRepo.DrinkersRepo()
    results = drinkerRepo.getDrinkerSpendingByMonth(drinker)
    return jsonify([e.toJson() for e in results])
Esempio n. 6
0
def getAllDrinkers():
    drinkerRepo = DrinkersRepo.DrinkersRepo()
    results = drinkerRepo.getAllDrinkers()
    return jsonify([e.toJson() for e in results])
Esempio n. 7
0
def getDrinkerTopBeer(drinker):
    drinkerRepo = DrinkersRepo.DrinkersRepo()
    results = drinkerRepo.getDrinkerTopBeer(drinker)
    return jsonify([e.toJson() for e in results])
Esempio n. 8
0
def getDrinkerTransactions(drinker):
    drinkerRepo = DrinkersRepo.DrinkersRepo()
    results = drinkerRepo.getDrinkerTransactions(drinker)
    return jsonify([e.toJson() for e in results])