Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package controller;
- import javafx.beans.binding.Bindings;
- import javafx.collections.FXCollections;
- import javafx.collections.ObservableList;
- import javafx.collections.transformation.SortedList;
- import javafx.event.ActionEvent;
- import javafx.fxml.Initializable;
- import javafx.scene.control.*;
- import javafx.scene.control.cell.PropertyValueFactory;
- import model.CharityCase;
- import model.Donation;
- import repository.CharityRepository;
- import repository.DonationRepository;
- import java.net.URL;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.ResourceBundle;
- public class FxController implements Initializable {
- public TableView<CharityCase> charityCaseTableView;
- public TableColumn<CharityCase, Integer> colID;
- public TableColumn<CharityCase, String> colCharityCase;
- public TableColumn<CharityCase, Integer> colSum;
- public Button buttonDisplay;
- public Button buttonAddDonation;
- public TextField textAddCharityDonation;
- public TextField textAddNameDonation;
- public TextField textAddAddressDonation;
- public TextField textAddTelDonation;
- public TextField textAddAmountDonation;
- public TextField textAddIDDonation;
- public TableView<Donation> donationTableView;
- public TableColumn<Object, Object> colDonationID;
- public TableColumn<Object, Object> colCharity;
- public TableColumn<Object, Object> colName;
- public TableColumn<Object, Object> colAddress;
- public TableColumn<Object, Object> colTel;
- public TableColumn<Object, Object> colAmount;
- public TableView<Donation> searchDonationTableView;
- public TableColumn<Object, Object> colSearchID;
- public TableColumn<Object, Object> colSearchCharity;
- public TableColumn<Object, Object> colSearchName;
- public TableColumn<Object, Object> colSearchAddress;
- public TableColumn<Object, Object> colSearchTel;
- public TableColumn<Object, Object> colSearchAmount;
- public Button buttonSearch;
- public Button buttonFill;
- public TableColumn<Object, Object> colCharityID;
- public TableColumn<Object, Object> colSearchCharityID;
- private CharityRepository charityRepository = new CharityRepository();
- private CharityController charityController = new CharityController(charityRepository);
- private DonationRepository donationRepository = new DonationRepository();
- private DonationController donationController = new DonationController(donationRepository);
- @Override
- public void initialize(URL location, ResourceBundle resources) {
- colID.setCellValueFactory(new PropertyValueFactory<>("caseID"));
- colCharityCase.setCellValueFactory(new PropertyValueFactory<>("name"));
- colSum.setCellValueFactory(new PropertyValueFactory<>("sum"));
- setCellValue(colDonationID, colCharity, colName, colAddress, colTel, colAmount, colCharityID);
- setCellValue(colSearchID, colSearchCharity, colSearchName, colSearchAddress, colSearchTel, colSearchAmount, colSearchCharityID);
- }
- private void setCellValue(TableColumn<Object, Object> colDonationID, TableColumn<Object, Object> colCharity, TableColumn<Object, Object> colName, TableColumn<Object, Object> colAddress, TableColumn<Object, Object> colTel, TableColumn<Object, Object> colAmount, TableColumn<Object, Object> colCharityID) {
- colDonationID.setCellValueFactory(new PropertyValueFactory<>("donationID"));
- colCharity.setCellValueFactory(new PropertyValueFactory<>("charityCaseName"));
- colName.setCellValueFactory(new PropertyValueFactory<>("donatorName"));
- colAddress.setCellValueFactory(new PropertyValueFactory<>("address"));
- colTel.setCellValueFactory(new PropertyValueFactory<>("tel"));
- colAmount.setCellValueFactory(new PropertyValueFactory<>("amount"));
- colCharityID.setCellValueFactory(new PropertyValueFactory<>("idCharity"));
- }
- public void buttonDisplayClick(ActionEvent actionEvent){
- if (Bindings.isEmpty(charityCaseTableView.getItems()).get()) {
- List<CharityCase> charityCases = new ArrayList<>();
- ObservableList<CharityCase> details = FXCollections.observableArrayList(charityCases);
- details.addAll(charityController.getCharityCasesFromDB());
- charityCaseTableView.setItems(details);
- }
- if (Bindings.isEmpty(donationTableView.getItems()).get()) {
- List<Donation> donations = new ArrayList<>();
- ObservableList<Donation> donationDetails = FXCollections.observableArrayList(donations);
- donationDetails.addAll(donationController.getDonationsFromDB());
- donationTableView.setItems(donationDetails);
- }
- }
- public void buttonAddDonationClick(ActionEvent actionEvent) {
- Donation donation = new Donation(Integer.parseInt(textAddIDDonation.getText()), textAddCharityDonation.getText(), textAddNameDonation.getText(),
- textAddAddressDonation.getText(), Integer.parseInt(textAddTelDonation.getText()), Integer.parseInt(textAddAmountDonation.getText()), charityController.getCharityIdByName(textAddCharityDonation.getText()));
- donationTableView.getItems().add(donation);
- donationController.newDonation(donation);
- charityCaseTableView.getItems().clear();
- List<CharityCase> charityCases = new ArrayList<>();
- ObservableList<CharityCase> details = FXCollections.observableArrayList(charityCases);
- details.addAll(charityController.getCharityCasesFromDB());
- charityCaseTableView.setItems(details);
- }
- public void buttonSearchClick(ActionEvent actionEvent) {
- List<Donation> donations = new ArrayList<>();
- ObservableList<Donation> searchDonationDetails = FXCollections.observableArrayList(donations);
- searchDonationDetails.addAll(donationController.getDonationByName(textAddNameDonation.getText()));
- searchDonationTableView.setItems(searchDonationDetails);
- }
- public void buttonFillClick(ActionEvent actionEvent) {
- if (searchDonationTableView.getSelectionModel().getSelectedItem() != null) {
- Donation donation = searchDonationTableView.getSelectionModel().getSelectedItem();
- textAddNameDonation.setText(donation.getDonatorName());
- textAddAddressDonation.setText(donation.getAddress());
- textAddTelDonation.setText(String.valueOf(donation.getTel()));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement