From fcc6af3e73741408b336d12c1d303c252cf29479 Mon Sep 17 00:00:00 2001
From: Dennis Eisold <de@itstall.de>
Date: Thu, 14 Nov 2019 14:35:55 +0100
Subject: [PATCH] =?UTF-8?q?Benutzer=20hinzuf=C3=BCgen=20geht=20jetzt?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../de/telefonbuch/TelefonbuchController.java |  5 ++++-
 .../java/de/telefonbuch/model/Datenbank.java  | 22 ++++++++++++++++++-
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/src/main/java/de/telefonbuch/TelefonbuchController.java b/src/main/java/de/telefonbuch/TelefonbuchController.java
index 4eb536f..9a0d110 100644
--- a/src/main/java/de/telefonbuch/TelefonbuchController.java
+++ b/src/main/java/de/telefonbuch/TelefonbuchController.java
@@ -17,6 +17,8 @@ import java.util.Optional;
  */
 public class TelefonbuchController {
 
+	private Datenbank db;
+
 	/**
 	 * Initialisiert die TreeMap für die Kontakte
 	 */
@@ -120,7 +122,7 @@ public class TelefonbuchController {
 		assert btnNeuerEintrag != null : "fx:id=\"btnNeuerEintrag\" was not injected: check your FXML file 'telefonbuch.fxml'.";
 		assert btnLoeschen != null : "fx:id=\"btnLoeschen\" was not injected: check your FXML file 'telefonbuch.fxml'.";
 
-		Datenbank db = new Datenbank();
+		this.db = new Datenbank();
 
 		/* Wenn noch keine Einträge vorhanden sind, die Buttons deaktivieren */
 		if (App.eintraege.size() == 0) {
@@ -294,6 +296,7 @@ public class TelefonbuchController {
 	private void saveKontakt() {
 		if (!kontakt.getTelefon().equals("")) {
 			App.eintraege.put(kontakt.getTelefon(), kontakt);
+			db.addKontakt(kontakt);
 		}
 	}
 
diff --git a/src/main/java/de/telefonbuch/model/Datenbank.java b/src/main/java/de/telefonbuch/model/Datenbank.java
index e5fb700..11193ca 100644
--- a/src/main/java/de/telefonbuch/model/Datenbank.java
+++ b/src/main/java/de/telefonbuch/model/Datenbank.java
@@ -28,7 +28,7 @@ public class Datenbank {
 				"hnr VARCHAR(10) NULL, " +
 				"plz VARCHAR(5) NULL, " +
 				"ort VARCHAR(50) NULL, " +
-				"telefon VARCHAR(30) NULL" +
+				"telefon VARCHAR(30) UNIQUE NULL" +
 				");";
 		System.out.println(stmt.execute(createTable));
 	}
@@ -42,4 +42,24 @@ public class Datenbank {
 		this.con = DriverManager.getConnection("jdbc:sqlite:" + datenbankdatei);
 		System.out.println("Erfolgreich mit Datenbank verbunden.");
 	}
+
+	public void addKontakt(Kontakt kontakt) {
+		try {
+			Statement stmt = this.con.createStatement();
+
+			String insertKontakt = "INSERT OR REPLACE INTO kontakte (vorname, nachname, strasse, hnr, plz, ort, telefon) VALUES (" +
+					"\"" + kontakt.getVorname() + "\", " +
+					"\"" + kontakt.getNachname() + "\", " +
+					"\"" + kontakt.getStrasse() + "\", " +
+					"\"" + kontakt.getHausnummer() + "\", " +
+					"\"" + kontakt.getPlz() + "\", " +
+					"\"" + kontakt.getOrt() + "\", " +
+					"\"" + kontakt.getTelefon() + "\" " +
+					");";
+			System.out.println(stmt.execute(insertKontakt));
+		} catch (SQLException e) {
+			e.printStackTrace();
+		}
+
+	}
 }
-- 
GitLab