Advertisement
Guest User

Untitled

a guest
Nov 15th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.06 KB | None | 0 0
  1. package controllers;
  2.  
  3. import java.net.URL;
  4. import java.time.Instant;
  5. import java.time.LocalDate;
  6. import java.time.Period;
  7. import java.time.ZoneId;
  8. import java.util.Date;
  9. import java.util.List;
  10. import java.util.ResourceBundle;
  11.  
  12. import javax.imageio.ImageIO;
  13.  
  14. import java.awt.image.BufferedImage;
  15. import java.io.ByteArrayInputStream;
  16. import java.io.IOException;
  17.  
  18. import javafx.collections.FXCollections;
  19. import javafx.collections.ObservableList;
  20. import javafx.embed.swing.SwingFXUtils;
  21. import javafx.fxml.FXML;
  22. import javafx.fxml.Initializable;
  23. import javafx.scene.control.Button;
  24. import javafx.scene.control.DatePicker;
  25. import javafx.scene.control.ListView;
  26. import javafx.scene.control.TableView;
  27. import javafx.scene.image.ImageView;
  28. import util.DatabaseManager;
  29. import model.*;
  30.  
  31. public class MainController implements Initializable{
  32.  
  33. @FXML
  34. private DatePicker selectedDate;
  35. @FXML
  36. private ListView<String> appointmentsListView;
  37. @FXML
  38. private ListView<String> animalListView;
  39. @FXML
  40. private ImageView animalPhoto;
  41. @FXML
  42. private ListView<String> animalDiagnostics;
  43. @FXML
  44. private Button addDiagnosticButton;
  45.  
  46. private DatabaseManager dbManager = new DatabaseManager();
  47. private List<Appointment> currentlySelectedAppointments;
  48.  
  49. public void populateAppointmentList() {
  50. LocalDate localDate = selectedDate.getValue();
  51. Instant instant = Instant.from(localDate.atStartOfDay(ZoneId.systemDefault()));
  52. Date date = Date.from(instant);
  53. currentlySelectedAppointments = dbManager.getAppointmentsByDate(date);
  54. ObservableList<String> appointmentsDate = FXCollections.observableArrayList();
  55. for(Appointment appointment : currentlySelectedAppointments) {
  56. appointmentsDate.add(appointment.getAppointmentDate().toString());
  57. }
  58. appointmentsListView.setItems(appointmentsDate);
  59. appointmentsListView.refresh();
  60. }
  61.  
  62. public void populateAnimalList() {
  63. String selectedAppointmentDate = appointmentsListView.getSelectionModel().getSelectedItem();
  64. for(Appointment appointment : currentlySelectedAppointments) {
  65. if(selectedAppointmentDate == appointment.getAppointmentDate().toString()) {
  66. Animal animal = appointment.getAnimal();
  67. LocalDate animalBirthdate = animal.getAnimalBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
  68. ObservableList<String> animalTraits = FXCollections.observableArrayList();
  69. animalTraits.add("Nume: " + animal.getAnimalName());
  70. animalTraits.add("Greutate: " + animal.getAnimalWeight() + " kg");
  71. animalTraits.add("Varsta: " + (Period.between(LocalDate.now(), animalBirthdate).getYears()));
  72. animalTraits.add("Proprietar: " + animal.getAnimalOwner());
  73. animalTraits.add("Telefon: " + animal.getOwnerPhone());
  74. animalListView.setItems(animalTraits);
  75. animalListView.refresh();
  76. try {
  77. BufferedImage animalImage = ImageIO.read(new ByteArrayInputStream(animal.getAnimalPhoto()));
  78. animalPhoto.setImage(SwingFXUtils.toFXImage(animalImage, null));
  79. }
  80. catch(IOException e) {
  81. e.printStackTrace();
  82. }
  83. break;
  84. }
  85. }
  86. }
  87.  
  88. public void populateDiagnosticList() {
  89. String selectedAppointmentDate = appointmentsListView.getSelectionModel().getSelectedItem();
  90. for(Appointment appointment : currentlySelectedAppointments) {
  91. if(selectedAppointmentDate == appointment.getAppointmentDate().toString()) {
  92. Animal animal = appointment.getAnimal();
  93. List<Diagnostic> diagnosticsList = dbManager.getDiagnosticsOfAnimal(animal.getAnimalId());
  94. ObservableList<String> diagnosticsText = FXCollections.observableArrayList();
  95. for(Diagnostic diagnostic : diagnosticsList) {
  96. diagnosticsText.add(diagnostic.getDiagnosticTitle() + " " + diagnostic.getDiagnosticText());
  97. }
  98. animalDiagnostics.setItems(diagnosticsText);
  99. animalDiagnostics.refresh();
  100. break;
  101. }
  102. }
  103. }
  104.  
  105. public void populateAnimalLists() {
  106. populateAnimalList();
  107. populateDiagnosticList();
  108. }
  109.  
  110. @Override
  111. public void initialize(URL location, ResourceBundle resources) {
  112. selectedDate.setValue(LocalDate.now());
  113. populateAppointmentList();
  114. }
  115.  
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement