From 01f5f3607c7e365bdf8dff8d71ed81becd3fd599 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Tue, 4 May 2021 23:10:50 +0200 Subject: [PATCH] refactoring --- .../accounts/AccountController.java | 31 +------------------ .../budgetmaster/accounts/AccountService.java | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+), 30 deletions(-) diff --git a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountController.java b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountController.java index 5173796d3..583ce5c12 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountController.java @@ -159,7 +159,7 @@ public class AccountController extends BaseController } else { - updateExistingAccount(account); + accountService.updateExistingAccount(account); } if(request.getSession().getAttribute("database") != null) @@ -169,33 +169,4 @@ public class AccountController extends BaseController return "redirect:/accounts"; } - - private void updateExistingAccount(Account newAccount) - { - Optional<Account> existingAccountOptional = accountService.getRepository().findById(newAccount.getID()); - if(existingAccountOptional.isPresent()) - { - Account existingAccount = existingAccountOptional.get(); - existingAccount.setName(newAccount.getName()); - existingAccount.setIcon(newAccount.getIcon()); - existingAccount.setType(AccountType.CUSTOM); - existingAccount.setAccountState(newAccount.getAccountState()); - accountService.getRepository().save(existingAccount); - - if(existingAccount.isDefault() && existingAccount.getAccountState() != AccountState.FULL_ACCESS) - { - // set any activated account as new default account - accountService.unsetDefaultForAllAccounts(); - List<Account> activatedAccounts = accountService.getRepository().findAllByTypeAndAccountStateOrderByNameAsc(AccountType.CUSTOM, AccountState.FULL_ACCESS); - Account newDefaultAccount = activatedAccounts.get(0); - accountService.setAsDefaultAccount(newDefaultAccount.getID()); - } - - if(existingAccount.isSelected() && existingAccount.getAccountState() == AccountState.HIDDEN) - { - // select "all accounts" as selected account - accountService.selectAccount(accountService.getRepository().findAllByType(AccountType.ALL).get(0).getID()); - } - } - } } \ No newline at end of file diff --git a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java index b1e17c04c..fa6b3e95f 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java @@ -218,4 +218,35 @@ public class AccountService implements Resetable, AccessAllEntities<Account> accountRepository.save(currentAccount); } } + + public void updateExistingAccount(Account newAccount) + { + Optional<Account> existingAccountOptional = accountRepository.findById(newAccount.getID()); + if(existingAccountOptional.isEmpty()) + { + return; + } + + Account existingAccount = existingAccountOptional.get(); + existingAccount.setName(newAccount.getName()); + existingAccount.setIcon(newAccount.getIcon()); + existingAccount.setType(AccountType.CUSTOM); + existingAccount.setAccountState(newAccount.getAccountState()); + accountRepository.save(existingAccount); + + if(existingAccount.isDefault() && existingAccount.getAccountState() != AccountState.FULL_ACCESS) + { + // set any activated account as new default account + unsetDefaultForAllAccounts(); + List<Account> activatedAccounts = accountRepository.findAllByTypeAndAccountStateOrderByNameAsc(AccountType.CUSTOM, AccountState.FULL_ACCESS); + Account newDefaultAccount = activatedAccounts.get(0); + setAsDefaultAccount(newDefaultAccount.getID()); + } + + if(existingAccount.isSelected() && existingAccount.getAccountState() == AccountState.HIDDEN) + { + // select "all accounts" as selected account + selectAccount(accountRepository.findAllByType(AccountType.ALL).get(0).getID()); + } + } } -- GitLab