summaryrefslogtreecommitdiffstats
path: root/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/bestell/BestellBean.java
diff options
context:
space:
mode:
authorSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
committerSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
commit33613a85afc4b1481367fbe92a17ee59c240250b (patch)
tree670b842326116b376b505ec2263878912fca97e2 /Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/bestell/BestellBean.java
downloadStudium-master.tar.gz
Studium-master.tar.bz2
add new repoHEADmaster
Diffstat (limited to 'Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/bestell/BestellBean.java')
-rw-r--r--Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/bestell/BestellBean.java105
1 files changed, 105 insertions, 0 deletions
diff --git a/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/bestell/BestellBean.java b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/bestell/BestellBean.java
new file mode 100644
index 0000000..d7f4e76
--- /dev/null
+++ b/Master/Daten- und Systemintegration/Praktikum/DSI-Praktikum-1_ausgang/DSI1-ausgang/DSI-ejb/src/java/beans/bestell/BestellBean.java
@@ -0,0 +1,105 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package beans.bestell;
+
+import beans.kundenManager.KundenManagerRemote;
+import beans.*;
+import beans.artikelManager.ArtikelManagerRemote;
+import javax.ejb.EJB;
+import javax.ejb.Stateless;
+
+/**
+ *
+ * @author Jan
+ */
+@Stateless(mappedName="BestellBean")
+public class BestellBean implements BestellRemote {
+ @EJB
+ private KundenManagerRemote kundenManagerBean;
+ @EJB
+ private ArtikelManagerRemote artikelManagerBean;
+
+
+ /**
+ * testet ob eine Position valide ist,
+ * das heisst ob es einen Artikel mit angegebener Id gibt
+ * und ob die anzahl &gt; 0 ist
+ *
+ * @param artikelId
+ * @param anzahl
+ * @return true falls valide
+ */
+ public boolean validierePosition
+ ( long artikelId,
+ long anzahl) {
+
+ // verifiziere, dass mindestens ein Artikel bestellt wird
+ if(anzahl < 1){
+ return false;
+ }
+
+ // verifiziere dass ein Artikel mit dieser id existiert
+ if (artikelManagerBean.existsArtikel(artikelId) == false){
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * validiert eine Bestellung,
+ *
+ * siehe validierePosition, allerdings mit Überprüfung ob ein Kunde
+ * mit angegebener Id existiert
+ *
+ * @param artikelId Id des Artikels
+ * @param anzahl Artikel-Anzahl
+ * @param kundenId Id des Kunden
+ * @return true falls valide
+ */
+ public boolean validiereBestellung
+ ( long artikelId,
+ long anzahl,
+ long kundenId) {
+
+
+ if( validierePosition(artikelId, anzahl) != true){
+ return false;
+ }
+
+ if(kundenManagerBean.existsKunde(kundenId) == false){
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * berechnet den Gesamtpreis der bestellten Artikel
+ *
+ * @param anzahl Anzahl der Artikel
+ * @param preis Einzel-Preis
+ * @return Gesamtpreis
+ */
+ public double berechneGesamtpreis
+ ( long anzahl,
+ double preis) {
+ return anzahl * preis;
+ }
+
+ /**
+ * Berechnet die Mehrwertsteuer
+ *
+ * es wird von einer Mehrwert-Steuer von 19% ausgegangen
+ *
+ * @param preis Der Preis
+ * @return MwSt Die berechnete Mehrwertsteuer
+ */
+ public double berechneMehrwertSteuer(double preis) {
+ return 0.19 * preis;
+ }
+
+}