diff --git a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Calculator/SaleCalculator.java b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Calculator/SaleCalculator.java index 833d5ae..478e87d 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Calculator/SaleCalculator.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Calculator/SaleCalculator.java @@ -16,21 +16,25 @@ public SaleCalculator(Share share) { @Override public BigDecimal calculateGross() { - return null; + return salesPrice.multiply(quantity); } @Override public BigDecimal calculateCommission() { - return null; + BigDecimal commissionRate = new BigDecimal("0.01"); + return calculateGross().multiply(commissionRate); } @Override public BigDecimal calculateTax() { - return null; + BigDecimal taxRate = new BigDecimal("0.22"); + BigDecimal differencePrice = salesPrice.subtract(purchasePrice); + BigDecimal difference = differencePrice.multiply(quantity); + return difference.multiply(taxRate); } @Override public BigDecimal calculateTotal() { - return null; + return calculateGross().subtract(calculateCommission()).subtract(calculateTax()); } } diff --git a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Exchange.java b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Exchange.java index 9aac7df..467734a 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Exchange.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Exchange.java @@ -1,5 +1,6 @@ package edu.ntnu.idi.idatt2003.gruppe42.Model; +import edu.ntnu.idi.idatt2003.gruppe42.Model.Calculator.SaleCalculator; import edu.ntnu.idi.idatt2003.gruppe42.Model.Transaction.Purchase; import edu.ntnu.idi.idatt2003.gruppe42.Model.Transaction.Sale; import edu.ntnu.idi.idatt2003.gruppe42.Model.Transaction.Transaction; @@ -64,11 +65,8 @@ public Transaction buy(String symbol, BigDecimal quantity, Player player) { } public Transaction sell(Share share, Player player) { - BigDecimal salesPrice = share.getStock().getSalesPrice(); - BigDecimal quantity = share.getQuantity(); - - player.addMoney(salesPrice.multiply(quantity)); - + SaleCalculator saleCalculator = new SaleCalculator(share); + player.addMoney(saleCalculator.calculateTotal()); return new Sale(share, week); }