package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios.integracaoantifraude;

import java.util.List;

public enum EStatusKonduto {
	
	PENDING("PENDING", "Pendente"),
	APPROVED("APPROVED","Aprovado"),
	DECLINED("DECLINED","Negado"),
	FRAUD("FRAUD","Fraude"),
	NOT_AUTHORIZED("NOT_AUTHORIZED","Não autorizado"),
	NOT_ANALYZED("NOT_ANALYZED","Não analisado"),
	CANCELED("CANCELED","Cancelado");

	private String codigo;
	private String descricao;
	
	private EStatusKonduto(String codigo, String descricao) {
		this.codigo = codigo;
		this.descricao = descricao;
	}

	public String getCodigo() {
		return codigo;
	}

	public String getDescricao() {
		return descricao;
	}
	
	public static String getDescricaoTodos(List<EStatusKonduto> list) {
		StringBuilder str = new StringBuilder();
		for (EStatusKonduto eStatusKonduto : list) {
			if(str.length() > 0) {
				str.append(", ");
			}
			str.append(eStatusKonduto.getDescricao());
		}
		return str.toString();
	}
	
	public static String getIdTodos(List<EStatusKonduto> list) {
		StringBuilder str = new StringBuilder();
		for (EStatusKonduto eStatusKonduto : list) {
			if(str.length() > 0) {
				str.append(", ");
			}
			str.append("'").append(eStatusKonduto.getCodigo()).append("'");
		}
		return str.toString();
	}
	
	public static EStatusKonduto getStatusKondutoPorId(String id) {
		for (EStatusKonduto status: EStatusKonduto.values()) {
			if (status.getCodigo().equals(id)) {
				return status;
			}
		}
		throw new IllegalArgumentException("Status Konduto não encontrado.");
	}
	
}
