diff --git a/app/src/main/java/bdd/ArticleDAO.java b/app/src/main/java/bdd/ArticleDAO.java
new file mode 100644
index 0000000..0cea246
--- /dev/null
+++ b/app/src/main/java/bdd/ArticleDAO.java
@@ -0,0 +1,32 @@
+package bdd;
+
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.sqlite.SQLiteDatabase;
+import android.util.Log;
+
+import com.example.manageinventory.Article;
+
+public class ArticleDAO {
+ private DAO dao = null;
+ private SQLiteDatabase db = null;
+
+ public ArticleDAO(Context context) {
+ dao = new DAO(context);
+ db = dao.open();
+ }
+
+ public void close() {
+ dao.close();
+ }
+
+ public long create(Article a) {
+ ContentValues values = new ContentValues();
+ values.put("ref", a.getReference());
+ values.put("des", a.getDesignation());
+ values.put("pu", a.getPrix());
+ values.put("qte", a.getQte());
+ Log.d("bdd", "insert " + a);
+ return db.insert(CreateBdInventaire.TABLE_ARTICLE, null, values);
+ }
+}
diff --git a/app/src/main/java/bdd/CreateBdInventaire.java b/app/src/main/java/bdd/CreateBdInventaire.java
new file mode 100644
index 0000000..12d937a
--- /dev/null
+++ b/app/src/main/java/bdd/CreateBdInventaire.java
@@ -0,0 +1,36 @@
+package bdd;
+
+import android.content.Context;
+import android.database.sqlite.SQLiteDatabase;
+import android.database.sqlite.SQLiteOpenHelper;
+import android.util.Log;
+
+import androidx.annotation.Nullable;
+
+public class CreateBdInventaire extends SQLiteOpenHelper {
+ public static final String TABLE_ARTICLE = "article";
+ private static final String CREATE_TABLE_ARTICLE =
+ "CREATE TABLE " + TABLE_ARTICLE + "(" +
+ "id INTEGER PRIMARY KEY AUTOINCREMENT, " +
+ "ref TEXT NOT NULL, " +
+ "des TEXT NOT NULL, " +
+ "pu REAL," +
+ "qte INTEGER);";
+
+ @Override
+ public void onCreate(SQLiteDatabase db) {
+ db.execSQL(CREATE_TABLE_ARTICLE);
+ Log.d("bdd", "Base créée");
+ }
+
+ @Override
+ public void onUpgrade(SQLiteDatabase db, int i, int i1) {
+ db.execSQL("DROP TABLE " + TABLE_ARTICLE + ";");
+ Log.d("bdd", "Table " + TABLE_ARTICLE + " supprimée");
+ onCreate(db);
+ }
+
+ public CreateBdInventaire(@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
new file mode 100644
index 0000000..fc4ca25
--- /dev/null
+++ b/app/src/main/java/bdd/DAO.java
@@ -0,0 +1,34 @@
+package bdd;
+
+import android.content.Context;
+import android.database.sqlite.SQLiteDatabase;
+import android.util.Log;
+
+public class DAO {
+ private static final int VERSION_BDD = 1;
+ private static final String NOM_BDD = "inventaire.db";
+ private CreateBdInventaire createBD = null;
+ private SQLiteDatabase db = null;
+
+ public DAO(Context context) {
+ createBD = new CreateBdInventaire(context, NOM_BDD, null, VERSION_BDD);
+ Log.d("bdd", "Appel au constructeur de la DAO ok");
+ }
+
+ public SQLiteDatabase open() {
+ if (db == null) {
+ db = createBD.getWritableDatabase();
+ Log.d("bdd", "Base de donnée ouverte");
+ } else {
+ Log.d("bdd", "Base de donnée accessible");
+ }
+ return db;
+ }
+
+ public void close() {
+ if (db != null) {
+ db.close();
+ Log.d("bdd", "Base de donnée fermer");
+ }
+ }
+}
diff --git a/app/src/main/java/com/example/manageinventory/AjoutArticleActivity.java b/app/src/main/java/com/example/manageinventory/AjoutArticleActivity.java
index 151c1cd..2358629 100644
--- a/app/src/main/java/com/example/manageinventory/AjoutArticleActivity.java
+++ b/app/src/main/java/com/example/manageinventory/AjoutArticleActivity.java
@@ -1,8 +1,11 @@
package com.example.manageinventory;
import android.os.Bundle;
+import android.util.Log;
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;
@@ -10,7 +13,25 @@ import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
+import bdd.ArticleDAO;
+
public class AjoutArticleActivity extends AppCompatActivity {
+ Article art = null;
+ private ArticleDAO articleDAO = null;
+ private EditText etRef;
+ private EditText etDes;
+ private EditText etPrix;
+ private EditText etQte;
+ private Button btAjout;
+
+ String ref;
+ String des;
+ String prix;
+ double prixN;
+ String qte;
+ int qteN;
+ long idArticleCree;
+ ArticleDAO artDAO;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -22,6 +43,7 @@ public class AjoutArticleActivity extends AppCompatActivity {
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
+ articleDAO = new ArticleDAO(this);
initialisation();
}
@@ -29,6 +51,7 @@ public class AjoutArticleActivity extends AppCompatActivity {
Button btQuitter = (Button) findViewById(R.id.btQuit);
btQuitter.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
+ articleDAO.close();
finish();
}
});
@@ -36,8 +59,38 @@ public class AjoutArticleActivity extends AppCompatActivity {
Button btAjoutArticle = (Button) findViewById(R.id.btAdd);
btAjoutArticle.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
- System.out.println("test");
+ creationArticle();
}
});
}
+
+ private void creationArticle() {
+ // Reconnaissance des contrôles graphiques de la vue
+ etRef = (EditText) findViewById(R.id.plRef);
+ etDes = (EditText) findViewById(R.id.plDes);
+ etPrix = (EditText) findViewById(R.id.plPrice);
+ etQte = (EditText) findViewById(R.id.plQuant);
+ btAjout = (Button) findViewById(R.id.btAdd);
+
+ // Récupération des zones saisies
+ ref = etRef.getText().toString();
+ des = etDes.getText().toString();
+ prix = etPrix.getText().toString();
+ prixN = (float) Float.parseFloat(prix);
+ qte = etQte.getText().toString();
+ qteN = Integer.parseInt(qte);
+ // Création de l'article correspondant
+ art = new Article(ref, des, (float) prixN, qteN);
+ // Insertion de l'article dans la base de données
+ long idArticleCree = articleDAO.create(art);
+ // Message à l'écran
+ Toast.makeText(getApplicationContext(), "Produit ajouté + " +
+ "(no : " + idArticleCree + " )",Toast.LENGTH_SHORT).show();
+ // Zones de saisies effacées
+ etRef.setText("");
+ etRef.requestFocus();
+ etDes.setText("");
+ etPrix.setText("");
+ etQte.setText("");
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/manageinventory/Article.java b/app/src/main/java/com/example/manageinventory/Article.java
new file mode 100644
index 0000000..398e2b4
--- /dev/null
+++ b/app/src/main/java/com/example/manageinventory/Article.java
@@ -0,0 +1,59 @@
+package com.example.manageinventory;
+
+public class Article {
+ public int id = 0;
+ public String reference;
+ public String designation;
+ public float prix;
+ public int qte;
+
+ public int getId() {
+ return id;
+ }
+
+ public String getReference() {
+ return reference;
+ }
+
+ public String getDesignation() {
+ return designation;
+ }
+
+ public float getPrix() {
+ return prix;
+ }
+
+ public int getQte() {
+ return qte;
+ }
+
+ public void setQte(int qte) {
+ this.qte = qte;
+ }
+
+ public void setPrix(float prix) {
+ this.prix = prix;
+ }
+
+ public void setDesignation(String designation) {
+ this.designation = designation;
+ }
+
+ public void setReference(String reference) {
+ this.reference = reference;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public Article() {
+ }
+
+ public Article(String reference, String designation, float prix, int qte) {
+ this.reference = reference;
+ this.designation = designation;
+ this.prix = prix;
+ this.qte = qte;
+ }
+}
diff --git a/app/src/main/res/layout/activity_ajout_article.xml b/app/src/main/res/layout/activity_ajout_article.xml
index 556d3ea..f0deea2 100644
--- a/app/src/main/res/layout/activity_ajout_article.xml
+++ b/app/src/main/res/layout/activity_ajout_article.xml
@@ -12,7 +12,7 @@
android:layout_height="match_parent">
+
+