diff --git a/src/main/java/temppackage/Sale.java b/src/main/java/temppackage/Sale.java index 958389b..2507589 100644 --- a/src/main/java/temppackage/Sale.java +++ b/src/main/java/temppackage/Sale.java @@ -1,11 +1,25 @@ package temppackage; +import temppackage.calculators.SaleCalculator; + public class Sale extends Transaction { - public Sale(Share share, int week) {} + + public Sale(Share share, int week) { + super(share, week, new SaleCalculator(share)); + } @Override public void commit(Player player) { - // TODO Auto-generated method stub - super.commit(player); + if (isCommitted()) { + throw new IllegalStateException("Already committed"); + } + + if (!player.getPortfolio().contains(getShare())) { + throw new IllegalStateException("Does not own the share"); + } + player.addMoney(getCalculator().calculateTotal()); + player.getPortfolio().removeShare(getShare()); + player.getTransactionArchive().add(this); + setCommitted(true); } }