From 542afa01b97fff80ca67fd4940a6c1746a66cae4 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Tue, 13 Dec 2022 22:01:11 +0100 Subject: [PATCH] #725 - refactor: externalized methods --- .../transactions/TransactionService.java | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java index 7cd4ee799..9c23b629a 100644 --- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java +++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java @@ -74,10 +74,8 @@ public class TransactionService implements Resettable return transactions; } - private List<Transaction> getTransactionsForMonthAndYearWithRest(Account account, int month, int year, FilterConfiguration filterConfiguration) + public Transaction getTransactionForBalanceLastMonth(Account account, int month, int year) { - final List<Transaction> transactions = getTransactionsForMonthAndYearWithoutRest(account, month, year, filterConfiguration); - final LocalDate endDateLastMonth = LocalDate.of(year, month, 1).minusMonths(1).with(lastDayOfMonth()); final Transaction transactionBalanceLastMonth = new Transaction(); @@ -86,8 +84,12 @@ public class TransactionService implements Resettable transactionBalanceLastMonth.setDate(LocalDate.of(year, month, 1)); transactionBalanceLastMonth.setAmount(getRest(account, endDateLastMonth)); transactionBalanceLastMonth.setTags(new ArrayList<>()); - transactions.add(transactionBalanceLastMonth); + return transactionBalanceLastMonth; + } + + public Transaction getTransactionForBalanceCurrentMonth(Account account, int month, int year) + { final LocalDate endDateCurrentMonth = LocalDate.of(year, month, 1).with(lastDayOfMonth()); final Transaction transactionBalanceCurrentMonth = new Transaction(); @@ -96,8 +98,16 @@ public class TransactionService implements Resettable transactionBalanceCurrentMonth.setDate(endDateCurrentMonth); transactionBalanceCurrentMonth.setAmount(getRest(account, endDateCurrentMonth)); transactionBalanceCurrentMonth.setTags(new ArrayList<>()); - // always add as first transaction - transactions.add(0, transactionBalanceCurrentMonth); + + return transactionBalanceCurrentMonth; + } + + private List<Transaction> getTransactionsForMonthAndYearWithRest(Account account, int month, int year, FilterConfiguration filterConfiguration) + { + final List<Transaction> transactions = getTransactionsForMonthAndYearWithoutRest(account, month, year, filterConfiguration); + + transactions.add(getTransactionForBalanceLastMonth(account, month, year)); + transactions.add(0, getTransactionForBalanceCurrentMonth(account, month, year)); return transactions; } -- GitLab