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] 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(); } }