Skip to content

Commit

Permalink
Filled out remaining functionality in SaleCalculator
Browse files Browse the repository at this point in the history
  • Loading branch information
Nikollai committed Mar 4, 2026
1 parent fe0e60e commit cac776a
Showing 1 changed file with 24 additions and 1 deletion.
25 changes: 24 additions & 1 deletion src/main/java/temppackage/calculators/SaleCalculator.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,37 @@
package temppackage.calculators;

import java.math.BigDecimal;
import java.math.RoundingMode;

import temppackage.Share;

public class SaleCalculator {
public class SaleCalculator implements TransactionCalculator{
BigDecimal purchasePrice;
BigDecimal salesPrice;
BigDecimal quantity;
public SaleCalculator(Share share) {
super();
this.purchasePrice = share.getPurchasePrice();
}
@Override
public BigDecimal calculateGross() {
return salesPrice.multiply(quantity);
}

@Override
public BigDecimal calculateComission() {
return this.calculateGross().divide(new BigDecimal("100"), RoundingMode.HALF_UP);
}

@Override
public BigDecimal calculateTax() {
BigDecimal purchaseCosts = this.purchasePrice.multiply(this.quantity);
BigDecimal earnings = this.calculateGross().subtract(this.calculateComission()).subtract(purchaseCosts);
return earnings.multiply(new BigDecimal("30")).divide(new BigDecimal("100"), RoundingMode.HALF_UP);
}

@Override
public BigDecimal calculateTotal() {
return this.calculateGross().subtract(this.calculateComission()).subtract(this.calculateTax());
}
}

0 comments on commit cac776a

Please sign in to comment.