Compare commits

..

2 Commits

Author SHA1 Message Date
pbs2h21asc
3a2288f8c8 Merge remote-tracking branch 'origin/stable' into stable
# Conflicts:
#	src/main/resources/com/bib/essensbestellungsverwaltung/child-view.fxml
2023-02-05 21:41:33 +01:00
pbs2h21asc
6ca54aa026 singup mit Datebase verbunden und new Adresse 2023-02-05 21:38:27 +01:00
2 changed files with 217 additions and 25 deletions

View File

@ -0,0 +1,140 @@
/*Schulte*/
package com.bib.essensbestellungsverwaltung;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.*;
import java.net.URL;
import java.util.ArrayList;
import java.util.Formattable;
import java.util.List;
import java.util.ResourceBundle;
public class ChildViewController implements Initializable {
@FXML
public TextField name;
@FXML
public TextField lastname;
@FXML
public TextField street;
@FXML
public TextField number;
@FXML
public TextField plz;
@FXML
public TextField city;
//@FXML
//public ComboBox group;
//@FXML
//public TextField age;
//@FXML
//public TextField allergies;
@FXML
public ListView allergiesList;
@FXML
public ComboBox selectAllergy;
@FXML
public ComboBox selectAllergySeverity;
@FXML
protected void onBtClick(){
boolean childData = false;
String childName = name.getText();
String childLastname = lastname.getText();
String streetString = street.getText();
String numberString = number.getText();
String plzString = plz.getText();
String cityString = city.getText();
if(childName.isEmpty() || childLastname.isEmpty() || streetString.isEmpty() || numberString.isEmpty() ||plzString.isEmpty() || cityString.isEmpty()){
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Felder");
alert.setHeaderText("Eingabe unvollständig");
alert.setContentText("Bitte füllen sie alle Felder aus");
alert.showAndWait();
}
else childData = true;
if(childData) {
Address adress = new Address(streetString, numberString, plzString, cityString);
List<Allergy> childAllergyList = allergiesList.getItems();
ArrayList<AllergySeverity> allergySeverityArrayList = new ArrayList<>();
/*for (Allergy a : childAllergyList) {
AllergySeverity aS = new AllergySeverity(a, )
}*/ //Allergy Severity doesn't work in my case so the List will be left empty for now
Child child = new Child(childLastname, childName, adress, allergySeverityArrayList);
System.out.println(AccountMgr.createChild(child));
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("Bestätigung");
alert.setHeaderText("Bestätigung");
alert.setContentText("Ihr Kind " + childName + " " + childLastname + " wurde Erfolgreich angelegt");
alert.showAndWait();
}
}
public ArrayList<Allergy> allergyComboBox(){
ArrayList<Allergy> allergyArrayList = new ArrayList<>();
for (int i = 1; i < 23; i++){
Allergy a = FoodMgr.getAllergyById(i);
allergyArrayList.add(a);
}
return allergyArrayList;
}
@FXML
public void addAllergy() {
boolean allergyEmpty = (selectAllergy.getValue() == "Allergie Wählen");
boolean severityEmpty = (selectAllergySeverity.getValue() == "Schwere");
if(allergyEmpty || severityEmpty) {
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Fehler");
alert.setHeaderText("Ungültige Auswahl");
alert.setContentText("Bitte Wählen Sie Allergie und schwere aus");
alert.showAndWait();
}
String addedAllergy = selectAllergy.getValue().toString();
String addedSeverity = selectAllergySeverity.getValue().toString().split(":")[0];
allergiesList.getItems().add(addedAllergy + ":" + addedSeverity);
selectAllergy.setValue("Allergie Wählen");
selectAllergySeverity.setValue("Schwere");
}
@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
selectAllergy.getItems().addAll(allergyComboBox());
selectAllergySeverity.getItems().addAll("1:Harmlos","2:Warnung","3:Kritisch");
}
}

View File

