From 0bafdcb1f7a1b2971aeae14e1294893f04cacbea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Einar=20Sk=C3=B8ien?= Date: Mon, 23 Feb 2026 10:44:36 +0100 Subject: [PATCH 1/2] implement logic in Portfolio class --- .../idi/idatt2003/gruppe42/Model/Portfolio.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Portfolio.java b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Portfolio.java index fcb26a0..0c39fb4 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Portfolio.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Portfolio.java @@ -23,7 +23,11 @@ public Portfolio() { * @return true or false based on if the operation was successful or not. */ public boolean addShare(Share share) { - return true; + if (share == null) { + return false; + } else { + return shares.add(share); + } } /** @@ -32,7 +36,11 @@ public boolean addShare(Share share) { * @return true or false based on if the operation was successful or not. */ public boolean removeShare(Share share) { - return false; + if (share == null || !shares.contains(share)) { + return false; + } else { + return shares.remove(share); + } } public List getShares() { @@ -45,6 +53,6 @@ public List getShares() { * @return true or false based on if the share was found or not. */ public boolean contains(Share share) { - return true; + return share != null && shares.contains(share); } } From 74e694c345b61eb589c71c5d2d55be85d173b303 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Einar=20Sk=C3=B8ien?= Date: Mon, 23 Feb 2026 11:11:47 +0100 Subject: [PATCH 2/2] implement logic in the TransactionArchive class --- .../Model/Transaction/TransactionArchive.java | 48 ++++++++++++++++--- 1 file changed, 42 insertions(+), 6 deletions(-) diff --git a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/TransactionArchive.java b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/TransactionArchive.java index c811205..455c7ba 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/TransactionArchive.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/TransactionArchive.java @@ -1,7 +1,9 @@ package edu.ntnu.idi.idatt2003.gruppe42.Model.Transaction; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; public class TransactionArchive { private List transactions; @@ -11,26 +13,60 @@ public TransactionArchive() { } public boolean add(Transaction transaction) { - return true; + if (transaction == null) { + return false; + } else { + return transactions.add(transaction); + } } public boolean isEmpty() { - return true; + return transactions.isEmpty(); } public List getTransactions(int week) { - return transactions; + List transactionsThisWeek = new ArrayList<>(); + + for (Transaction transaction : transactions) { + if (transaction.getWeek() == week) { + transactionsThisWeek.add(transaction); + } + } + + return transactionsThisWeek; } public List getPurchases(int week) { - return null; + List purchasesThisWeek = new ArrayList<>(); + + for (Transaction transaction : transactions) { + if (transaction.getWeek() == week && transaction instanceof Purchase) { + purchasesThisWeek.add((Purchase) transaction); + } + } + + return purchasesThisWeek; } public List getSales(int week) { - return null; + List salesThisWeek = new ArrayList<>(); + + for (Transaction transaction : transactions) { + if (transaction.getWeek() == week && transaction instanceof Sale) { + salesThisWeek.add((Sale) transaction); + } + } + + return salesThisWeek; } public int countDistinctWeeks() { - return 0; + Set distinctWeeks = new HashSet<>(); + + for (Transaction transaction : transactions) { + distinctWeeks.add(transaction.getWeek()); + } + + return distinctWeeks.size(); } }