diff --git a/src/main/java/Exchange.java b/src/main/java/Exchange.java index 9c60de4..afbde59 100644 --- a/src/main/java/Exchange.java +++ b/src/main/java/Exchange.java @@ -41,11 +41,12 @@ public Stock getStock(String symbol) { } public List findStocks(String searchTerm) { - List result = new ArrayList<>(); + List result = new ArrayList<>(); + String lowerSearch = searchTerm.toLowerCase(); for (Stock stock : stockMap.values()) { - if (stock.getSymbol().contains(searchTerm) - || stock.getCompany().contains(searchTerm)) { + if (stock.getSymbol().toLowerCase().contains(lowerSearch) + || stock.getCompany().toLowerCase().contains(lowerSearch)) { result.add(stock); } } @@ -53,13 +54,40 @@ public List findStocks(String searchTerm) { return result; } - // public Transaction buy(String symbol, BigDecimal quantity, Player player) { - // return; - // } + public Transaction buy(String symbol, BigDecimal quantity, Player player) { + Stock stock = getStock(symbol); + + // unngå nullpointerexception + if (stock == null) { + return null; + } + + // lager en ny "andel" basert på nåværende salgspris + Share shareToBuy = new Share(stock, quantity, stock.getSalesPrice()); + + // oppretter kjøpstransaksjonen for den uka + Purchase purchase = new Purchase(shareToBuy, this.week); + + // committer til player + purchase.commit(player); + + return purchase; + } + + public Transaction sell(Share share, Player player) { + // unngå nullpointerexception + if (share == null) { + return null; + } - // public Transaction sell(Share share, Player player) { - // return; - // } + // oppretter salgstransaksjonen for den uka + Sale sale = new Sale(share, this.week); + + // commiter til player + sale.commit(player); + + return sale; + } public void advance() { diff --git a/src/main/java/Player.java b/src/main/java/Player.java index e94241c..59b4f72 100644 --- a/src/main/java/Player.java +++ b/src/main/java/Player.java @@ -24,11 +24,11 @@ public BigDecimal getMoney() { } public void addMoney(BigDecimal amount) { - this.money.add(amount); + this.money = this.money.add(amount); } public void withdrawMoney(BigDecimal amount) { - this.money.subtract(amount); + this.money = this.money.subtract(amount); } public Portfolio getPortfolio() { diff --git a/target/classes/Exchange.class b/target/classes/Exchange.class index 1a55e6d..dde00a7 100644 Binary files a/target/classes/Exchange.class and b/target/classes/Exchange.class differ