package com.rjconsultores.ventaboletos.enums;

import org.zkoss.util.resource.Labels;

public enum TipoFormapago {
	
	DINHEIRO(0,Labels.getLabel("editarFormaPagoController.lblDinheiro.label")),
	DEBITO(1,Labels.getLabel("editarFormaPagoController.lblDebito.label")),
	CREDITO(2,Labels.getLabel("editarFormaPagoController.lblCredito.label")),
	NOTA_CREDITO(3,Labels.getLabel("editarFormaPagoController.lblNotaCredito.label")),
	TROCA_PASSAGEM(4,Labels.getLabel("editarFormaPagoController.lblTrocaPassagem.label")),
	IMPRESSAO_PASSAGEM(5,Labels.getLabel("editarFormaPagoController.lblImpressaoPassagem.label")),
	ORDEM_SERVICO(6,Labels.getLabel("editarFormaPagoController.lblOrdemServico.label")),
	BOLETO_ABERTO(7,Labels.getLabel("editarFormaPagoController.lblBoletoAberto.label")),
	PACOTE(8,Labels.getLabel("editarFormaPagoController.lblPacote.label")),
	RESERVA(9,Labels.getLabel("editarFormaPagoController.lblReserva.label")),
	CHEQUE(10,Labels.getLabel("editarFormaPagoController.lblCheque.label")),
	DEPOSITO(11,Labels.getLabel("editarFormaPagoController.lblDeposito.label")),
	CARTEIRA_DIGITAL(12,Labels.getLabel("editarFormaPagoController.lblCarteiraDigital.label")),
	SMART_CARD(13,Labels.getLabel("editarFormaPagoController.lblSmartCard.label")),
	LOGPAY(14,Labels.getLabel("editarFormaPagoController.lblLogpay.label")),
	TPI(15, Labels.getLabel("editarFormaPagoController.lblTPI.label")),
	MOBIPIX(16,Labels.getLabel("editarFormaPagoController.lblMobiPix.label")),
	ADYEN(17,Labels.getLabel("editarFormaPagoController.lblAdyen.label")),
	MERCADO_PAGO(18,Labels.getLabel("editarFormaPagoController.lblMercadoPago.label")),
	EMBARQUE_JA(19,Labels.getLabel("editarFormaPagoController.lblEmbarqueJa.label")),
	NEQUI(20,Labels.getLabel("editarFormaPagoController.lblNequi.label"))
	;
	
	private Integer valor;
	private String descricao;
	
	private TipoFormapago(Integer valor, String descricao) {
		this.valor = valor;
		this.descricao = descricao;
	}
	
	public String getDescricao() {
		return descricao;
	}

	@Override
	public String toString() {
		return getDescricao();
	}

	public Integer getValor() {
		return valor;
	}
	
	public static TipoFormapago getTipoFormapagoByValor(Integer valor) {

		for (TipoFormapago tipoFormapago : TipoFormapago.values()) {
			if (tipoFormapago.getValor().equals(valor)) {
				return tipoFormapago;
			}
		}
		return null;
	}

}
