示例#1
0
class User():
    def __init__(self, login, password):
        self.login = str(login)
        self.password = str(password)
        self.budzet = Budget()

    def change_password(self, password):
        password = str(password)
        if password == self.password:
            raise ValueError('Nowe hasło nie może być takie same!')
        else:
            self.password = password

    def show_budget(self):
        return self.budzet.plan_budget() + '\n' + self.budzet.real_budget()

    def clear_budget(self):
        self.budzet = Budget()

    def show_trans(self):
        return self.budzet.show_transactions()

    def add_inc(self, category, t, amount, day):
        return self.budzet.add_income(category, t, amount, day)

    def add_exp(self, category, t, amount, day):
        return self.budzet.add_expense(category, t, amount, day)

    def show_warnings(self):
        return self.budzet.warnings()
示例#2
0
class Generator():
    def __init__(self, n):
        self.budzet = Budget()
        self.n = n

    # przykładowa symulacja transakcji
    def simulation(self):
        kategorie = Categories()
        trans = ['inc', 'exp']
        p = [0.2, 0.8]
        categories_exp = kategorie.show_exp_categories()
        categories_inc = kategorie.show_inc_categories()
        types = ['r', 'p']
        days = [x for x in range(1, 32)]

        for i in range(self.n):
            tr = ''.join(random.choices(trans, p))
            t = random.choice(types)
            d = random.choice(days)
            if tr == 'inc':
                cat = random.choice(categories_inc)
                if cat == 'Wynagrodzenie' or cat == 'Premia':
                    a = random.randint(1500, 8000)
                    self.budzet.add_income(cat, t, a, d)
                else:
                    a = random.randint(10, 1000)
                    self.budzet.add_income(cat, t, a, d)
            elif tr == 'exp':
                cat = random.choice(categories_exp)
                if cat == 'Mieszkanie':
                    a = random.randint(500, 2000)
                    self.budzet.add_expense(cat, t, a, d)
                else:
                    a = random.randint(5, 500)
                    self.budzet.add_expense(cat, t, a, d)

        print('\n')
        print(self.budzet.show_transactions() + '\n')
        print(self.budzet.real_budget() + '\n' + self.budzet.plan_budget())
        print(self.budzet.show_df_exp())
        print('\n')
        print(self.budzet.show_df_inc())
        print('\n')
        print(self.budzet.show_df_details())
class BudgetInterface:
    def __init__(self):
        self.__budget = Budget()

    def information(self):
        print("Käyttöliittymä")
        print("1 - Anna budjettijakson alku- ja loppupvm")
        print("2 - Lisää uusi tulo")
        print("3 - Lisää uusi meno")
        print("4 - Tulosta tulot")
        print("5 - Tulosta menot")
        print("6 - Lopeta")

    def execute(self):
        self.information()
        while True:
            givenValue = input("Anna luku: ")
            if (givenValue == "1"):
                begDateEntry = input(
                    "Anna alkupäivämäärä (muotoa VVVV-KK-PP): ")
                begYear, begMonth, begDay = map(int, begDateEntry.split('-'))
                self.__budget.set_beginningDate(begYear, begMonth, begDay)
                endDateEntry = input(
                    "Anna loppupäivämäärä (muotoa VVVV-KK-PP): ")
                endYear, endMonth, endDay = map(int, endDateEntry.split('-'))
                self.__budget.set_endDate(endYear, endMonth, endDay)
            elif (givenValue == "2"):
                incomeName = input("Anna tulon nimi: ")
                income = input("Anna tulon suuruus: ")
                self.__budget.add_income(incomeName, income)
            elif (givenValue == "3"):
                expenseName = input("Anna menon nimi: ")
                expense = input("Anna menon suuruus: ")
                self.__budget.add_expense(expenseName, expense)
            elif (givenValue == "4"):
                self.__budget.printing_test_income()
            elif (givenValue == "5"):
                self.__budget.printing_test_expense()
            elif (givenValue == "6"):
                break
            else:
                print("Virheellinen arvo")