/* * 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; } }