Browse Source

java: gestion categorie operationelle

PCYoshi 9 years ago
parent
commit
2016be475e
3 changed files with 143 additions and 7 deletions
  1. 16
    1
      java/src/ConnexionBDD.java
  2. 61
    3
      java/src/GestionCategories.java
  3. 66
    3
      java/src/InterfacePrincipale.java

+ 16
- 1
java/src/ConnexionBDD.java View File

@@ -45,7 +45,22 @@ public class ConnexionBDD
45 45
 	//Gestion catégorie
46 46
 	public ArrayList<Categorie> getListeCategorie()
47 47
 	{
48
-		gestionCategories.selectCategorie();
48
+		gestionCategories.readCategorie();
49 49
 		return gestionCategories.getListCategories();
50 50
 	}
51
+
52
+	public void createCategorie(String categorieName)
53
+	{
54
+		gestionCategories.insertCategorie(categorieName);
55
+	}
56
+
57
+	public void deleteCategorie(String categorieName)
58
+	{
59
+		gestionCategories.deleteCategorie(categorieName);
60
+	}
61
+
62
+	public void renameCategorie(String oldCategorieName, String newCategorieName)
63
+	{
64
+		gestionCategories.updateCategorie(oldCategorieName, newCategorieName);
65
+	}
51 66
 }

+ 61
- 3
java/src/GestionCategories.java View File

@@ -16,11 +16,12 @@ public class GestionCategories
16 16
 		listCategories = new ArrayList<Categorie>();
17 17
 	}
18 18
 
19
-	public void selectCategorie()
19
+	public void readCategorie()
20 20
 	{
21 21
 		String rq = "SELECT *" +
22 22
 				"FROM categorie";
23
-		try {
23
+		try
24
+		{
24 25
 			PreparedStatement preparedStatement = bdd.prepareStatement(rq);
25 26
 			ResultSet resultat = preparedStatement.executeQuery();
26 27
 
@@ -30,7 +31,64 @@ public class GestionCategories
30 31
 			{
31 32
 				listCategories.add(new Categorie(resultat.getString("nom_cat")));
32 33
 			}
33
-		} catch (SQLException e) {
34
+
35
+			resultat.close();
36
+			preparedStatement.close();
37
+
38
+		}
39
+		catch (SQLException e)
40
+		{
41
+			e.printStackTrace();
42
+		}
43
+	}
44
+
45
+	public void insertCategorie(String categorieName)
46
+	{
47
+		String rq ="INSERT INTO categorie(nom_cat)" +
48
+				" VALUES(?)";
49
+		try
50
+		{
51
+			PreparedStatement preparedStatement = bdd.prepareStatement(rq);
52
+			preparedStatement.setString(1,categorieName);
53
+			preparedStatement.executeUpdate();
54
+		}
55
+		catch (SQLException e)
56
+		{
57
+			e.printStackTrace();
58
+		}
59
+	}
60
+
61
+	public void deleteCategorie(String categorieName)
62
+	{
63
+		String rq ="DELETE FROM categorie" +
64
+				" WHERE nom_cat = ?";
65
+		try
66
+		{
67
+			PreparedStatement preparedStatement = bdd.prepareStatement(rq);
68
+			preparedStatement.setString(1,categorieName);
69
+			preparedStatement.executeUpdate();
70
+		}
71
+		catch (SQLException e)
72
+		{
73
+			e.printStackTrace();
74
+		}
75
+	}
76
+
77
+	public void updateCategorie(String oldCategorieName, String newCategorieName)
78
+	{
79
+
80
+		String rq ="UPDATE categorie" +
81
+				" SET nom_cat = ?" +
82
+				" WHERE nom_cat = ?";
83
+		try
84
+		{
85
+			PreparedStatement preparedStatement = bdd.prepareStatement(rq);
86
+			preparedStatement.setString(1, newCategorieName);
87
+			preparedStatement.setString(2, oldCategorieName);
88
+			preparedStatement.executeUpdate();
89
+		}
90
+		catch (SQLException e)
91
+		{
34 92
 			e.printStackTrace();
35 93
 		}
36 94
 	}

+ 66
- 3
java/src/InterfacePrincipale.java View File

@@ -5,6 +5,7 @@ import java.awt.*;
5 5
 import java.awt.event.ActionEvent;
6 6
 import java.awt.event.ActionListener;
7 7
 
8
+import static java.lang.Thread.currentThread;
8 9
 import static java.lang.Thread.sleep;
9 10
 import static javax.swing.BoxLayout.*;
10 11
 
@@ -264,15 +265,77 @@ public class InterfacePrincipale extends JFrame
264 265
 		{
265 266
 			if(e.getSource() == addC)
266 267
 			{
267
-				statusText.setText("Ajout de catégorie");
268
+				JOptionPane jop = new JOptionPane();
269
+
270
+				String catName = jop.showInputDialog(null,
271
+						"Nom de la nouvelle categorie:",
272
+						"Nouvelle catégorie",
273
+						JOptionPane.QUESTION_MESSAGE);
274
+
275
+				if(catName == null)
276
+				{
277
+					return ;
278
+				}
279
+				else if(catName.isEmpty())
280
+				{
281
+					statusText.setText("Une categorie ne peut porter un nom vide.");
282
+					return ;
283
+				}
284
+
285
+				bdd.createCategorie(catName);
286
+				listC.setListData(bdd.getListeCategorie().toArray());
268 287
 			}
269 288
 			else if(e.getSource() == delC)
270 289
 			{
271
-				statusText.setText("Supression de catégorie");
290
+				JOptionPane jop = new JOptionPane();
291
+
292
+				Categorie c = (Categorie) listC.getSelectedValue();
293
+
294
+				if(c == null)
295
+				{
296
+					statusText.setText("Veuiller d'abord selectionner une categorie.");
297
+					return;
298
+				}
299
+
300
+				String categorieName = c.getNom();
301
+
302
+				if(jop.showConfirmDialog(null,"Voulez vous vraiment supprimer la catégorie " + categorieName + " ?\nCela supprimera aussi toute les reponses et questions associé à cette catégorie.", "Supression de catégorie", JOptionPane.OK_CANCEL_OPTION) == JOptionPane.OK_OPTION)
303
+				{
304
+					bdd.deleteCategorie(categorieName);
305
+					listC.setListData(bdd.getListeCategorie().toArray());
306
+				}
272 307
 			}
273 308
 			else if(e.getSource() == editC)
274 309
 			{
275
-				statusText.setText("Modification de catégorie");
310
+				Categorie c = (Categorie) listC.getSelectedValue();
311
+
312
+				if(c == null)
313
+				{
314
+					statusText.setText("Veuiller d'abord selectionner une categorie.");
315
+					return;
316
+				}
317
+
318
+				JOptionPane jop = new JOptionPane();
319
+
320
+				String oldCatName = c.getNom();
321
+
322
+				String newCatName = jop.showInputDialog(null,
323
+						"Nouveau nom pour la categorie " + oldCatName + ":",
324
+						"Renomer catégorie",
325
+						JOptionPane.QUESTION_MESSAGE);
326
+
327
+				if(newCatName == null)
328
+				{
329
+					return ;
330
+				}
331
+				else if(newCatName.isEmpty())
332
+				{
333
+					statusText.setText("Une categorie ne peut porter un nom vide.");
334
+					return ;
335
+				}
336
+
337
+				bdd.renameCategorie(oldCatName, newCatName);
338
+				listC.setListData(bdd.getListeCategorie().toArray());
276 339
 			}
277 340
 		}
278 341
 	}