From 5ef8f7698ce56381e964f7f0e9f748f14dcb24ef Mon Sep 17 00:00:00 2001
From: Harry Linrui XU <xulr0820@hotmail.com>
Date: Fri, 24 Mar 2023 13:11:42 +0100
Subject: [PATCH] Added alert box if budget amount is exceeded

---
 .../demo/controller/BudgetController.java        | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java
index 7a572c1b..edcb0d1d 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java
@@ -7,6 +7,7 @@ import javafx.fxml.FXML;
 import javafx.fxml.FXMLLoader;
 import javafx.scene.Node;
 import javafx.scene.control.*;
+import javafx.scene.control.Alert.AlertType;
 import javafx.scene.control.cell.PropertyValueFactory;
 import javafx.stage.Modality;
 import javafx.stage.Stage;
@@ -106,7 +107,11 @@ public class BudgetController {
 
         item = budgetController.getNewBudgetItem();
         if(item != null && dialogMode == DialogMode.ADD){
-            listOfBudgetItems.add(item);
+            try {
+            general.addToBudget(item.getBudgetAmount(), item.getBudgetDescription(), item.getBudgetCategory());
+            } catch(IllegalArgumentException e) {
+                showIllegalBudgetItemDialog();
+            }
         }
         refreshObservableList();
     }
@@ -140,6 +145,15 @@ public class BudgetController {
         return alert.showAndWait();
     }
 
+    private Optional<ButtonType> showIllegalBudgetItemDialog() {
+        Alert alert = new Alert(AlertType.ERROR);
+        alert.setTitle("Budget amount exceeded");
+        alert.setHeaderText("Your budget exceeds the max limit");
+        alert.setContentText("The total budget sum must be bl" );
+
+        return alert.showAndWait();
+    }
+
 
     protected void refreshObservableList(){
         budgetTableView.setItems(budgetList);
-- 
GitLab