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 SubTipoAvisoEnum {

	ANULARBAJA("1", "subtiposAvisos.anularBaja"), //
	BAJA("2", "subtiposAvisos.baja"), //
	BAJAYALTA("3", "subtiposAvisos.bajaYAlta"), //
	BAJAANTICIPADA("4", "subtiposAvisos.bajaAnticipada"), //
	CAMBIODOM("5", "subtiposAvisos.cambioDeDomicilioUrgente"), //
	MODIFDATOSDOM("6", "subtiposAvisos.modificacionDatosDomicilio"), //
	AVERIA("7", "subtiposAvisos.averia"), //
	NUEVODISP("8", "subtiposAvisos.nuevoDispositivo"), //
	PERDIDA("9", "subtiposAvisos.perdida"), //
	SUSTITUCION("10", "subtiposAvisos.sustitucion"), //
	RECOGAPARATO("11", "subtiposAvisos.recogidaDeAparato"), //
	OTROS_DISP("12", "subtiposAvisos.subtipoOtros"), //
	ENVDSS("13", "subtiposAvisos.enviadoDSS"), //
	SOLICDSS("14", "subtiposAvisos.solicitudSSB"), //
	SOLICPS("15", "subtiposAvisos.solicitudDSS"), //
	ENVEXPAB("16", "subtiposAvisos.envConExpAbierto"), //
	ENVDSSSUIC("17", "subtiposAvisos.envDSSSuic"), //
	CAMBIOCITA("18", "subtiposAvisos.cambiosCitaInst"), //
	COMENTINST("19", "subtiposAvisos.comentariosSobreLaInstalacion"), //
	INSTAL("20", "subtiposAvisos.sobreLaInstalacion"), //
	SERV("21", "subtiposAvisos.sobreElServicio"), //
	OTRASQUEJ("22", "subtiposAvisos.otrasQuejas"), //
	ALTRIES("23", "subtiposAvisos.altoRiesgo"), //
	NOCONTACUSU("24", "subtiposAvisos.noContactarConUsuario"), //
	CORRECERR("25", "subtiposAvisos.correccionErrores"), //
	OTROS("26", "subtiposAvisos.subtipoOtros"), //
	INSTALPS("27", "subtiposAvisos.sobreLaInstalacion"), //
	SERVPS("28", "subtiposAvisos.sobreElServicio"), //
	OTRASQUEJPS("29", "subtiposAvisos.otrasQuejas");

	private SubTipoAvisoEnum(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);
	}

}
