Browse Source

Edit updates movie data.

Veloe 4 years ago
parent
commit
b2738887f8

+ 18 - 1
src/main/java/com/moviesdb/BrowserController.java

@@ -615,7 +615,24 @@ public class BrowserController extends Controller {
 
     GenreStatisticsController statsWindow;
 
-    public void openStatsForm() {
+    public void openStatsGenreForm() {
+
+        try {
+            FXMLLoader loader = new FXMLLoader(getClass().getResource("../../GenreStatisticsWindow.fxml"));
+            Parent root = loader.load();
+            statsWindow = loader.getController();
+            statsWindow.stage = new Stage();
+            statsWindow.stage.setScene(new Scene(root, 500, 500));
+            statsWindow.stage.setUserData(loader);
+            statsWindow.open(this);
+
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    public void openStatsStudioForm() {
 
         try {
             FXMLLoader loader = new FXMLLoader(getClass().getResource("../../GenreStatisticsWindow.fxml"));

+ 13 - 1
src/main/java/com/moviesdb/DataBaseConnector.java

@@ -356,7 +356,7 @@ public class DataBaseConnector {
             req = "UPDATE Movies SET" + intoPart;
             req += " WHERE (`id` = '" + oldMovie.id() + "');";
 
-
+            System.out.println(req);
             //выполнение запроса
             statement.execute(req);
         } catch (SQLException ex) {
@@ -377,6 +377,18 @@ public class DataBaseConnector {
         }
     }
 
+    public void deleteRoles(Movie movie) {
+        try {
+            Statement statement = conn.createStatement();
+            int targetId = movie.id();
+            String req;
+            req = "DELETE FROM Roles WHERE (`movie_id` = '" + targetId + "');";
+            statement.execute(req);
+        } catch (SQLException ex) {
+            ex.printStackTrace();
+        }
+    }
+
     public boolean granted(String grantName){
         if (connRights == null){
             return false;

+ 8 - 3
src/main/java/com/moviesdb/EditMovieController.java

@@ -233,10 +233,12 @@ public class EditMovieController extends Controller {
 
 
         //TODO Сheck on id (if addMovie(...) = -1 movie not added)
-        NewMovie.setId(((BrowserController) caller).my_connector.addMovie(NewMovie));
-        System.out.println("Added Movie with ID: " + NewMovie.id());
+        ((BrowserController) caller).my_connector.updateMovie(editableMovie, NewMovie);
+        System.out.println("Added Movie with ID: " + editableMovie.id());
 
-        List<Role> newMovieRoles = fetchRoles(NewMovie);
+        ((BrowserController) caller).my_connector.deleteRoles(editableMovie);
+
+        List<Role> newMovieRoles = fetchRoles(editableMovie);
         if (newMovieRoles.size() > 0) {
             System.out.println("had something to add");
             int counter = 0;
@@ -252,6 +254,9 @@ public class EditMovieController extends Controller {
         } else {
             System.out.println("nothing to add");
         }
+        ((BrowserController) caller).closeDetails();
+        ((BrowserController) caller).getFilterMovies();
+        stage.close();
     }
 
 

+ 4 - 3
src/main/resources/BrowserWindow.fxml

@@ -62,9 +62,10 @@
               <menus>
                 <Menu mnemonicParsing="false" text="File">
                   <items>
-                      <MenuItem fx:id="statsMenu" mnemonicParsing="false" onAction="#openStatsForm" text="Stats" />
+                      <MenuItem mnemonicParsing="false" onAction="#openStatsStudioForm" text="Studio stats" />
+                      <MenuItem fx:id="statsMenu" mnemonicParsing="false" onAction="#openStatsGenreForm" text="Genre stats" />
                       <MenuItem fx:id="reloadMenu" mnemonicParsing="false" onAction="#loadPosters" text="Reload" />
-                      <MenuItem mnemonicParsing="false" text="Close" />
+                      <MenuItem mnemonicParsing="false" onAction="#closeStage" text="Close" />
                   </items>
                 </Menu>
                 <Menu mnemonicParsing="false" text="Edit">
@@ -203,7 +204,7 @@
                   </Label>
                </children>
             </AnchorPane>
-        <AnchorPane fx:id="detailsPane" maxWidth="0.0" minWidth="300.0" prefHeight="550.0" prefWidth="318.0" style="-fx-background-color: #212121;" SplitPane.resizableWithParent="false">
+        <AnchorPane fx:id="detailsPane" maxWidth="0.0" minWidth="0.0" prefHeight="550.0" prefWidth="318.0" style="-fx-background-color: #212121;" SplitPane.resizableWithParent="false">
           <children>
               <Label alignment="CENTER" font="$x1" layoutX="14.0" layoutY="14.0" style="&#10;" text="Details" textAlignment="CENTER" textFill="#9f9f9f" wrapText="false" />
               <ImageView fx:id="detailsPicPane" fitHeight="222.0" fitWidth="150.0" layoutX="14.0" layoutY="41.0" pickOnBounds="true" AnchorPane.bottomAnchor="287.0" AnchorPane.leftAnchor="75.0" AnchorPane.rightAnchor="75.0" AnchorPane.topAnchor="41.0" />