public void karteReservieren(Karte karte) throws KarteNichtVerfuegbarException {
   if (karte.getKartenstatus().equals(KonstantKartenStatus.FREI)) {
     karte.setKartenstatus(KonstantKartenStatus.RESERVIERT);
   } else {
     throw new KarteNichtVerfuegbarException(karte.getKartenId());
   }
 }
  public void karteKaufen(Karte karte, boolean istErmaessigt) throws SaveFailedException {

    karte.setKartenstatus(KonstantKartenStatus.VERKAUFT);
    karte.setErmaessigt(istErmaessigt);

    if (istErmaessigt) {
      int i = (100 - karte.getKategorie().getVeranstaltung().getErmaessigung());

      BigDecimal bd = new java.math.BigDecimal(String.valueOf(i));
      BigDecimal preis =
          calculateCost(i, karte.getKategorie().getPreis())
              .divide(new java.math.BigDecimal(String.valueOf(100)));

      karte.setPreis(preis);
    } else {
      karte.setPreis(karte.getKategorie().getPreis());
    }

    DAOFabrik.getInstance().getKarteDAO().saveORupdate(karte);
    DAOFabrik.getInstance().getCurrentSession().merge(karte);
  }
 public void karteFreigeben(Karte karte) throws SaveFailedException {
   karte.setKartenstatus(KonstantKartenStatus.FREI);
   DAOFabrik.getInstance().getKarteDAO().saveORupdate(karte);
 }
 public void karteBlockieren(Karte karte) throws SaveFailedException {
   karte.setKartenstatus(KonstantKartenStatus.BLOKIERT);
   DAOFabrik.getInstance().getKarteDAO().saveORupdate(karte);
 }