public void withdraw(BigDecimal amount) { if (thereIsMoneyToWithdraw(amount)) { usedLimit = usedLimit.add(amount); } else { throw new NotEnoughMoneyException(id, amount, availableBalance()); } }
public void withdraw(BigDecimal amount) { if (thereIsMoneyToWithdraw(amount)) { usedLimit = usedLimit.add(amount); } else { throw new NotEnoughMoneyException(id, amount, availableBalance()); } }
public void withdraw(BigDecimal amount) { if (thereIsMoneyToWithdraw(amount)) { usedLimit = usedLimit.add(amount); } else { throw new NotEnoughMoneyException(id, amount, availableBalance()); } }
public void withdraw(BigDecimal amount) { if (thereIsMoneyToWithdraw(amount)) { usedLimit = usedLimit.add(amount); } else { throw new NotEnoughMoneyException(id, amount, availableBalance()); } }
public void withdraw(BigDecimal amount) { if (thereIsMoneyToWithdraw(amount)) { usedLimit = usedLimit.add(amount); } else { throw new NotEnoughMoneyException(id, amount, availableBalance()); } }
public void withdraw(BigDecimal amount) { if (thereIsMoneyToWithdraw(amount)) { usedLimit = usedLimit.add(amount); withdrawals.add(new Withdrawal(amount, id)); } else { throw new NotEnoughMoneyException(id, amount, availableBalance()); } }
public CardWithdrawn withdraw(BigDecimal amount) { if (thereIsMoneyToWithdraw(amount)) { usedLimit = usedLimit.add(amount); return new CardWithdrawn(id, amount); } else { throw new NotEnoughMoneyException(id, amount, availableBalance()); } }
CardWithdrawn withdraw(WithdrawalCommand command) { BigDecimal amount = command.getAmount(); if (thereIsMoneyToWithdraw(amount)) { return new CardWithdrawn(cardId, amount); } else { throw new NotEnoughMoneyException(cardId, command.getAmount(), availableBalance()); } }