package com.ejie.ad74a.util.constantes;

import java.util.Locale;

import org.springframework.context.i18n.LocaleContextHolder;

import com.ejie.ad74a.util.comun.Utilidades;

/**
 * Tipos de entrada
 */

public enum MotivosQuejasReclamaEnum {

	RETRASOENATENCION("1", "motivoQuejas.retraso"), //
	ERRORENPRESTACION("2", "motivoQuejas.errorPrestacion"),
	SERVICIOINSUFICIENTE("3", "motivoQuejas.serviciInsuficiente"),
	INFOINSUFICIENTE("4", "motivoQuejas.infoInsuficiente"),
	TECNOLOGIADEFECTUOSA("5", "motivoQuejas.tecnologiaDefectuosa"),
	INCUMPLIMIENTOCONDICIONES("6", "motivoQuejas.incumplimientoCondiciones"),
	MALAATENCION("7", "motivoQuejas.malaAtencion"), //
	OTROS("8", "motivoQuejas.otros");

	private MotivosQuejasReclamaEnum(String id, String labelDesc) {
		this.labelDesc = labelDesc;
		this.id = id;
	}

	private String id;
	private String labelDesc;

	public String getId() {
		return this.id;
	}

	public Long getIdLongValue() {
		return Long.valueOf(this.id);
	}

	public String getLabelDesc() {
		return Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N, this.labelDesc,
				LocaleContextHolder.getLocale());
	}

	public String getLabelDesc(Locale locale) {
		return Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N, this.labelDesc, locale);
	}

	public static boolean exists(String value) {

		for (MotivosQuejasReclamaEnum motivo : MotivosQuejasReclamaEnum.values()) {
			if (motivo.getId().equals(value)) {
				return true;
			}
		}

		return false;
	}

}
