package de.ivu.elect.exchange.rolle.csv;

import org.jsefa.csv.annotation.CsvDataType;
import org.jsefa.csv.annotation.CsvField;

import de.ivu.elect.business.benutzerverwaltung.entity.RechteKonfiguration;
import de.ivu.elect.business.security.UseCasePermission;
import de.ivu.elect.exchange.BaseDTO;
import de.ivu.jsefa.CsvHeader;

/**
 *  on 16.07.2015.
 */
@CsvDataType
public class DefaultRechteKonfigurationCsvDTO extends BaseDTO {

  @CsvField(pos = 1)
  @CsvHeader("Recht")
  private String recht;

  @CsvField(pos = 2)
  @CsvHeader("Nur im Testmodus aktiv")
  private boolean nurImTestmodusAktiv;

  public DefaultRechteKonfigurationCsvDTO() {
    //
  }

  public DefaultRechteKonfigurationCsvDTO(RechteKonfiguration rechteKonfiguration) {
    this.recht = rechteKonfiguration.getRecht().name();
    this.nurImTestmodusAktiv = rechteKonfiguration.getNurImTestmodusAktiv();
  }

  public boolean isNurImTestmodusAktiv() {
    return nurImTestmodusAktiv;
  }

  public void setNurImTestmodusAktiv(boolean nurImTestmodusAktiv) {
    this.nurImTestmodusAktiv = nurImTestmodusAktiv;
  }

  public String getRecht() {
    return recht;
  }

  public void setRecht(String recht) {
    this.recht = recht;
  }

  public RechteKonfiguration createRechteKonfiguration() {
    RechteKonfiguration result = new RechteKonfiguration();
    result.setRecht(UseCasePermission.valueOf(getRecht()));
    result.setNurImTestmodusAktiv(isNurImTestmodusAktiv());
    return result;

  }
}
