package de.ivu.elect.presentation.kandidatur.table;

import java.util.ArrayList;
import java.util.List;

import javax.enterprise.inject.Specializes;

import de.ivu.elect.business.kandidatur.entity.KandidaturKumulierteStimmen;
import de.ivu.elect.jee.presentation.dynamictable.ColumnEntry;

@Specializes
public class NlListenkandidaturKumulierteStimmenColumnBuilder extends ListenkandidaturKumulierteStimmenColumnBuilder {
  private static final long serialVersionUID = 1L;

  @Override
  public List<ColumnEntry<? super KandidaturKumulierteStimmen>> getColumnEntriesSorted() {
    List<ColumnEntry<? super KandidaturKumulierteStimmen>> result = new ArrayList<>();

    boolean isListenwahlgebiet = isListenWahlgebiet();


//    if (isListenwahlgebiet) {
    // Unsinnig => raus
      // result.add(kandidaturKumulierteStimmenGebietColumn);
//    }
    result.add(kandidaturKumulierteStimmenWahlvorschlagColumn);
    result.add(kandidaturKumulierteStimmenNameColumn);
    result.add(kandidaturKumulierteStimmenAnzahlListenstimmenColumn);

    if (isListenwahlgebiet) {
// Rang raus war nicht im alten osv
      //      if (isSitzberechnungsalgorithmusVergibtSitze()) {
//        result.add(kandidaturKumulierteStimmenGewaehltRangListenstimmenColumn);
//      }
      result.add(kandidaturKumulierteStimmenStimmzettelPositionColumn);
    }

    return result;
  }

  private boolean isListenWahlgebiet() {
    return getSelectedGebiet() != null && getSelectedGebiet().isListenwahlgebiet();
  }
}
