From 69b36ddd1d56885e3c400d4aa9310693f39cb1be Mon Sep 17 00:00:00 2001 From: James Cole Date: Wed, 26 Nov 2014 17:20:18 +0100 Subject: [PATCH] New methods. --- app/lib/FireflyIII/Database/Account.php | 18 ++++++++++++++++++ app/lib/FireflyIII/Database/Budget.php | 14 ++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/app/lib/FireflyIII/Database/Account.php b/app/lib/FireflyIII/Database/Account.php index 1b598ac76f..cde242e623 100644 --- a/app/lib/FireflyIII/Database/Account.php +++ b/app/lib/FireflyIII/Database/Account.php @@ -467,5 +467,23 @@ class Account implements CUD, CommonDatabaseCalls, AccountInterface } + /** + * @param \Account $account + * @param Carbon $start + * @param Carbon $end + * + * @return \Illuminate\Pagination\Paginator + */ + public function getTransactionJournalsInRange(\Account $account, Carbon $start, Carbon $end) + { + $set = $this->getUser()->transactionJournals()->transactionTypes(['Withdrawal'])->withRelevantData()->leftJoin( + 'transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id' + )->where('transactions.account_id', $account->id)->before($end)->after($start)->orderBy('date', 'DESC')->get( + ['transaction_journals.*'] + ); + return $set; + + } + } \ No newline at end of file diff --git a/app/lib/FireflyIII/Database/Budget.php b/app/lib/FireflyIII/Database/Budget.php index 5fc1eeb4f0..a265ac0a27 100644 --- a/app/lib/FireflyIII/Database/Budget.php +++ b/app/lib/FireflyIII/Database/Budget.php @@ -250,4 +250,18 @@ class Budget implements CUD, CommonDatabaseCalls, BudgetInterface return $sum; } + + /** + * @param \Budget $budget + * @param Carbon $start + * @param Carbon $end + * + * @return float + */ + public function spentInPeriod(\Budget $budget, Carbon $start, Carbon $end) + { + $sum = floatval($budget->transactionjournals()->before($end)->after($start)->lessThan(0)->sum('amount')) * -1; + + return $sum; + } } \ No newline at end of file