
package de.ivu.elect.presentation.dokumente.action;

import static java.util.Objects.nonNull;

import java.util.List;

import de.ivu.elect.business.dokumente.entity.DokumentVorlage;
import de.ivu.elect.business.dokumente.entity.DokumentVorlageConstants;
import de.ivu.elect.presentation.dokumente.exchange.DokumentBulkExportSearchEntry;

public class DokumentBulkExportSearchEntryDokumentVorlageEditAction extends AbstractDokumentBulkExportSearchEntryDokumentVorlageEditAction {

  private static final long serialVersionUID = 1L;

  public DokumentBulkExportSearchEntryDokumentVorlageEditAction() {
    super();
  }

  @Override
  protected boolean isDisabledInternal(DokumentBulkExportSearchEntry dokumentBulkExportSearchEntry) {
    return super.isDisabledInternal(dokumentBulkExportSearchEntry) || dokumentBulkExportSearchEntry.getDokumentVorlagenRequiredAnzahl() != 1;
  }

  @Override
  protected String doIt(DokumentBulkExportSearchEntry dokumentBulkExportSearchEntry) {
    List<DokumentVorlage> dokumentVorlagen = dokumentBulkExportSearchEntry.getDokumentVorlagen();

    if (dokumentVorlagen.size() == 1) {
      DokumentVorlage dokumentVorlage = dokumentVorlagen.get(0);

      if (nonNull(dokumentVorlage)) {
        return dokumentVorlageEditAction.action(dokumentVorlage);
      }
    }

    return null;
  }

  @Override
  protected String getLocalizedLabel() {
    return getMessage(getLabelKey(), getMessage(DokumentVorlageConstants.MESSAGE_KEY_ENTITY_EINZAHL));
  }
}