@ -1,28 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.*?> <?import javafx.geometry.Insets?>
<?import javafx.scene.control.*?> <?import javafx.scene.control.Button?>
<?import javafx.scene.layout.*?> <?import javafx.scene.control.ComboBox?>
<?import javafx.scene.text.*?> <?import javafx.scene.control.ListView?>
<?import org.controlsfx.control.*?> <?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?>
<AnchorPane prefHeight="700.0" prefWidth="950.0" stylesheets="@child.css" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.bib.essensbestellungsverwaltung.ChildController"> <AnchorPane prefHeight="700.0" prefWidth="950.0" stylesheets="@child.css" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.bib.essensbestellungsverwaltung.ChildViewController">
<children> <children>
<Text layoutX="51.0" layoutY="90.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Kinder"> <Text layoutX="51.0" layoutY="90.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Kinder">
<font> <font>
<Font size="58.0" /> <Font size="58.0" />
</font> </font>
</Text> </Text>
<HBox id="contentContainer" alignment="CENTER" layoutX="8.0" layoutY="165.0" prefHeight="127.0" prefWidth="937.0"> <HBox id="contentContainer" alignment="CENTER" layoutX="8.0" layoutY="165.0" prefHeight="331.0" prefWidth="937.0">
<children> <children>
<VBox id="contentContainer" prefHeight="250.0" prefWidth="256.0"> <VBox id="contentContainer" prefHeight="250.0" prefWidth="256.0">
<children> <children>
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Vorname"> <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Name">
<VBox.margin> <VBox.margin>
<Insets bottom="15.0" top="15.0" /> <Insets bottom="15.0" top="15.0" />
</VBox.margin> </VBox.margin>
</Text> </Text>
<TextField fx:id="firstName" prefWidth="97.0"> <TextField fx:id="name" prefWidth="97.0">
<VBox.margin>
<Insets bottom="15.0" top="15.0" />
</VBox.margin>
</TextField>
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Nachname">
<VBox.margin>
<Insets bottom="15.0" top="15.0" />
</VBox.margin>
</Text>
<TextField fx:id="lastname" prefWidth="97.0">
<VBox.margin> <VBox.margin>
<Insets bottom="15.0" top="15.0" /> <Insets bottom="15.0" top="15.0" />
</VBox.margin> </VBox.margin>
@ -34,16 +49,66 @@
</VBox> </VBox>
<VBox id="contentContainer" prefHeight="250.0" prefWidth="256.0"> <VBox id="contentContainer" prefHeight="250.0" prefWidth="256.0">
<children> <children>
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Nachname"> <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Straße">
<VBox.margin> <VBox.margin>
<Insets bottom="15.0" top="15.0" /> <Insets bottom="15.0" top="15.0" />
</VBox.margin> </VBox.margin>
</Text> </Text>
<TextField fx:id="lastName" prefWidth="97.0"> <TextField fx:id="street" prefWidth="97.0">
<VBox.margin> <VBox.margin>
<Insets bottom="15.0" top="15.0" /> <Insets bottom="15.0" top="15.0" />
</VBox.margin> </VBox.margin>
</TextField> </TextField>
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Hausnummer">
<VBox.margin>
<Insets bottom="15.0" top="15.0" />
</VBox.margin>
</Text>
<TextField fx:id="number" prefWidth="97.0">
<VBox.margin>
<Insets bottom="15.0" top="15.0" />
</VBox.margin>
</TextField>
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="PLZ">
<VBox.margin>
<Insets bottom="15.0" top="15.0" />
</VBox.margin>
</Text>
<TextField fx:id="plz" prefWidth="97.0">
<VBox.margin>
<Insets bottom="15.0" top="15.0" />
</VBox.margin>
</TextField>
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Stadt">
<VBox.margin>
<Insets bottom="15.0" top="15.0" />
</VBox.margin>
</Text>
<TextField fx:id="city" prefWidth="97.0">
<VBox.margin>
<Insets bottom="15.0" top="15.0" />
</VBox.margin>
</TextField>
</children>
<HBox.margin>
<Insets left="15.0" right="15.0" />
</HBox.margin>
</VBox>
<VBox id="contentContainer" prefHeight="250.0" prefWidth="256.0">
<children>
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Allergien">
<VBox.margin>
<Insets bottom="15.0" top="15.0" />
</VBox.margin>
</Text>
<ListView prefHeight="101.0" prefWidth="227.0" />
<HBox prefHeight="26.0" prefWidth="256.0">
<children>
<ComboBox fx:id="selectAllergy" prefWidth="150.0" promptText="Allergie wählen" />
<ComboBox fx:id="selectAllergySeverity" prefWidth="150.0" promptText="Schwere" />
</children>
</HBox>
<Button fx:id="addAllergy" mnemonicParsing="false" onAction="#addAllergy" prefHeight="25.0" prefWidth="171.0" text="Allergie hinzufügen" />
</children> </children>
<HBox.margin> <HBox.margin>
<Insets left="15.0" right="15.0" /> <Insets left="15.0" right="15.0" />
@ -51,19 +116,6 @@
</VBox> </VBox>
</children> </children>
</HBox> </HBox>
<Button id="btAddChild" fx:id="kindHinzufügenButton" layoutX="779.0" layoutY="646.0" mnemonicParsing="false" onAction="#onKindHinzufügen" prefHeight="26.0" prefWidth="125.0" text="Kind hinzufügen" /> <Button id="btAddChild" layoutX="421.0" layoutY="587.0" mnemonicParsing="false" onAction="#onBtClick" prefHeight="26.0" prefWidth="125.0" text="Kind hinzufügen" />
<ChoiceBox fx:id="childChoiceBox" layoutX="704.0" layoutY="62.0" onAction="#onSelectChild" prefWidth="150.0" />
<Label layoutX="704.0" layoutY="44.0" text="Kind" />
<VBox id="contentContainer" layoutX="493.0" layoutY="330.0" prefHeight="250.0" prefWidth="256.0" spacing="20.0">
<children>
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Allergien">
<VBox.margin>
<Insets bottom="15.0" top="15.0" />
</VBox.margin>
</Text>
<CheckComboBox fx:id="allergienComboBox" prefHeight="25.0" prefWidth="200.0" />
</children>
</VBox>
<Button id="btAddChild" fx:id="kindLoeschenButton" layoutX="621.0" layoutY="646.0" mnemonicParsing="false" onAction="#onKindLoeschen" prefHeight="26.0" prefWidth="125.0" text="Kind löschen" />
</children> </children>
</AnchorPane> </AnchorPane>