Skip to content
This repository has been archived by the owner on Jun 22, 2019. It is now read-only.

Commit

Permalink
JavaBasicsLab Session 4 Homework - DONE
Browse files Browse the repository at this point in the history
  • Loading branch information
Claudiu Bicsabi committed Apr 20, 2018
1 parent 15ddef2 commit dce4b75
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 10 deletions.
10 changes: 7 additions & 3 deletions src/JavaBasicsLab/S04_05/Homework/CashRegister.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,15 @@ public void setCurrency(String currency) {
this.currency = currency;
}

public double getAvailableAmount() {
protected double getAvailableAmount() {
return availableAmount;
}

public void sellShopItems() {
//TODO
protected void creditAvailableAmount(double amount) {
this.availableAmount += amount;
}

public void debitAvailableAmount(double amount) {
this.availableAmount -= amount;
}
}
5 changes: 3 additions & 2 deletions src/JavaBasicsLab/S04_05/Homework/Inventory.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

public class Inventory {
private String name;
private Map<ShopItem, Integer> stock = new LinkedHashMap<>();
protected Map<ShopItem, Integer> stock = new LinkedHashMap<>();

public String getName() {
return name;
Expand All @@ -18,6 +18,7 @@ public void setName(String name) {

public Inventory(String name) {
this.name = name;

}

public void addToStock(ShopItem si, int amount) {
Expand Down Expand Up @@ -48,7 +49,7 @@ public void removeFromStock(ShopItem si, int amount){


public void purgeFromStock(ShopItem si){
if(isInStock(si) && areYouSureValidation("PURGE", si)) {
if(isInStock(si) ){ //&& areYouSureValidation("PURGE", si)) {
stock.remove(si);
} else {
System.out.println("Shop Item not in stock.");
Expand Down
17 changes: 16 additions & 1 deletion src/JavaBasicsLab/S04_05/Homework/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,14 @@ public static void main(String[] args) {
ShopItem zahar = new ShopItem("Ingrediente", "Zahar", "I-001", 4.00);

Inventory magazin1 = new Inventory("Magazin 1");
CashRegister tillMagazin1 = new CashRegister("mag1-till1", "RON", 10000);
ShoppingCart cos = new ShoppingCart("cos", magazin1, tillMagazin1);

magazin1.addToStock(ouaDeGaina, 30);
magazin1.addToStock(ouaDePrepelita, -3);
magazin1.addToStock(ouaDePrepelita, 6);
magazin1.printStock();
magazin1.purgeFromStock(ouaDePrepelita);
//magazin1.purgeFromStock(ouaDePrepelita);
magazin1.addToStock(carneDeVita, 10);
magazin1.addToStock(zahar, 23);
System.out.println(magazin1.isInStock(ouaDePrepelita));
Expand All @@ -22,5 +25,17 @@ public static void main(String[] args) {
magazin1.removeFromStock(zahar, 46);
magazin1.printStock();
magazin1.removeFromStock(zahar, 2);


cos.addToStock(ouaDeGaina, 300);
System.out.println(cos.returnTotalPrice());
cos.buyShoppingCart();

System.out.println("Cos:");
cos.printStock();

System.out.println("Magazin:");
magazin1.printStock();
System.out.println(tillMagazin1.getAvailableAmount());
}
}
25 changes: 21 additions & 4 deletions src/JavaBasicsLab/S04_05/Homework/ShoppingCart.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,34 @@
package JavaBasicsLab.S04_05.Homework;

import java.util.Map;

public class ShoppingCart extends Inventory {
private Inventory inventory;
private CashRegister cashRegister;

public ShoppingCart(String name) {
public ShoppingCart(String name, Inventory inventory, CashRegister cashRegister) {
super(name);
this.inventory = inventory;
this.cashRegister = cashRegister;
}

public double returnTotalPrice(){
//TODO
return 0;
double pretTotal = 0;
for (Map.Entry<ShopItem, Integer> entry : stock.entrySet()) {
pretTotal += entry.getKey().getPrice() * entry.getValue();
}
return pretTotal;
}

public void buyShoppingCart(){
//TODO
for (Map.Entry<ShopItem, Integer> entry : stock.entrySet()) {
if (inventory.isInStock(entry.getKey())){
inventory.removeFromStock(entry.getKey(), entry.getValue());
if (!(inventory.stock.get(entry.getKey()) < entry.getValue())){
cashRegister.creditAvailableAmount(entry.getKey().getPrice() * entry.getValue());
inventory.purgeFromStock(entry.getKey());
}
}
}
}
}

0 comments on commit dce4b75

Please sign in to comment.