diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/AddExpenseController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/AddExpenseController.java index 0614e78ce0ae137f756feee9ff2a4eeb4e8a8c05..23682f826d2ce2d9917cce6d2e29c6fc6cec1ae8 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/controller/AddExpenseController.java +++ b/src/main/java/no/ntnu/idatt1002/demo/controller/AddExpenseController.java @@ -2,6 +2,9 @@ package no.ntnu.idatt1002.demo.controller; import java.text.NumberFormat; import java.time.LocalDate; + +import javafx.beans.property.SimpleStringProperty; +import javafx.beans.property.StringProperty; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.event.ActionEvent; @@ -66,7 +69,7 @@ public class AddExpenseController { } public void setExpense(Expense expense) { //TODO NEED CANCEL BUTTON TO REMOVE THE CHANGES IF CANCEL IS PRESSED - dateField.textProperty().bindBidirectional(expense.dateProperty()); + dateField.textProperty().bindBidirectional(new SimpleStringProperty(expense.getDate().toString())); amountField.textProperty().bindBidirectional(expense.amountProperty(), NumberFormat.getNumberInstance()); //TODO AMOUNT IS STORED WITH COMMA, WHICH IS NOT ALLOWED descriptionField.textProperty().bindBidirectional(expense.descriptionProperty()); //categoryBox.valueProperty().bindBidirectional(expense.getCategory()); @@ -75,16 +78,13 @@ public class AddExpenseController { @FXML public void pressOkBtn(ActionEvent event) { - if (newExpense == null) { - String date = dateField.getText(); - double amount = Double.parseDouble(amountField.getText()); - String description = descriptionField.getText(); - ExpenseCategory category = getCategory(); - boolean recurring = isRecurring(); - newExpense = new Expense(description, amount, recurring, category, date); - System.out.println(date + " " + amount + " " + description + " " + category + " " + recurring); - } - + LocalDate date = LocalDate.parse(dateField.getText()); + double amount = Double.parseDouble(amountField.getText()); + String description = descriptionField.getText(); + ExpenseCategory category = getCategory(); + boolean recurring = isRecurring(); + newExpense = new Expense(description, amount, recurring, category, date); + System.out.println(date + " " + amount + " " + description + " " + category + " " + recurring); final Node source = (Node) event.getSource(); ((Stage) source.getScene().getWindow()).close(); diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java index f154d49214269ebb0187ea50fee93ea3dfbad1e7..83a74789b500f9e3ce15f7551b4bb9ef6b9ac137 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java +++ b/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java @@ -3,6 +3,8 @@ package no.ntnu.idatt1002.demo.controller; import java.io.File; import java.io.IOException; +import java.time.LocalDate; +import java.time.Month; import java.util.Optional; import javafx.collections.FXCollections; import javafx.collections.ObservableList; @@ -85,7 +87,8 @@ public class ExpensesController { show.setItems(filter); show.setValue("All"); - expenseRegister = loadDataFromFile("Expense"); + Expense newExpense = new Expense(99, true, ExpenseCategory.FOOD, LocalDate.of(2023, Month.JULY, 5)); + expenseRegister.addItem(newExpense); expenses = FXCollections.observableArrayList(expenseRegister.getItems()); dateColumn.setCellValueFactory(new PropertyValueFactory<Expense, String>("date")); diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/MainMenuController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/MainMenuController.java index 275f86fbf059759b213b7c0cc03980c1ee3e423b..556801954739fd49b84564d1f4c6b1de3806f968 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/controller/MainMenuController.java +++ b/src/main/java/no/ntnu/idatt1002/demo/controller/MainMenuController.java @@ -1,5 +1,4 @@ package no.ntnu.idatt1002.demo.controller; -import java.awt.Image; import java.io.IOException; import javafx.event.ActionEvent; import javafx.fxml.FXML; @@ -13,8 +12,6 @@ import javafx.scene.control.Label; import javafx.scene.control.ProgressBar; import javafx.scene.image.ImageView; import javafx.stage.Stage; -import no.ntnu.idatt1002.demo.data.Economics.ItemRegister; -import no.ntnu.idatt1002.demo.view.ExpenseRepository; public class MainMenuController { @@ -40,7 +37,7 @@ public class MainMenuController { private Label today; - ExpenseRepository expenseRepository; + //ExpenseRepository expenseRepository; @FXML public void initialize() { progressbar.setProgress(0.5); diff --git a/src/main/java/no/ntnu/idatt1002/demo/view/ExpenseRepository.java b/src/main/java/no/ntnu/idatt1002/demo/view/ExpenseRepository.java deleted file mode 100644 index a6b91cda6799c12493a0badd609ae05e9519c844..0000000000000000000000000000000000000000 --- a/src/main/java/no/ntnu/idatt1002/demo/view/ExpenseRepository.java +++ /dev/null @@ -1,34 +0,0 @@ -package no.ntnu.idatt1002.demo.view; - -import java.lang.reflect.Array; -import java.util.ArrayList; -import no.ntnu.idatt1002.demo.data.Economics.Expense; -import no.ntnu.idatt1002.demo.data.Economics.ExpenseCategory; -import no.ntnu.idatt1002.demo.data.Economics.Item; -import no.ntnu.idatt1002.demo.data.Economics.ItemRegister; - -public class ExpenseRepository { - - private final ArrayList<Expense> expenses; - - public ExpenseRepository() { - this.expenses = new ArrayList<>(); - expenses.add(new Expense("free", 100, true, ExpenseCategory.FOOD, "1/1/23")); - expenses.add(new Expense(149, true, ExpenseCategory.FOOD, "1/1/23")); - expenses.add(new Expense("Not free", 1000, true, ExpenseCategory.CLOTHES, "2/1/23")); - expenses.add(new Expense(200, true, ExpenseCategory.BOOKS, "3/1/23")); - } - public ArrayList<Expense> getExpenses () { - return expenses; - } - - public void addExpense(Expense expense) { - expenses.add(expense); - } - public double getSum() { - System.out.println(getExpenses().stream().map(e -> e.getAmount()).reduce(0.0, Double::sum)); - return getExpenses().stream().map(e -> e.getAmount()).reduce(0.0, Double::sum); - } -} - -