diff options
| author | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
|---|---|---|
| committer | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
| commit | 33613a85afc4b1481367fbe92a17ee59c240250b (patch) | |
| tree | 670b842326116b376b505ec2263878912fca97e2 /Master/Daten- und Systemintegration/Praktikum/Projekte/DSI-Praktikum-1/ausgang/DSI-ejb/src/java/beans/bestell | |
| download | Studium-master.tar.gz Studium-master.tar.bz2 | |
Diffstat (limited to 'Master/Daten- und Systemintegration/Praktikum/Projekte/DSI-Praktikum-1/ausgang/DSI-ejb/src/java/beans/bestell')
2 files changed, 138 insertions, 0 deletions
diff --git a/Master/Daten- und Systemintegration/Praktikum/Projekte/DSI-Praktikum-1/ausgang/DSI-ejb/src/java/beans/bestell/BestellBean.java b/Master/Daten- und Systemintegration/Praktikum/Projekte/DSI-Praktikum-1/ausgang/DSI-ejb/src/java/beans/bestell/BestellBean.java new file mode 100644 index 0000000..4e3b125 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/Projekte/DSI-Praktikum-1/ausgang/DSI-ejb/src/java/beans/bestell/BestellBean.java @@ -0,0 +1,115 @@ +/* + * 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; +import javax.jws.WebMethod; +import javax.jws.WebParam; +import javax.jws.WebResult; +import javax.jws.WebService; + +/** + * + * @author Jan + */ +@WebService +@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 > 0 ist + * + * @param artikelId + * @param anzahl + * @return true falls valide + */ + @WebMethod + public @WebResult(name="valide") boolean validierePosition + ( @WebParam(name="artikelId") long artikelId, + @WebParam(name="anzahl") 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 + */ + @WebMethod + public @WebResult(name="valide") boolean validiereBestellung + ( @WebParam(name="artikelId") long artikelId, + @WebParam(name="anzahl") long anzahl, + @WebParam(name="kundenId") 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 + */ + @WebMethod + public @WebResult(name="gesamtpreis") double berechneGesamtpreis + ( @WebParam(name="anzahl") long anzahl, + @WebParam(name="preis") 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 + */ + @WebMethod + public @WebResult(name="mehrwertsteuer") double berechneMehrwertSteuer( + @WebParam(name="preis") double preis) { + return 0.19 * preis; + } + +} diff --git a/Master/Daten- und Systemintegration/Praktikum/Projekte/DSI-Praktikum-1/ausgang/DSI-ejb/src/java/beans/bestell/BestellRemote.java b/Master/Daten- und Systemintegration/Praktikum/Projekte/DSI-Praktikum-1/ausgang/DSI-ejb/src/java/beans/bestell/BestellRemote.java new file mode 100644 index 0000000..a6f1001 --- /dev/null +++ b/Master/Daten- und Systemintegration/Praktikum/Projekte/DSI-Praktikum-1/ausgang/DSI-ejb/src/java/beans/bestell/BestellRemote.java @@ -0,0 +1,23 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package beans.bestell; + +import javax.ejb.Remote; + +/** + * + * @author Jan + */ +@Remote +public interface BestellRemote { + + public double berechneGesamtpreis(long anzahl, double preis); + public double berechneMehrwertSteuer(double preis); + public boolean validierePosition(long artikelId, long anzahl); + public boolean validiereBestellung(long artikelId, long anzahl, @javax.jws.WebParam(name = "kundenId") + long kundenId); + +} |
