Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package sample;
- import javafx.collections.FXCollections;
- import javafx.collections.ObservableList;
- import javafx.event.ActionEvent;
- import javafx.fxml.FXML;
- import javafx.fxml.FXMLLoader;
- import javafx.scene.Parent;
- import javafx.scene.Scene;
- import javafx.scene.chart.LineChart;
- import javafx.scene.chart.XYChart;
- import javafx.scene.control.*;
- import javafx.stage.Stage;
- import java.io.IOException;
- import java.sql.*;
- import java.time.LocalDate;
- import java.time.Period;
- import static sample.Database.*;
- import static sample.Habits.*;
- import static sample.Login.userIdRetrieved;
- public class HabitDetail {
- // static int strike = reservedHabit.getStrike();
- Connection connection=null;
- Statement stat=null;
- boolean taskHaveBeenDone=false;
- int retrievedStrikeGraph;
- int retrievedStrike;
- Date strikeDate;
- LocalDate strikeDateMain=LocalDate.now();
- Period intervalPeriod;
- boolean habitsDatabaseEmpty=true;
- boolean firstInsert=false;
- XYChart.Series<String, Number> series = new XYChart.Series<String, Number>();
- // static LocalDate startDateHabitLinearGraph=LocalDate.now();
- @FXML Label habitDetailName;
- @FXML Label descriptionHabit;
- @FXML CheckBox checkHabit;
- @FXML Label strikeHabit;
- @FXML Label daysLeft;
- @FXML Label monthLeft;
- @FXML Label yearLeft;
- @FXML DatePicker startDateHabit;
- @FXML DatePicker endDateHabit;
- @FXML Button editHabit;
- @FXML Button returnHabit;
- @FXML LineChart<String,Number> habitDetailLineChart;
- ObservableList lineChartValuesStrike= FXCollections.observableArrayList();
- @FXML
- void initialize(){
- habitDetailName.setText(reservedHabitName);
- descriptionHabit.setText(reservedHabitDescription);
- startDateHabit.setValue(reservedStartHabitDate);
- endDateHabit.setValue(reservedEndHabitDate);
- daysLeft.setText(String.valueOf(reservedDifferentOfTimeDays));
- monthLeft.setText(String.valueOf(reservedDifferentOfTimeMonth));
- yearLeft.setText(String.valueOf(reservedDifferentOfTimeYears));
- startDateHabit.setEditable(false);
- endDateHabit.setEditable(false);
- // XYChart.Series<String,Number> series=new XYChart.Series<String,Number>();
- // series.getData().add(new XYChart.Data<String,Number>(String.valueOf(reservedStartHabitDate),2));
- // series.getData().add(new XYChart.Data<String,Number>(String.valueOf(reservedStartHabitDate.plusDays(1)),2));
- // series.getData().add(new XYChart.Data<String,Number>(String.valueOf(reservedStartHabitDate.plusDays(2)),3));
- // series.getData().add(new XYChart.Data<String,Number>(String.valueOf(reservedStartHabitDate.plusDays(3)),0));
- // habitDetailLineChart.getData().add(series);
- }
- @FXML
- public void todayStrike(ActionEvent event){
- //// habitDetailLineChart.getData().clear();
- // if(checkHabit.isSelected()) {
- // strike = strike + 1;
- // startDateHabitLinearGraph=startDateHabitLinearGraph.plusDays(1);
- // series.getData().add(new XYChart.Data<String, Number>(String.valueOf(startDateHabitLinearGraph), strike));
- // series.getData().add(new XYChart.Data<String, Number>(String.valueOf(startDateHabitLinearGraph.plusDays(2)), strike));
- // series.getData().add(new XYChart.Data<String, Number>(String.valueOf(startDateHabitLinearGraph.plusDays(3)), strike));
- // series.getData().add(new XYChart.Data<String, Number>(String.valueOf(startDateHabitLinearGraph.plusDays(10)), strike+9));
- // System.out.println(startDateHabitLinearGraph);
- // System.out.println(strike);
- //
- // lineChartValuesStrike.add(series);
- //// habitDetailLineChart.getData().add(series);
- // }
- //// else{
- //// strike =strike-1;
- //// series=new XYChart.Series<String,Number>();
- //// startDateHabitLinearGraph=startDateHabitLinearGraph.plusDays(1);
- //// series.getData().add(new XYChart.Data<String,Number>(String.valueOf(startDateHabitLinearGraph),strike));
- //// }
- //
- // habitDetailLineChart.getData().addAll(lineChartValuesStrike);
- String getAllFromUser = "select * from goalmangementsystem.habitstrike";
- String getDataFromTable = "select * from goalmangementsystem.habitstrike";
- try {
- connection= DriverManager.getConnection(MYSQLURL, userNameDatabase, userPasswordDatabase);
- stat = connection.createStatement();
- ResultSet rs = stat.executeQuery(getAllFromUser);
- if(rs.next()==false){
- habitsDatabaseEmpty=true;
- }
- while(rs.next()){
- retrievedStrike=rs.getInt("Strike");
- retrievedStrikeGraph=rs.getInt("StrikeGraph");
- strikeDate=rs.getDate("Today");
- strikeDateMain =strikeDate.toLocalDate();
- // System.out.println("Strike date "+strikeDateMain);
- series.getData().add(new XYChart.Data<String, Number>(String.valueOf(strikeDate), retrievedStrikeGraph));
- if(strikeDateMain.equals(LocalDate.now())){
- retrievedStrike=rs.getInt("Strike");
- retrievedStrikeGraph=rs.getInt("StrikeGraph");
- taskHaveBeenDone=true;
- }
- }
- if(taskHaveBeenDone==false)
- {
- retrievedStrikeGraph=retrievedStrikeGraph+1;
- intervalPeriod = Period.between(strikeDateMain,LocalDate.now());
- // System.out.println(intervalPeriod.getDays()+" Differnt in days");
- if(intervalPeriod.getDays()>1){
- retrievedStrike=0;
- retrievedStrikeGraph=retrievedStrikeGraph-(intervalPeriod.getDays());
- }else {
- retrievedStrike=retrievedStrike+1;
- }
- series.getData().add(new XYChart.Data<String, Number>(String.valueOf(LocalDate.now()), retrievedStrikeGraph));
- }
- if(taskHaveBeenDone==true){
- Alert alert = new Alert(Alert.AlertType.WARNING);
- alert.setTitle("Done it Today");
- alert.setHeaderText(null);
- alert.setContentText("You already done it today !!");
- alert.showAndWait();
- }else {
- if(habitsDatabaseEmpty==true) {
- String sql_insert = ("insert into goalmangementsystem.habitstrike (Today,Strike,StrikeGraph,UserID_FK) values('" + LocalDate.now() + "','" + 1 + "','" + 1 + "'," + userIdRetrieved + ")");
- stat.executeUpdate(sql_insert);
- Alert alert = new Alert(Alert.AlertType.INFORMATION);
- alert.setTitle("Have been added");
- alert.setHeaderText(null);
- alert.setContentText("Strike for today have been added !!");
- alert.showAndWait();
- firstInsert=true;
- }
- if(habitsDatabaseEmpty==false){
- String sql_insert = ("insert into goalmangementsystem.habitstrike (Today,Strike,StrikeGraph,UserID_FK) values('" + LocalDate.now() + "','" + retrievedStrike + "','" + retrievedStrikeGraph + "'," + userIdRetrieved + ")");
- stat.executeUpdate(sql_insert);
- Alert alert = new Alert(Alert.AlertType.INFORMATION);
- alert.setTitle("Have been added");
- alert.setHeaderText(null);
- alert.setContentText("Strike for today have been added !!");
- alert.showAndWait();
- }
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- try {
- stat.close();
- connection.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- lineChartValuesStrike.add(series);
- habitDetailLineChart.getData().add(series);
- }
- @FXML
- public void returnToHabitFromHabitDetail(ActionEvent event) throws IOException {
- Parent PersonalInfoViewParent = FXMLLoader.load(getClass().getResource("Habits.fxml"));
- Scene PersonalInfoViewScene = new Scene(PersonalInfoViewParent);
- Stage PersonalInfo_window = (Stage) ((javafx.scene.Node) event.getSource()).getScene().getWindow();
- PersonalInfo_window.setScene(PersonalInfoViewScene);
- PersonalInfo_window.show();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement