From 6b64e7f3fdaacb892203d4c9dcedd701249ca716 Mon Sep 17 00:00:00 2001 From: AdrianBalunan Date: Thu, 12 Mar 2026 23:54:55 +0100 Subject: [PATCH] Feat: Added fx:id with variables in the controller and pimped it the view model a little --- .../team6/controller/FrontpageController.java | 44 ++++++++++++++++--- .../src/main/resources/fxml/frontPage.fxml | 27 ++++++------ 2 files changed, 51 insertions(+), 20 deletions(-) diff --git a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/controller/FrontpageController.java b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/controller/FrontpageController.java index 3ee3d39..3ae3ca0 100644 --- a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/controller/FrontpageController.java +++ b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/controller/FrontpageController.java @@ -1,23 +1,44 @@ package ntnu.systemutvikling.team6.controller; -import java.util.List; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; +import javafx.scene.control.Label; import javafx.scene.layout.FlowPane; +import ntnu.systemutvikling.team6.database.DatabaseManager; import ntnu.systemutvikling.team6.models.Charity; +import ntnu.systemutvikling.team6.models.CharityRegistry; +import ntnu.systemutvikling.team6.models.Donation; +import ntnu.systemutvikling.team6.models.DonationRegistry; + +import java.util.Random; +import java.util.stream.Collectors; public class FrontpageController { - @FXML private FlowPane cardsContainer; + + + @FXML + private FlowPane cardsContainer; + @FXML + private Label Carosel_Organisasjon; + @FXML + private Label Carosel_Beskrivelse; + @FXML + private Label Total_Orgnisasjon; + @FXML + private Label Total_Donations; + @FXML + private Label PreApproved_Percentage; @FXML public void initialize() { try { + DatabaseManager db = new DatabaseManager(); + CharityRegistry Charities = db.getCharitiesFromDB(); + DonationRegistry Donations = db.getDonationFromDB(); + for (Charity ch : Charities.getAllCharities()) { - /* - - for (Charity ch : charities) { FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/organizationCard.fxml")); @@ -25,11 +46,22 @@ public void initialize() { OrganizationCardController cardController = loader.getController(); + System.out.println("Added Name: " + ch.getName() + " Added Description: " + ch.getDescription()); cardController.setOrganization(ch.getName(), ch.getDescription()); cardsContainer.getChildren().add(card); } - */ + int Charities_size = Charities.getAllCharities().size(); + Random random = new Random(); + int randomIndex = random.nextInt(Charities_size); + Charity randomCharity = Charities.getAllCharities().get(randomIndex); + Carosel_Organisasjon.setText(randomCharity.getName()); + Carosel_Beskrivelse.setText(randomCharity.getDescription()); + Total_Orgnisasjon.setText(Integer.toString(Charities_size)); + Total_Donations.setText(Double.toString(Donations.getAllDonations().stream().mapToDouble(Donation::getAmount).sum())); + PreApproved_Percentage.setText( + String.format("%.2f", Charities.getAllCharities().stream().filter(Charity::getPreApproved).count() * 100.0 / Charities_size) + + "%"); } catch (Exception e) { e.printStackTrace(); diff --git a/helpmehelpapplication/src/main/resources/fxml/frontPage.fxml b/helpmehelpapplication/src/main/resources/fxml/frontPage.fxml index eab15b9..7f1d7ee 100644 --- a/helpmehelpapplication/src/main/resources/fxml/frontPage.fxml +++ b/helpmehelpapplication/src/main/resources/fxml/frontPage.fxml @@ -109,9 +109,9 @@ - + - - + - - + -