diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index 9b7528e..94a25f7 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -2,6 +2,5 @@
-
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 313ad49..1e5460f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -12,6 +12,9 @@
android:supportsRtl="true"
android:theme="@style/Theme.DépannTout"
tools:targetApi="31">
+
diff --git a/app/src/main/java/bdd/ClientDAO.java b/app/src/main/java/bdd/ClientDAO.java
index a3c6271..9f7ca5d 100644
--- a/app/src/main/java/bdd/ClientDAO.java
+++ b/app/src/main/java/bdd/ClientDAO.java
@@ -29,7 +29,6 @@ public class ClientDAO {
/**
* Fermeture de la base de données
*/
-
public void close() {
dao.close();
}
diff --git a/app/src/main/java/bdd/CreateBdDepannTout.java b/app/src/main/java/bdd/CreateBdDepannTout.java
index 2bbeabe..f4710ea 100644
--- a/app/src/main/java/bdd/CreateBdDepannTout.java
+++ b/app/src/main/java/bdd/CreateBdDepannTout.java
@@ -27,7 +27,7 @@ public class CreateBdDepannTout extends SQLiteOpenHelper {
"dateTime TEXT NOT NULL, " +
"observation TEXT NOT NULL);";
- // Constructeur, à générer automatiquement
+ // Constructeur (généré automatiquement)
public CreateBdDepannTout(@Nullable Context context, @Nullable String name,
@Nullable SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
diff --git a/app/src/main/java/bdd/DAO.java b/app/src/main/java/bdd/DAO.java
index 0ebdba8..0f13d8a 100644
--- a/app/src/main/java/bdd/DAO.java
+++ b/app/src/main/java/bdd/DAO.java
@@ -14,7 +14,6 @@ public class DAO {
createBd = new CreateBdDepannTout(context, NOM_BDD, null, VERSION_BDD);
Log.d("bdd", "Appel au constructeur de DAO ok, bdd créée");
}
-
public SQLiteDatabase open(){
if (db == null){
db = createBd.getWritableDatabase();
@@ -24,7 +23,6 @@ public class DAO {
}
return db;
}
-
public void close() {
if(db != null){
db.close();
diff --git a/app/src/main/java/bdd/InterventionDAO.java b/app/src/main/java/bdd/InterventionDAO.java
index fffb447..a62e0cc 100644
--- a/app/src/main/java/bdd/InterventionDAO.java
+++ b/app/src/main/java/bdd/InterventionDAO.java
@@ -5,6 +5,9 @@ import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
+import android.widget.Toast;
+
+import org.w3c.dom.Text;
import metier.Client;
import metier.Intervention;
@@ -35,7 +38,8 @@ public class InterventionDAO {
public Cursor readLesInterventions() {
- String reqSql = "Select id as '_id', idCli as 'idCli', dateTime, observation FROM " + CreateBdDepannTout.TABLE_INTER +";";
+ String reqSql = "Select id as '_id', idCli as 'idCli', dateTime, observation FROM " +
+ CreateBdDepannTout.TABLE_INTER +";";
// Execution de la requête
Cursor c = db.rawQuery(reqSql, null);
Log.d("bdd", "le curseur contient " + c.getCount() + " lignes");
@@ -50,8 +54,25 @@ public class InterventionDAO {
Log.d("bdd", "insert, :" + i);
return db.insert(CreateBdDepannTout.TABLE_INTER, null, values);
}
+ public void deleteIntervention(int id ){
+// int ligneSuppr = db.delete("intervention", "id = ?", new String[]{String.valueOf(id)});
+//// db.close();
+// Log.d("DEBUG", "Nombre de lignes supprimées : " + ligneSuppr );
+ Log.d("DEBUG", "Tentative de suppression de l'intervention avec l'ID : " + id);
+ int ligneSuppr = db.delete("intervention", "id = ?", new String[]{String.valueOf(id)});
+ Log.d("DEBUG", "Nombre de lignes supprimées : " + ligneSuppr); // Affiche le nombre de lignes supprimées
+ db.close();
+ }
+ public void updateIntervention(int idInter, int idCli, String dateTime, String observation) {
+ ContentValues values = new ContentValues();
+// values.put("idInter", idInter);
+ values.put("idCli", idCli);
+ values.put("dateTime", dateTime);
+ values.put("observation", observation);
+ db.update("intervention", values, "id = ?", new String[]{String.valueOf(idInter)});
+ }
diff --git a/app/src/main/java/com/example/dpanntout/ListeClient.java b/app/src/main/java/com/example/dpanntout/ListeClient.java
index 1ba99f8..5430d47 100644
--- a/app/src/main/java/com/example/dpanntout/ListeClient.java
+++ b/app/src/main/java/com/example/dpanntout/ListeClient.java
@@ -50,30 +50,30 @@ public class ListeClient extends AppCompatActivity {
finish();
}
});
- //gestion du bouton modifier un client
- Button btModifP2 = (Button)findViewById(R.id.btModifP2);
- btModifP2.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (verifierClientSelectionne()) {
- demarrerPageModification();
- }
- }
- });
+// //gestion du bouton modifier un client
+// Button btModifP2 = (Button)findViewById(R.id.btModifP2);
+// btModifP2.setOnClickListener(new View.OnClickListener() {
+// @Override
+// public void onClick(View v) {
+// if (verifierClientSelectionne()) {
+// demarrerPageModification();
+// }
+// }
+// });
afficherLesClients();
}
- private void demarrerPageModification () {
- Intent intent = new Intent(ListeClient.this, ModifierLeClient.class);
- intent.putExtra("nom", clientSelectionne.getNom());
- intent.putExtra("prenom", clientSelectionne.getPrenom());
- intent.putExtra("mail", clientSelectionne.getAdrMail());
- intent.putExtra("numero", clientSelectionne.getNumTel());
- intent.putExtra("adresse", clientSelectionne.getAdrPostale());
- startActivity(intent);
-
- }
+// private void demarrerPageModification () {
+// Intent intent = new Intent(ListeClient.this, ModifierLeClient.class);
+// intent.putExtra("nom", clientSelectionne.getNom());
+// intent.putExtra("prenom", clientSelectionne.getPrenom());
+// intent.putExtra("mail", clientSelectionne.getAdrMail());
+// intent.putExtra("numero", clientSelectionne.getNumTel());
+// intent.putExtra("adresse", clientSelectionne.getAdrPostale());
+// startActivity(intent);
+//
+// }
public void afficherLesClients() {
Log.d("bdd", "debut afficherLesInterventions");
@@ -133,13 +133,14 @@ public class ListeClient extends AppCompatActivity {
- private boolean verifierClientSelectionne() {
- if (idClientSelectionne == -1) {
- Toast.makeText(this, "Sélectionnez d'abord un client à modifier ", Toast.LENGTH_SHORT).show();
- return false;
- }
- return true;
- }
+ //ct une condition pour le bouton genre qd on clic sur le bouton modif sans selec un cli
+// private boolean verifierClientSelectionne() {
+// if (idClientSelectionne == -1) {
+// Toast.makeText(this, "Sélectionnez d'abord un client à modifier ", Toast.LENGTH_SHORT).show();
+// return false;
+// }
+// return true;
+// }
diff --git a/app/src/main/java/com/example/dpanntout/ListeIntervention.java b/app/src/main/java/com/example/dpanntout/ListeIntervention.java
index 33e48b5..fce2ce2 100644
--- a/app/src/main/java/com/example/dpanntout/ListeIntervention.java
+++ b/app/src/main/java/com/example/dpanntout/ListeIntervention.java
@@ -56,7 +56,7 @@ public class ListeIntervention extends AppCompatActivity {
Cursor c = interventionDAO.readLesInterventions();
Log.d("Database", "Nombre d'interventions(s) : " + c.getCount());
Toast.makeText(getApplicationContext(), "il y a " + c.getCount() + " interventions ", Toast.LENGTH_SHORT).show();
- interventionDAO.close();
+// interventionDAO.close();
//nom des 4 attributs lus dans la bdd
String[] from = new String[]{"idCli", "dateTime", "observation"};
//reference des controles graphiques qui afficheront les valeurs de la page ligne_intervention
@@ -65,8 +65,43 @@ public class ListeIntervention extends AppCompatActivity {
SimpleCursorAdapter dataAdapter = new SimpleCursorAdapter(this , R.layout.ligne_intervention, c, from,to,0);
ListView lvInter = (ListView) findViewById(R.id.lvInter);
lvInter.setAdapter(dataAdapter);
+
+ configurerSelectioninter();
}
+ private void configurerSelectioninter() {
+ ListView lvInter = findViewById(R.id.lvInter);
+ lvInter.setOnItemClickListener((parent, view, position, id) -> {
+ // Récupération du curseur correspondant à l'élément sélectionné
+ Cursor c = (Cursor) parent.getItemAtPosition(position);
+ // On récupère l'ID de l'intervention depuis le curseur
+ int indexId = c.getColumnIndexOrThrow("_id"); // Assurez-vous que le nom de la colonne est "id"
+ int interventionId = c.getInt(indexId);
+
+ // On récupère les indices des colonnes
+ int indexIdCli = c.getColumnIndexOrThrow("idCli");
+ int indexDate = c.getColumnIndexOrThrow("dateTime");
+ int indexObservation = c.getColumnIndexOrThrow("observation");
+
+ // On récupère les valeurs des colonnes
+ String idClient = c.getString(indexIdCli);
+ String date = c.getString(indexDate);
+ String obs = c.getString(indexObservation);
+
+ // On affiche ces infos pour le débogage
+ Toast.makeText(getApplicationContext(), "Intervention sélectionné : " + idClient + " " , Toast.LENGTH_SHORT).show();
+
+ // Passage de toutes les données à la page de modification
+ Intent intent = new Intent(ListeIntervention.this, ModifierLintervention.class);
+ intent.putExtra("_id", interventionId); // Passer l'ID de l'intervention
+ intent.putExtra("id", (int) id); // Passer l'ID de l'inter
+ intent.putExtra("idCli", idClient);
+ intent.putExtra("dateTime", date);
+ intent.putExtra("observation", obs);
+
+ startActivity(intent);
+ });
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/dpanntout/ModifierLintervention.java b/app/src/main/java/com/example/dpanntout/ModifierLintervention.java
new file mode 100644
index 0000000..453dbf6
--- /dev/null
+++ b/app/src/main/java/com/example/dpanntout/ModifierLintervention.java
@@ -0,0 +1,130 @@
+package com.example.dpanntout;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.Toast;
+
+import androidx.activity.EdgeToEdge;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.core.graphics.Insets;
+import androidx.core.view.ViewCompat;
+import androidx.core.view.WindowInsetsCompat;
+
+import bdd.ClientDAO;
+import bdd.InterventionDAO;
+
+public class ModifierLintervention extends AppCompatActivity {
+ private int idInter ;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ EdgeToEdge.enable(this);
+ setContentView(R.layout.activity_modifier_lintervention);
+ ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
+ Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
+ v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
+ return insets;
+ });
+ Initialisation();
+ initialiserChampsIntervention();
+
+ idInter = getIntent().getIntExtra("id", -1); // -1 si problème
+
+ }
+
+
+ private void Initialisation() {
+ //gestion du bouton quitter
+ Button btQuitModifInter = (Button) findViewById(R.id.btQuitModifInter);
+ //associer l'evenement quitter au boutton quitter
+ btQuitModifInter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ Button btDeleteInter = (Button) findViewById(R.id.btDeleteInter);
+ btDeleteInter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ supprimerIntervention();
+ }
+ });
+ Button saveModifInter = (Button) findViewById(R.id.saveModifInter);
+ saveModifInter.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ modifierIntervention();
+ }
+ });
+
+
+ }
+
+
+ //methode qui permet d'afficher dans les champs les données d'une inter selectionner
+ private void initialiserChampsIntervention() {
+ // Récupérer les données envoyées par l'intent
+ Intent intent = getIntent();
+ if (intent != null) {
+ String numCLient = intent.getStringExtra("idCli");
+
+ String date = intent.getStringExtra("dateTime");
+ String observation = intent.getStringExtra("observation");
+
+ // Relier les EditText avec fiche id fichier xml modifier client
+ EditText etNumCli = findViewById(R.id.tvNumcliModif);
+ EditText etDateTime = findViewById(R.id.tvDateModif);
+ EditText etObservation = findViewById(R.id.tvObsModif);
+
+ // Remplir les EditText
+ etNumCli.setText(numCLient);
+ etDateTime.setText(date);
+ etObservation.setText(observation);
+ }
+ }
+ public void supprimerIntervention(){
+ InterventionDAO intervention = new InterventionDAO(this);
+ intervention.deleteIntervention(idInter); // appel de la methode presente dans ClientDAO
+ intervention.close(); //fermer la classe
+ Toast.makeText(this, "Intervention supprimé", Toast.LENGTH_SHORT).show();
+
+ }
+
+
+
+ public void modifierIntervention(){
+ // On récupère les champs de texte (les EditText) à l'écran, où l'utilisateur a tapé les infos
+ EditText etNumCli = findViewById(R.id.tvNumcliModif);
+ EditText etDateTime = findViewById(R.id.tvDateModif);
+ EditText etObservation = findViewById(R.id.tvObsModif);
+
+ // On transforme le texte saisi par l'utilisateur (EditText) en vraie chaîne de caractères (String)
+ // C’est ce qu’on va envoyer à la base de données
+ String idClient = etNumCli.getText().toString();
+ String date = etDateTime.getText().toString();
+ String observation = etObservation.getText().toString();
+
+ // On crée une instance de ClientDAO pour accéder à la base de données
+ InterventionDAO interventionDAO = new InterventionDAO(this);
+
+ // On appelle la méthode updateClient avec toutes les nouvelles valeurs + l'ID du client
+ interventionDAO.updateIntervention( idInter, Integer.parseInt(idClient), date, observation );
+
+ // On ferme la connexion à la base de données pour libérer les ressources
+ interventionDAO.close();
+
+ Toast.makeText(this, "intervention modifiée", Toast.LENGTH_SHORT).show();
+
+ // On ferme cette activité et on revient à l'écran précédent (ex : la liste des clients)
+ finish(); // retour à la liste
+
+ }
+
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/dpanntout/creerIntervention.java b/app/src/main/java/com/example/dpanntout/creerIntervention.java
index 9df704f..8e01310 100644
--- a/app/src/main/java/com/example/dpanntout/creerIntervention.java
+++ b/app/src/main/java/com/example/dpanntout/creerIntervention.java
@@ -99,6 +99,14 @@ public class creerIntervention extends AppCompatActivity {
} });
}
+
+
+
+
+
+
+
+
}
diff --git a/app/src/main/res/layout/activity_creer_intervention.xml b/app/src/main/res/layout/activity_creer_intervention.xml
index f7a2900..b00e6ac 100644
--- a/app/src/main/res/layout/activity_creer_intervention.xml
+++ b/app/src/main/res/layout/activity_creer_intervention.xml
@@ -31,6 +31,14 @@
android:textAlignment="center"
android:textSize="24sp" />
+
+
-
-