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

import javax.annotation.Nonnull;
import javax.inject.Inject;

import de.ivu.elect.business.datei.boundary.DateiImportConversationSelect;
import de.ivu.elect.business.datei.entity.DateiImport;
import de.ivu.elect.presentation.exchange.DateiImportBerichtLastViewConversationSelect;
import de.ivu.elect.presentation.exchange.DateiImportBerichtView;
import de.ivu.elect.presentation.exchange.ImportDescriptionSelect;

public class DateiImportBerichtAction extends AbstractDateiImportAction {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient DateiImportConversationSelect dateiImportConversationSelect;

  @Inject
  private transient ImportDescriptionSelect importDescriptionSelect;

  @Inject
  private transient DateiImportBerichtLastViewConversationSelect dateiImportBerichtLastViewConversationSelect;

  @Inject
  @Override
  public String getLabelKey() {
    return "datei.import.edit.action.import.bericht";
  }

  @Override
  public String getIcon() {
    return appIcons.getIconReport();
  }

  @Override
  protected String doIt(DateiImport entity) {
    dateiImportBerichtLastViewConversationSelect.setLastViewId(importDescriptionSelect.getImportSearchViewId());
    dateiImportConversationSelect.setEntity(entity);
    return DateiImportBerichtView.VIEW_ID;
  }

  @Override
  public boolean isDisabledInternal(@Nonnull DateiImport entity) {
    return !entity.isImportiert();
  }
}
