Skip to content

impliment logic in saleCalculator #33

Merged
merged 1 commit into from
Feb 23, 2026
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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());
}
}
Original file line number Diff line number Diff line change
@@ -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;
Expand Down Expand Up @@ -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);
}

Expand Down