From 74507e4fe3ea7e7dc756d64d8869be44fa7d8c7f Mon Sep 17 00:00:00 2001 From: martin Date: Thu, 5 Mar 2026 17:44:39 +0100 Subject: [PATCH] Finishing sale constructor --- src/main/java/temppackage/Sale.java | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) 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); } }