2007-12-14 02:27:48 +00:00
|
|
|
package bigbank;
|
|
|
|
|
|
|
|
import org.springframework.util.Assert;
|
|
|
|
|
|
|
|
public class BankServiceImpl implements BankService {
|
2010-08-05 22:47:42 +01:00
|
|
|
private final BankDao bankDao;
|
2008-10-30 04:10:54 +00:00
|
|
|
|
|
|
|
public BankServiceImpl(BankDao bankDao) {
|
|
|
|
Assert.notNull(bankDao);
|
|
|
|
this.bankDao = bankDao;
|
|
|
|
}
|
|
|
|
|
|
|
|
public Account[] findAccounts() {
|
|
|
|
return this.bankDao.findAccounts();
|
|
|
|
}
|
|
|
|
|
|
|
|
public Account post(Account account, double amount) {
|
|
|
|
Assert.notNull(account);
|
|
|
|
|
|
|
|
// We read account bank from DAO so it reflects the latest balance
|
|
|
|
Account a = bankDao.readAccount(account.getId());
|
|
|
|
if (account == null) {
|
|
|
|
throw new IllegalArgumentException("Couldn't find requested account");
|
|
|
|
}
|
|
|
|
|
|
|
|
a.setBalance(a.getBalance() + amount);
|
|
|
|
bankDao.createOrUpdateAccount(a);
|
|
|
|
return a;
|
|
|
|
}
|
|
|
|
|
|
|
|
public Account readAccount(Long id) {
|
|
|
|
return bankDao.readAccount(id);
|
|
|
|
}
|
2007-12-14 02:27:48 +00:00
|
|
|
}
|