diff --git a/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java b/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java index b0e10a2347778e251391711cd120a18c14d6d00e..670c2c6facdae45dfb25f400afaec151df8056a8 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java @@ -129,17 +129,7 @@ public class TemplateController extends BaseController } final Template template = templateOptional.get(); - - if(template.getCategory() == null) - { - template.setCategory(categoryService.getRepository().findByType(CategoryType.NONE)); - } - - if(template.getAmount() == null) - { - final Account selectedAccount = accountService.getRepository().findByIsSelected(true); - template.setAccount(selectedAccount); - } + templateService.prepareTemplateForNewTransaction(template); boolean isPayment = true; if(template.getAmount() != null) diff --git a/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateService.java b/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateService.java index bbeb9803a8d882018d617558ed29b417db80e118..4fc84a49d3626533807eaabac9fe192c059f915b 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateService.java @@ -1,5 +1,9 @@ package de.deadlocker8.budgetmaster.templates; +import de.deadlocker8.budgetmaster.accounts.Account; +import de.deadlocker8.budgetmaster.accounts.AccountService; +import de.deadlocker8.budgetmaster.categories.CategoryService; +import de.deadlocker8.budgetmaster.categories.CategoryType; import de.deadlocker8.budgetmaster.services.Resetable; import de.deadlocker8.budgetmaster.transactions.Transaction; import org.slf4j.Logger; @@ -11,12 +15,16 @@ import org.springframework.stereotype.Service; public class TemplateService implements Resetable { private final Logger LOGGER = LoggerFactory.getLogger(this.getClass()); - private TemplateRepository templateRepository; + private final TemplateRepository templateRepository; + private final AccountService accountService; + private final CategoryService categoryService; @Autowired - public TemplateService(TemplateRepository templateRepository) + public TemplateService(TemplateRepository templateRepository, AccountService accountService, CategoryService categoryService) { this.templateRepository = templateRepository; + this.accountService = accountService; + this.categoryService = categoryService; } public TemplateRepository getRepository() @@ -50,4 +58,18 @@ public class TemplateService implements Resetable getRepository().save(template); } + + public void prepareTemplateForNewTransaction(Template template) + { + if(template.getCategory() == null) + { + template.setCategory(categoryService.getRepository().findByType(CategoryType.NONE)); + } + + if(template.getAmount() == null) + { + final Account selectedAccount = accountService.getRepository().findByIsSelected(true); + template.setAccount(selectedAccount); + } + } }