diff --git a/.idea/misc.xml b/.idea/misc.xml
index de4b033..a855768 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -7,9 +7,8 @@
-
-
+
\ No newline at end of file
diff --git a/src/main/java/Logik/Account.java b/src/main/java/Logik/Account.java
index e6aee52..6106e28 100644
--- a/src/main/java/Logik/Account.java
+++ b/src/main/java/Logik/Account.java
@@ -12,6 +12,9 @@ public class Account {
private String name;
+ private String email;
+
+
private int rid;
// endregion
@@ -32,6 +35,14 @@ public class Account {
this.id = id;
}
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
public String getBenutzername() {
return name;
@@ -43,7 +54,7 @@ public class Account {
// endregion
// region Konstruktoren
- public Account(String passwort, String name) {
+ public Account(String passwort, String name, String email) {
this.passwort = passwort;
this.name = name;
diff --git a/src/main/java/Logik/ElternAccount.java b/src/main/java/Logik/ElternAccount.java
index 59f5335..ddb033b 100644
--- a/src/main/java/Logik/ElternAccount.java
+++ b/src/main/java/Logik/ElternAccount.java
@@ -12,19 +12,10 @@ import java.util.ArrayList;
public class ElternAccount extends Account {
// region Felder
- private String email;
-
private transient ArrayList kinder;
// endregion
// region Getter & Setter
- public String getEmail() {
- return email;
- }
-
- public void setEmail(String email) {
- this.email = email;
- }
public ArrayList getKinder() {
return kinder;
@@ -37,8 +28,7 @@ public class ElternAccount extends Account {
// region Konstruktoren
public ElternAccount(String passwort, String benutzername, String email) {
- super(passwort, benutzername);
- this.email = email;
+ super(passwort, benutzername, email);
kinder = new ArrayList<>();
}
// endregion
diff --git a/src/main/java/Logik/MitarbeiterAccount.java b/src/main/java/Logik/MitarbeiterAccount.java
index 05fbe8f..deb6b17 100644
--- a/src/main/java/Logik/MitarbeiterAccount.java
+++ b/src/main/java/Logik/MitarbeiterAccount.java
@@ -12,8 +12,8 @@ import java.util.ArrayList;
public class MitarbeiterAccount extends Account {
// region Konstrukoren
- public MitarbeiterAccount(String passwort, String benutzername) {
- super(passwort, benutzername);
+ public MitarbeiterAccount(String passwort, String benutzername, String email) {
+ super(passwort, benutzername, email);
}
//endregion
diff --git a/src/main/java/RestAPISchnittstelle/IRestAPI.java b/src/main/java/RestAPISchnittstelle/IRestAPI.java
index fc6ffaf..565dda5 100644
--- a/src/main/java/RestAPISchnittstelle/IRestAPI.java
+++ b/src/main/java/RestAPISchnittstelle/IRestAPI.java
@@ -11,11 +11,11 @@ public interface IRestAPI {
// region Get
- void get(String controllerName);
+ String get(String controllerName);
- void get (String controllerName, int id);
+ String get (String controllerName, int id);
- void get (String controllerName, int id, boolean bezahlt);
+ String get (String controllerName, int id, boolean bezahlt);
//endregion
diff --git a/src/main/java/RestAPISchnittstelle/RestApiClient.java b/src/main/java/RestAPISchnittstelle/RestApiClient.java
index 8939301..1fdb3e2 100644
--- a/src/main/java/RestAPISchnittstelle/RestApiClient.java
+++ b/src/main/java/RestAPISchnittstelle/RestApiClient.java
@@ -42,7 +42,7 @@ public class RestApiClient implements IRestAPI{
* @param controllerName Name des aufzurufenden Controllers
*/
@Override
- public void get(String controllerName) {
+ public String get(String controllerName) {
URI apiUri = URI.create(String.format("%s/%s", urlBase, controllerName));
HttpRequest httpRequest = HttpRequest.newBuilder()
@@ -59,9 +59,12 @@ public class RestApiClient implements IRestAPI{
// Print the response status code and body
System.out.println("Status Code: " + httpResponse.statusCode());
System.out.println("Response Body: " + test.getName());
+
+ return httpResponse.body();
} catch (Exception e) {
e.printStackTrace();
}
+ return "";
}
/**
@@ -71,7 +74,7 @@ public class RestApiClient implements IRestAPI{
* @param id Id der Aufzurufenden Zeile
*/
@Override
- public void get(String controllerName, int id) {
+ public String get(String controllerName, int id) {
URI apiUri = URI.create(String.format("%s/%s/%s", urlBase, controllerName, id));
HttpRequest httpRequest = HttpRequest.newBuilder()
@@ -86,10 +89,12 @@ public class RestApiClient implements IRestAPI{
// Print the response status code and body
System.out.println("Status Code: " + httpResponse.statusCode() + httpResponse.body());
+ return httpResponse.body();
//System.out.println("Response Body: " + test);
} catch (Exception e) {
e.printStackTrace();
}
+ return "";
}
/**
@@ -100,7 +105,7 @@ public class RestApiClient implements IRestAPI{
* @param bezahlt TODO Warum ist das hier?
*/
@Override
- public void get(String controllerName, int id, boolean bezahlt) {
+ public String get(String controllerName, int id, boolean bezahlt) {
URI apiUri = URI.create(String.format("%s/%s?%s&%s", urlBase, controllerName, id, bezahlt));
HttpRequest httpRequest = HttpRequest.newBuilder()
@@ -115,9 +120,12 @@ public class RestApiClient implements IRestAPI{
// Print the response status code and body
System.out.println("Status Code: " + httpResponse.statusCode());
System.out.println("Response Body: " + httpResponse.body());
+
+ return httpResponse.body();
} catch (Exception e) {
e.printStackTrace();
}
+ return "";
}
/**
diff --git a/src/main/java/de/subway_surfers/vpr_app/AccounterstellungMitarbeiter.java b/src/main/java/de/subway_surfers/vpr_app/AccounterstellungMitarbeiter.java
index 4ab5f9b..11b942d 100644
--- a/src/main/java/de/subway_surfers/vpr_app/AccounterstellungMitarbeiter.java
+++ b/src/main/java/de/subway_surfers/vpr_app/AccounterstellungMitarbeiter.java
@@ -1,5 +1,9 @@
package de.subway_surfers.vpr_app;
+import Logik.Account;
+import Logik.ElternAccount;
+import Logik.Kind;
+import Logik.MitarbeiterAccount;
import RestAPISchnittstelle.RestApiClient;
import javafx.collections.ListChangeListener;
import javafx.event.ActionEvent;
@@ -11,6 +15,7 @@ import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import com.google.gson.Gson;
+import java.util.ArrayList;
import java.util.Random;
public class AccounterstellungMitarbeiter {
@@ -25,11 +30,15 @@ public class AccounterstellungMitarbeiter {
private @FXML RadioButton typEltern;
private ToggleGroup accountTyp;
+ private ArrayList kinder;
+
public void initialize() {
accountTyp = new ToggleGroup();
accountTyp.getToggles().add(typEltern);
accountTyp.getToggles().add(typMitarbeiter);
einmalpw.setText(einmalPwGenerieren());
+
+ kinder = new ArrayList<>();
}
public void onZurueck(ActionEvent actionEvent) {
@@ -96,9 +105,12 @@ public class AccounterstellungMitarbeiter {
}
if (vnameGueltig && gebGueltig && nnameGueltig) {
+ Kind kind = new Kind(nnameEingabe.getText(), vnameEingabe.getText(), 0);
+ kinder.add(kind);
kindanzeige.getChildren().add(neues);
neues.setOnAction(a -> {
((HBox) neues.getParent()).getChildren().remove(neues);
+ kinder.remove(kind);
});
vnameEingabe.setText("");
nnameEingabe.setText("");
@@ -126,15 +138,36 @@ public class AccounterstellungMitarbeiter {
status.setText("Daten Erfolgreich gespeichert");
einmalpw.setText(einmalPwGenerieren());
- String json = String.format("{\"name\":\"%s\", \"email\":\"%s\", \"passwort\":\"%d\", \"rid\":\"%d\"}",
- accountname.getText(), email.getText(), einmalpw.getText().hashCode(), (typMitarbeiter.isSelected() ? 0:1));
- //Gson gson = new Gson();
- //String jay = gson.toJson(this);
+ //String json = String.format("{\"name\":\"%s\", \"email\":\"%s\", \"passwort\":\"%d\", \"rid\":\"%d\"}",
+ // accountname.getText(), email.getText(), einmalpw.getText().hashCode(), (typMitarbeiter.isSelected() ? 0:1));
- System.out.println(json);
+ Account neuer;
+ if (typEltern.isSelected()) {
+ neuer = new ElternAccount(String.format("%d",einmalpw.getText().hashCode()), accountname.getText(), email.getText());
+ for (Kind k : kinder) {
+ ((ElternAccount)neuer).getKinder().add(k);
+ }
+ }
+ else if (typMitarbeiter.isSelected()) {
+ neuer = new MitarbeiterAccount(String.format("%d",einmalpw.getText().hashCode()), accountname.getText(), email.getText());
+ }
+ else {
+ return;
+ }
+
+ kinder.clear();
+
+ Gson gson = new Gson();
+
+ System.out.println(gson.toJson(neuer));
RestApiClient api = new RestApiClient();
- api.post("Benutzerkonto", json);
+ api.post("Benutzer", gson.toJson(neuer));
+ if (neuer instanceof ElternAccount) {
+ for (Kind k : ((ElternAccount)neuer).getKinder()) {
+ api.post("Kind", gson.toJson(k));
+ }
+ }
}
else {
status.setText("Accounterstellung Fehlgeschlagen");