@Override
  // @Transactional
  public String delete() {

    financeTxnAction.deletePayment(entity);
    accountTxnAction.deletePayment(entity);

    getMatchProvider().delete(getMatchModels());

    for (int i = 0; i < entity.getItems().size(); i++) {
      deleteItem(i);
    }

    if (entity == null) {
      return BaseConsts.FAIL;
    }

    try {
      getEntityManager().remove(getReference());
      getEntityManager().flush();
    } catch (Exception e) {
      log.debug("Hata : #0", e);
      facesMessages.add("#{messages['general.message.record.DeleteFaild']}");
      return BaseConsts.FAIL;
    }

    log.debug("Entity Removed : {0} ", entity);
    entity = null;
    facesMessages.add("#{messages['general.message.record.DeleteSuccess']}");

    raiseRefreshBrowserEvent();
    endCurrentConversation();
    return BaseConsts.SUCCESS;
  }