uaveiro-leci/1ano/2semestre/poo/src/aula08/ex3/Purchase.java

38 lines
1.1 KiB
Java

package aula08.ex3;
import aula08.ex3.Interfaces.IPurchase;
import java.util.LinkedHashMap;
public class Purchase implements IPurchase {
private final LinkedHashMap<Product, Integer> products = new LinkedHashMap<>();
@Override
public void addProduct(Product product, int amount) {
if (product.stock() < amount)
amount = product.stock();
product.removeStock(amount);
if (products.containsKey(product)) {
int currentAmount = products.get(product);
products.replace(product, currentAmount + amount);
} else
products.put(product, amount);
}
@Override
public void listProducts() {
for (Product product : products.keySet()) {
int productAmount = products.get(product);
System.out.printf("Product: %s\n\tAmount: %d\n\tPrice: %.2f\n", product.getName(), productAmount, productAmount * product.getPrice());
}
}
@Override
public double getTotal() {
double total = 0;
for (Product product : products.keySet())
total += product.getPrice() * products.get(product);
return total;
}
}