@Override public void saveAndUpdateView() { this.data.setOpeningBalance(openingBalance.getAmount()); this.data.setReconcilationDate(new ClientFinanceDate()); data.setItems(this.clearedTransactions); saveOrUpdate(data); }
@Override public ValidationResult validate() { clearAllErrors(); ValidationResult result = new ValidationResult(); if (!DecimalUtil.isEquals(difference.getAmount(), 0.00D)) { result.addError(difference, messages.differenceValidate()); } if (clearedTransactions.isEmpty()) { result.addError(clearedTransactions, messages.thereIsNoTransactionsToReconcile()); } return result; }
/** @param value */ protected void clearTransaction(ClientReconciliationItem value, boolean isClear) { if (isClear) { clearedTransactions.add(value); } else { clearedTransactions.remove(value); } double transactionAmount = value.getAmount(); if (isClear) { double differenceAmount = closingBalance.getAmount() - (openingBalance.getAmount() + clearedAmount.getAmount() + transactionAmount); difference.setAmount(DecimalUtil.round(differenceAmount)); clearedAmount.setAmount(clearedAmount.getAmount() + transactionAmount); } else { difference.setAmount(difference.getAmount() + transactionAmount); clearedAmount.setAmount(clearedAmount.getAmount() - transactionAmount); } }