From 0d2371070972d8a54223dc723ee961e064017825 Mon Sep 17 00:00:00 2001
From: Andreas <andreksv@ntnu.no>
Date: Sun, 19 Mar 2023 18:36:27 +0100
Subject: [PATCH] Made readExpenseRegisterFromFile method

---
 .../demo/data/Economics/FileHandling.java     | 41 +++++++++++++++----
 1 file changed, 32 insertions(+), 9 deletions(-)

diff --git a/src/main/java/no/ntnu/idatt1002/demo/data/Economics/FileHandling.java b/src/main/java/no/ntnu/idatt1002/demo/data/Economics/FileHandling.java
index c900c2ba..b38d598d 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/data/Economics/FileHandling.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/data/Economics/FileHandling.java
@@ -28,19 +28,15 @@ public class FileHandling {
 
     public List<Income> readIncomeRegisterFromFile(String fileTitle) throws IOException {
         ArrayList<Income> incomeRegister = new ArrayList<>();
-        String description = "";
-        double amount = 0;
-        boolean reoccuring;
-        String date = "";
-        IncomeCategory incomeCategory;
         try (BufferedReader br = new BufferedReader(new FileReader("src/main/resources/" + fileTitle + ".itemRegister"))) {
             String line;
             while ((line = br.readLine()) != null) {
                 if (!line.isEmpty()) {
-                    date = line;
-                    description = br.readLine();
-                    amount = Double.parseDouble(br.readLine());
-                    reoccuring = br.readLine().equals("Reoccurring");
+                    String date = line;
+                    String description = br.readLine();
+                    double amount = Double.parseDouble(br.readLine());
+                    boolean reoccuring = br.readLine().equals("Reoccurring");
+                    IncomeCategory incomeCategory;
                     line = br.readLine();
                     if (line.equals("SALARY") || line.equals("STUDENT_LOAN") || line.equals("GIFT")) {
                         if (line.equals("SALARY")) {
@@ -57,4 +53,31 @@ public class FileHandling {
         }
         return incomeRegister;
     }
+
+    public List<Expense> readExpenseRegisterFromFile(String fileTitle) throws IOException {
+        ArrayList<Expense> expenseRegister = new ArrayList<>();
+        try (BufferedReader br = new BufferedReader(new FileReader("src/main/resources/" + fileTitle + ".itemRegister"))) {
+            String line;
+            while ((line = br.readLine()) != null) {
+                if (!line.isEmpty()) {
+                    String date = line;
+                    String description = br.readLine();
+                    double amount = Double.parseDouble(br.readLine());
+                    boolean reoccuring = br.readLine().equals("Reoccurring");
+                    ExpenseCategory expenseCategory;
+                    line = br.readLine();
+                    if (line.equals("CLOTHES") || line.equals("FOOD") || line.equals("BOOKS") || line.equals("OTHER")) {
+                        expenseCategory = switch (line) {
+                            case "CLOTHES" -> ExpenseCategory.CLOTHES;
+                            case "FOOD" -> ExpenseCategory.FOOD;
+                            case "BOOKS" -> ExpenseCategory.BOOKS;
+                            default -> ExpenseCategory.OTHER;
+                        };
+                        expenseRegister.add(new Expense(description,amount,reoccuring,expenseCategory,date));
+                    }
+                }
+            }
+        }
+        return expenseRegister;
+    }
 }
\ No newline at end of file
-- 
GitLab