ReminderUtil.apply(t,(ReminderInterval) input.getValue(), input.getEnd());
Boolean store = (Boolean) getStoreEmpfaenger().getValue();
if (store.booleanValue())
{
HibiscusAddress e = (HibiscusAddress) Settings.getDBService().createObject(HibiscusAddress.class,null);
e.setIban(kto);
e.setName(name);
e.setBic(bic);
// Zu schauen, ob die Adresse bereits existiert, ueberlassen wir der Action
new EmpfaengerAdd().handleAction(e);
// wenn sie in der Action gespeichert wurde, sollte sie jetzt eine ID haben und wir koennen die Meta-Daten dran haengen
if (e.getID() != null)
this.address = e;
}
// Glaeubiger-ID im Konto speichern, damit wir sie beim naechsten Mal parat haben
MetaKey.SEPA_CREDITOR_ID.set(k,t.getCreditorId());
// Daten des Mandats als Meta-Daten an der Adresse speichern
if (this.address != null)
{
MetaKey.SEPA_MANDATE_ID.set(this.address,t.getMandateId());
MetaKey.SEPA_SEQUENCE_CODE.set(this.address,t.getSequenceType().name());
MetaKey.SEPA_MANDATE_SIGDATE.set(this.address,DateUtil.DEFAULT_FORMAT.format(t.getSignatureDate()));
// Adress-ID am Auftrag speichern, damit wir nach erfolgreicher Ausfuehrung des Auftrages den
// Sequence-Typ von FRST auf RCUR setzen koennen
MetaKey.ADDRESS_ID.set(t,this.address.getID());
}
t.transactionCommit();
Application.getMessagingFactory().sendMessage(new StatusBarMessage(i18n.tr("Auftrag gespeichert"),StatusBarMessage.TYPE_SUCCESS));
MessageBus.send("hibiscus.transfer.check",t);
return true;
}
catch (Exception e)
{
if (t != null) {
try {
t.transactionRollback();
}
catch (Exception xe) {
Logger.error("rollback failed",xe);
}
}
if (e instanceof ApplicationException)
{
Application.getMessagingFactory().sendMessage(new StatusBarMessage(e.getMessage(),StatusBarMessage.TYPE_ERROR));
}
else
{
Logger.error("error while saving order",e);
Application.getMessagingFactory().sendMessage(new StatusBarMessage(i18n.tr("Fehlgeschlagen: {0}",e.getMessage()),StatusBarMessage.TYPE_ERROR));
}
}
return false;
}