diff --git a/src/index.js b/src/index.js index ac593f4..5a8cc54 100644 --- a/src/index.js +++ b/src/index.js @@ -1,11 +1,59 @@ // Entry -class Entry {} +class Entry { + constructor(date, amount, description) { + this.date = date; + this.amount = amount; + this.description = description; + } + getFormattedAmount() { + return this.amount + " €"; +} +} // Income -class Income {} +class Income extends Entry { + constructor (date, amount, description) { + super(date, amount, description) + this.type = "income" + } +} // Expense -class Expense {} +class Expense extends Entry { + constructor (date, amount, description, paid) { + super(date, amount, description) + this.paid = paid + this.type = "expense" + } + getFormattedAmount() { + return `-${this.amount} €` + } +} // Budget -class Budget {} +class Budget { + constructor () { + this.entries = [] + } + + addEntry(entry) { + this.entries.push(entry); + } + + getCurrentBalance() { + let total = 0 + for (let i = 0; i < this.entries.length; i++) { + let amounts = this.entries[i]; + + if (amounts.type === "income") { + total += amounts.amount; + } else if (amounts.type === "expense") { + total -= amounts.amount; + + } + } + return total + + } + +}