Zwischenstand Views
This commit is contained in:
98
src/main/java/ui/AccountviewController.java
Normal file
98
src/main/java/ui/AccountviewController.java
Normal file
@@ -0,0 +1,98 @@
|
||||
package ui;
|
||||
|
||||
import bank.PrivateBank;
|
||||
import bank.Transaction;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.control.*;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class AccountviewController {
|
||||
|
||||
@FXML
|
||||
private Label accountNameLabel;
|
||||
|
||||
@FXML
|
||||
private Label balanceLabel;
|
||||
|
||||
@FXML
|
||||
private ListView<String> transactionListView;
|
||||
|
||||
private PrivateBank privateBank;
|
||||
private String currentAccount;
|
||||
|
||||
public void setAccount(String accountName, PrivateBank bank) {
|
||||
this.currentAccount = accountName;
|
||||
this.privateBank = bank;
|
||||
updateAccountInfo();
|
||||
loadTransactions();
|
||||
}
|
||||
|
||||
private void updateAccountInfo() {
|
||||
accountNameLabel.setText("Account: " + currentAccount);
|
||||
double balance = privateBank.getAccountBalance(currentAccount);
|
||||
//balanceLabel.setText("Balance: " + balance);
|
||||
}
|
||||
|
||||
private void loadTransactions() {
|
||||
var transactions = privateBank.getTransactions(currentAccount);
|
||||
showTransactions(transactions);
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void onBackButtonClicked() {
|
||||
try {
|
||||
FXMLLoader loader = new FXMLLoader(getClass().getResource("/main.fxml"));
|
||||
Parent root = loader.load();
|
||||
|
||||
Stage stage = (Stage) transactionListView.getScene().getWindow();
|
||||
stage.getScene().setRoot(root);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void onSortAscending() {
|
||||
var sortedTransactions = privateBank.getTransactionsSorted(currentAccount, true);
|
||||
showTransactions(sortedTransactions);
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void onSortDescending() {
|
||||
var sortedTransactions = privateBank.getTransactionsSorted(currentAccount, false);
|
||||
showTransactions(sortedTransactions);
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void onShowPositive() {
|
||||
var positive = privateBank.getTransactionsByType(currentAccount, true);
|
||||
showTransactions(positive);
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void onShowNegative() {
|
||||
var negative = privateBank.getTransactionsByType(currentAccount, false);
|
||||
showTransactions(negative);
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void onShowAll() {
|
||||
var all = privateBank.getTransactions(currentAccount);
|
||||
showTransactions(all);
|
||||
}
|
||||
|
||||
private void showTransactions(List<Transaction> transactions) {
|
||||
List<String> displayList = new ArrayList<>();
|
||||
for (var t : transactions) {
|
||||
displayList.add(t.toString());
|
||||
}
|
||||
// transactionListView.getItems().setAll(displayList);
|
||||
updateAccountInfo(); // Balance neu anzeigen, falls sich was geändert hat
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user