
package de.ivu.elect.business.sitzberechnung.entity;

import java.util.stream.Stream;

import de.ivu.elect.jee.faces.Messages;

public enum OsvLegacyArtikelnummer {

  UNBEKANNT(-1),

  P7(7),
  P8(8),
  P9(9),
  P10(10),
  P12(12),
  P13(13),
  P15(15),
  P16(16),
  P18(18)

  ;

  private final int artikelnummer;

  OsvLegacyArtikelnummer(int artikelnummer) {
    this.artikelnummer = artikelnummer;
  }

  @Override
  public String toString() {
    return "P " + artikelnummer;
  }

  public int getArtikelnummer() {
    return artikelnummer;
  }

  public String getBeschreibung(Messages messages, String beteiligteEntitaeten, String gelosteEntitaet) {
    String msgKey = "nl.dokument.p22.konflikt.beschreibung";

    if (!UNBEKANNT.equals(this)) {
      msgKey += ".p" + getArtikelnummer();
    }

    return messages.getMessageForMessageKey(msgKey, this, beteiligteEntitaeten, gelosteEntitaet);
  }

  public static OsvLegacyArtikelnummer findeArtikelnummer(int artikelnummer) {
    return Stream.of(values()).filter(a -> a.getArtikelnummer() == artikelnummer).findAny().orElse(UNBEKANNT);
  }
}
