public void eventActionSave(ActionEvent e, boolean bNeedNoSaveI) throws Throwable {
    if (allMandatoryFieldsSetDlg()) {
      if (wtfBeginn.getTime().before(wtfEnde.getTime())) {
        components2Dto();
        if (zeitmodelltagpauseDto.getIId() == null) {
          zeitmodelltagpauseDto.setIId(
              DelegateFactory.getInstance()
                  .getZeiterfassungDelegate()
                  .createZeitmodelltagpause(zeitmodelltagpauseDto));
          setKeyWhenDetailPanel(zeitmodelltagpauseDto.getIId());
        } else {
          DelegateFactory.getInstance()
              .getZeiterfassungDelegate()
              .updateZeitmodelltagpause(zeitmodelltagpauseDto);
        }

        super.eventActionSave(e, true);

        if (getInternalFrame().getKeyWasForLockMe() == null) {
          getInternalFrame()
              .setKeyWasForLockMe(internalFramePersonal.getZeitmodellDto().getIId() + "");
        }
        eventYouAreSelected(false);
      } else {
        DialogFactory.showModalDialog(
            LPMain.getInstance().getTextRespectUISPr("lp.error"),
            LPMain.getInstance().getTextRespectUISPr("lp.error.beginnvorende"));
      }
    }
  }
  protected void eventActionSpecial(ActionEvent e) throws Throwable {

    if (e.getSource().equals(wbuKWZurueck)) {
      Calendar c = Calendar.getInstance();
      c.setTime(wdfKW.getDate());
      c.set(Calendar.DATE, c.get(Calendar.DATE) - 7);
      wdfKW.setTimestamp(new java.sql.Timestamp(c.getTimeInMillis()));
    } else if (e.getSource().equals(wbuNaechsteKW)) {
      Calendar c = Calendar.getInstance();
      c.setTime(wdfKW.getDate());
      c.set(Calendar.DATE, c.get(Calendar.DATE) + 7);
      wdfKW.setTimestamp(new java.sql.Timestamp(c.getTimeInMillis()));
    } else if (e.getSource().equals(wbuZeitenAbschliessen)) {
      DelegateFactory.getInstance()
          .getZeiterfassungDelegate()
          .zeitenAbschliessen(
              internalFrameZeiterfassung.getPersonalDto().getIId(), wdfKW.getTimestamp());

      DialogFactory.showModalDialog(
          LPMain.getTextRespectUISPr("lp.info"),
          LPMain.getTextRespectUISPr("pers.report.wochenabschluss.zeitenabgeschlossen")
              + wlaKW.getText());
      wbuZeitenAbschliessen.setEnabled(false);
    }
  }
  /**
   * Prüft die größe der Datei gegen die Berechtigung.
   *
   * @param file
   * @return true wenn gespeichert werden darf, sonst false
   * @throws ExceptionLP
   * @throws Throwable
   */
  private static boolean checkFileSize(File file) throws ExceptionLP, Throwable {

    ParametermandantDto param =
        DelegateFactory.getInstance()
            .getParameterDelegate()
            .getMandantparameter(
                LPMain.getTheClient().getMandant(),
                ParameterFac.KATEGORIE_ALLGEMEIN,
                ParameterFac.PARAMETER_ALLGEMEIN_DOKUMENTE_MAXIMALE_GROESSE);
    Integer lFileSize = (Integer) param.getCWertAsObject();
    // Umrechnung in Byte
    Integer lFileSizeByte = lFileSize * 1024;
    boolean bSpeichern = true;
    if (file.length() > lFileSizeByte) {
      boolean bHatRechtImmerZuSpeichern =
          DelegateFactory.getInstance()
              .getTheJudgeDelegate()
              .hatRecht(
                  RechteFac.RECHT_DOKUMENTE_DARF_DOKUMENTE_GROESSER_ALS_MAX_ZULAESSIG_SPEICHERN);
      if (bHatRechtImmerZuSpeichern) {
        if (!DialogFactory.showModalJaNeinDialog(
            null, LPMain.getTextRespectUISPr("lp.dokumente.datei.zugros.trotzdem.speichern")))
          bSpeichern = false;
      } else {
        bSpeichern = false;
        DialogFactory.showModalDialog(
            LPMain.getTextRespectUISPr("lp.hinweis"),
            LPMain.getTextRespectUISPr("lp.error.dateizugross")
                + "\n "
                + LPMain.getTextRespectUISPr("lp.datei.maxgroesse")
                + ": "
                + lFileSize
                + "Kb "
                + LPMain.getTextRespectUISPr("lp.datei.dateigroesse")
                + ": "
                + (file.length() / 1024)
                + "Kb");
      }
    }
    if (bSpeichern && Helper.getMime(file.getName()).isEmpty()) {
      bSpeichern =
          DialogFactory.showModalJaNeinDialog(
              null, LPMain.getTextRespectUISPr("lp.dokumente.keinedateiendung"));
    }
    return bSpeichern;
  }
 public void focusLost(FocusEvent e) {
   try {
     adaptee.rabattsatz_focusLost(e);
   } catch (Throwable ex) {
     DialogFactory.showModalDialog(
         LPMain.getInstance().getTextRespectUISPr("lp.error"),
         LPMain.getInstance().getTextRespectUISPr("lp.error.preisberechnungfehlgeschlagen"));
   }
 }
 public void eventActionNew(EventObject eventObject, boolean bLockMeI, boolean bNeedNoNewI)
     throws Throwable {
   if (zeitmodelltagDto != null) {
     super.eventActionNew(eventObject, true, false);
     zeitmodelltagpauseDto = new ZeitmodelltagpauseDto();
     leereAlleFelder(this);
   } else {
     DialogFactory.showModalDialog(
         LPMain.getInstance().getTextRespectUISPr("lp.error"),
         LPMain.getInstance().getTextRespectUISPr("pers.error.keinzeitmodelltagdefiniert"));
   }
 }
  /**
   * Fixpreis uebersteuert einen ev. vorhandenen Rabattsatz.
   *
   * @param e FocusEvent
   * @throws Throwable
   */
  public void rabattsatz_focusLost(FocusEvent e) throws Throwable {
    if (e.getSource().equals(wnfRabattsatz)) {
      // Hinweis, falls es einen Fixpreis gibt, Rabattsatz auf 0 setzen
      if (wnfFixpreis.getDouble() != null && wnfRabattsatz.getDouble().doubleValue() != 0) {
        DialogFactory.showModalDialog(
            LPMain.getInstance().getTextRespectUISPr("lp.hint"),
            LPMain.getInstance().getTextRespectUISPr("vkpf.hint.fixpreisueberschreibtrabattsatz"));

        wnfRabattsatz.setDouble(new Double(0));
      }
    }

    berechneArtikelpreis(e);
  }
 private void showDialogEmailAusfuellen() {
   DialogFactory.showModalDialog(
       LPMain.getTextRespectUISPr("lp.error"),
       LPMain.getTextRespectUISPr("part.ansprechpartner.emailfuernewsletternoetig"));
 }
  public void keyPressed(KeyEvent e) {

    if (e.getKeyCode() == KeyEvent.VK_ENTER) {
      if (e.getSource() == wtfArtikelnummer) {

        try {
          artikelDto =
              DelegateFactory.getInstance()
                  .getArtikelDelegate()
                  .artikelFindByCNr(wtfArtikelnummer.getText());

        } catch (Throwable ex) {
          if (ex instanceof ExceptionLP) {
            ExceptionLP exLP = (ExceptionLP) ex;
            if (exLP.getICode() == EJBExceptionLP.FEHLER_BEI_FIND) {
              DialogFactory.showModalDialog(
                  LPMain.getInstance().getTextRespectUISPr("lp.error"),
                  "Artikel konnte nicht gefunden werden.");
              artikelDto = null;
              wtfArtikelnummer.setText(null);
              wtfBezeichnung.setText(null);
              wtfArtikelnummer.requestFocus();
            } else {
              panelPositionen.handleException(ex, true);
            }
          } else {
            panelPositionen.handleException(ex, true);
          }
        }

        if (artikelDto != null) {
          wtfBezeichnung.setText(artikelDto.formatArtikelbezeichnung());

          if (Helper.short2boolean(artikelDto.getBChargennrtragend())
              || Helper.short2boolean(artikelDto.getBSeriennrtragend())) {
            wtfSerienChargennummer.setEnabled(true);
            wtfSerienChargennummer.setText(null);
            wtfSerienChargennummer.requestFocus();
            if (Helper.short2boolean(artikelDto.getBSeriennrtragend())) {
              try {
                wnfMenge.setDouble(new Double(1));
              } catch (ExceptionLP ex2) {
                // wird hoffentlich gehen
              }
            }

          } else {
            wtfSerienChargennummer.setText(null);
            wtfSerienChargennummer.setEnabled(false);
            try {
              wnfMenge.setDouble(null);
            } catch (ExceptionLP ex2) {
              // wird hoffentlich gehen
            }

            wnfMenge.requestFocus();
          }
        }
      } else if (e.getSource() == wtfSerienChargennummer) {
        if (Helper.short2boolean(artikelDto.getBSeriennrtragend())) {
          wtfArtikelnummer.requestFocus();

        } else if (Helper.short2boolean(artikelDto.getBChargennrtragend())) {
          wnfMenge.requestFocus();
        }
      } else if (e.getSource() == wnfMenge) {

        // Auftragsposition speichern

        try {
          if (artikelDto != null && wnfMenge.getBigDecimal() != null) {

            AuftragpositionDto aDto = new AuftragpositionDto();
            aDto.setBelegIId(auftragDto.getIId());
            aDto.setArtikelIId(artikelDto.getIId());
            aDto.setPositionsartCNr(AuftragServiceFac.AUFTRAGPOSITIONART_IDENT);
            aDto.setNMenge(wnfMenge.getBigDecimal());
            aDto.setBNettopreisuebersteuert(Helper.boolean2Short(false));
            aDto.setBMwstsatzuebersteuert(Helper.boolean2Short(false));
            aDto.setBArtikelbezeichnunguebersteuert(Helper.boolean2Short(false));
            aDto.setEinheitCNr(artikelDto.getEinheitCNr());
            aDto.setNOffeneMenge(wnfMenge.getBigDecimal());
            aDto.setTUebersteuerbarerLiefertermin(auftragDto.getDLiefertermin());
            if (wtfSerienChargennummer.getText() != null) {
              aDto.setSeriennrChargennrMitMenge(
                  SeriennrChargennrMitMengeDto.erstelleDtoAusEinerChargennummer(
                      wtfSerienChargennummer.getText(), wnfMenge.getBigDecimal()));
            }
            DelegateFactory.getInstance().getAuftragpositionDelegate().createAuftragposition(aDto);
            wtfArtikelnummer.setText(null);
            wtfBezeichnung.setText(null);
            wtfSerienChargennummer.setText(null);

            wnfMenge.setDouble(null);
          }
        } catch (Throwable ex) {
          panelPositionen.handleException(ex, true);
        }
        wtfArtikelnummer.requestFocus();
      }
    }
  }
  public void propertyChange(PropertyChangeEvent evt) {
    super.propertyChange(evt);

    try {
      if (wdfPreisgueltigkeitsanzeigeab != null
          && wifArtikel.getArtikelDto() != null
          && wifArtikel.getArtikelDto().getIId() != null) {
        if (evt.getSource() == wdfPreisgueltigkeitsanzeigeab.getDisplay()
            && evt.getPropertyName().equals("date")
            && wdfPreisgueltigkeitsanzeigeab.getDate() != null) {
          datGueltigkeitsanzeigeab = wdfPreisgueltigkeitsanzeigeab.getDate();

          // die passende Verkaufspreisbasis anzeigen
          if (iPreisbasis == 0 || iPreisbasis == 2) {
            verkaufspreisbasisDto2comp(
                DelegateFactory.getInstance()
                    .getVkPreisfindungDelegate()
                    .getArtikeleinzelverkaufspreis(
                        wifArtikel.getArtikelDto().getIId(),
                        datGueltigkeitsanzeigeab,
                        waehrungCNr));
          } else {
            vkPreisfindungPreislisteDto2com(
                DelegateFactory.getInstance()
                    .getVkPreisfindungDelegate()
                    .getAktuellePreislisteByArtikelIIdPreislisteIId(
                        wifArtikel.getArtikelDto().getIId(),
                        getKundenpreislisteIId(),
                        datGueltigkeitsanzeigeab,
                        waehrungCNr));
          }

          // den berechneten Preis aktualisieren
          BigDecimal nBerechneterPreis = new BigDecimal(0);

          if (wnfFixpreis.getBigDecimal() == null && wnfRabattsatz.getDouble() != null) {
            // WH 21.06.06 Es gilt die VK-Basis zur
            // Preisgueltigkeit. Damit kann der
            // berechnete Preis von dem dargstellten in der FLR
            // Liste abweichen, der wird
            // fuer das Beginndatum der Mengenstaffel angezeigt
            BigDecimal nPreisbasis =
                DelegateFactory.getInstance()
                    .getVkPreisfindungDelegate()
                    .ermittlePreisbasis(
                        wifArtikel.getArtikelDto().getIId(),
                        wdfPreisgueltigkeitsanzeigeab.getDate(),
                        null,
                        waehrungCNr);

            VerkaufspreisDto vkpfDto =
                DelegateFactory.getInstance()
                    .getVkPreisfindungDelegate()
                    .berechneVerkaufspreis(nPreisbasis, wnfRabattsatz.getDouble());

            nBerechneterPreis = vkpfDto.nettopreis;
          }

          wnfBerechneterpreis.setBigDecimal(nBerechneterPreis);
        }
      }
    } catch (Throwable t) {
      DialogFactory.showModalDialog(
          LPMain.getInstance().getTextRespectUISPr("lp.error"),
          LPMain.getInstance().getTextRespectUISPr("vkpf.error.preisgueltigkeitsanzeigeab"));
    }
  }