Skip to content
Snippets Groups Projects
Commit c50dcfb0 authored by Robert Goldmann's avatar Robert Goldmann
Browse files

Fixed #39

parent 637b46e5
No related branches found
No related tags found
1 merge request!58merge new_database_structure into master
package de.deadlocker8.budgetmaster.logic;
import java.util.List;
public class Budget
{
private double incomeSum;
private double paymentSum;
public Budget(List<Payment> payments)
{
incomeSum = 0;
paymentSum = 0;
for(Payment currentPayment : payments)
{
double amount = currentPayment.getAmount();
if(amount > 0)
{
incomeSum += amount;
}
else
{
paymentSum += amount;
}
}
incomeSum /= 100.0;
paymentSum /= 100.0;
}
public double getIncomeSum()
{
return incomeSum;
}
public double getPaymentSum()
{
return paymentSum;
}
}
\ No newline at end of file
package de.deadlocker8.budgetmaster.ui;
import java.text.DecimalFormat;
import java.util.ArrayList;
import org.joda.time.DateTime;
import de.deadlocker8.budgetmaster.logic.Budget;
import de.deadlocker8.budgetmaster.logic.CategoryBudget;
import de.deadlocker8.budgetmaster.ui.cells.CategoryBudgetCell;
import javafx.application.Platform;
......@@ -23,6 +27,7 @@ public class HomeController implements Refreshable
@FXML private ProgressBar progressBar;
@FXML private ListView<CategoryBudget> listView;
private final DecimalFormat numberFormat = new DecimalFormat("0.00");
private Controller controller;
public void init(Controller controller)
......@@ -54,11 +59,7 @@ public class HomeController implements Refreshable
});
anchorPaneMain.setStyle("-fx-background-color: #F4F4F4;");
Label labelPlaceholder = new Label("Keine Daten verfgbar");
labelPlaceholder.setStyle("-fx-font-size: 16");
listView.setPlaceholder(labelPlaceholder);
refreshListView();
refresh();
}
private void refreshListView()
......@@ -72,9 +73,40 @@ public class HomeController implements Refreshable
}
}
private void refreshCounter()
{
if(controller.getPayments() != null)
{
Budget budget = new Budget(controller.getPayments());
double remaining = budget.getIncomeSum() + budget.getPaymentSum();
labelBudget.setText(String.valueOf(numberFormat.format(remaining).replace(".", ",")) + " ");
labelStartBudget.setText("von " + String.valueOf(numberFormat.format(budget.getIncomeSum()).replace(".", ",")) + " verbleibend");
double factor = remaining / budget.getIncomeSum();
if(factor < 0)
{
factor = 0;
}
progressBar.setProgress(factor);
}
}
@Override
public void refresh()
{
refreshListView();
refreshCounter();
Label labelPlaceholder;
if(controller.getCurrentDate().isAfter(DateTime.now()))
{
labelPlaceholder = new Label("Datum liegt in der Zukunft");
}
else
{
labelPlaceholder = new Label("Keine Daten verfgbar");
}
labelPlaceholder.setStyle("-fx-font-size: 16");
listView.setPlaceholder(labelPlaceholder);
}
}
\ No newline at end of file
......@@ -4,6 +4,9 @@ import java.io.IOException;
import java.text.DecimalFormat;
import java.util.ArrayList;
import org.joda.time.DateTime;
import de.deadlocker8.budgetmaster.logic.Budget;
import de.deadlocker8.budgetmaster.logic.Payment;
import de.deadlocker8.budgetmaster.ui.cells.PaymentCell;
import fontAwesome.FontIcon;
......@@ -163,24 +166,9 @@ public class PaymentController implements Refreshable
private void refreshCounter()
{
ArrayList<Payment> payments = new ArrayList<>(listView.getItems());
double counterIncome = 0;
double counterPayment = 0;
for(Payment currentPayment : payments)
{
double amount = currentPayment.getAmount();
if(amount > 0)
{
counterIncome += amount;
}
else
{
counterPayment += amount;
}
}
labelIncomes.setText(String.valueOf(numberFormat.format(counterIncome/100.0).replace(".", ",")) + " ");
labelPayments.setText(String.valueOf(numberFormat.format(counterPayment/100.0).replace(".", ",")) + " ");
Budget budget = new Budget(listView.getItems());
labelIncomes.setText(String.valueOf(numberFormat.format(budget.getIncomeSum()).replace(".", ",")) + " ");
labelPayments.setText(String.valueOf(numberFormat.format(budget.getPaymentSum()).replace(".", ",")) + " ");
}
//TODO
......@@ -209,5 +197,17 @@ public class PaymentController implements Refreshable
{
refreshListView();
refreshCounter();
Label labelPlaceholder;
if(controller.getCurrentDate().isAfter(DateTime.now()))
{
labelPlaceholder = new Label("Datum liegt in der Zukunft");
}
else
{
labelPlaceholder = new Label("Keine Daten verfgbar");
}
labelPlaceholder.setStyle("-fx-font-size: 16");
listView.setPlaceholder(labelPlaceholder);
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment