/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.rjconsultores.ventaboletos.web.utilerias.render;

import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;

import com.rjconsultores.ventaboletos.entidad.GP_PricingRuta;
import com.rjconsultores.ventaboletos.entidad.PricingRuta;

/**
 *
 * @author Rafius
 */
public class RenderPricingRuta implements ListitemRenderer {

    @Override
	public void render(Listitem lstm, Object o) throws Exception {
    	if(o instanceof PricingRuta) {
	        PricingRuta pc = (PricingRuta) o;
	
	        Listcell lc = new Listcell();
	
			if (pc.getRuta() != null && pc.getRuta().getRutaId() != null && Boolean.TRUE.equals(pc.getRuta().getActivo())) {
				String descLinha = "";
				if (pc.getRuta().getRutaId() != -1) {
					String sentido = pc.getRuta().getIndSentidoIda() == null || Boolean.TRUE.equals(pc.getRuta().getIndSentidoIda()) ? "IDA" : "VOLTA";
					String descClasse = pc.getRuta().getClaseServicio() != null ? pc.getRuta().getClaseServicio().getDescclase() : "null";
					descLinha = pc.getRuta().getNumRuta() + " - " + pc.getRuta().getDescruta() + " - "
							+ pc.getRuta().getRutaId().toString() + " - " + descClasse + " - " + sentido;
				} else {
					descLinha = pc.getRuta().getDescruta();
				}
				lc = new Listcell(descLinha);
	        } else {
	            lc = new Listcell("-");
	        }
	        lc.setParent(lstm);
	
	        lstm.setAttribute("data", pc);
    	} else {
    		GP_PricingRuta pc = (GP_PricingRuta) o;
    		
	        Listcell lc = new Listcell();
	
			if (pc.getRuta() != null && pc.getRuta().getRutaId() != null) {
				String descLinha = "";
				if (pc.getRuta().getRutaId() != -1) {
					String sentido = pc.getRuta().getIndSentidoIda() == null || Boolean.TRUE.equals(pc.getRuta().getIndSentidoIda()) ? "IDA" : "VOLTA";
					String descClasse = pc.getRuta().getClaseServicio() != null ? pc.getRuta().getClaseServicio().getDescclase() : "null";
					descLinha = pc.getRuta().getNumRuta() + " - " + pc.getRuta().getDescruta() + " - "
							+ pc.getRuta().getRutaId().toString() + " - " + descClasse + " - " + sentido;
				} else {
					descLinha = pc.getRuta().getDescruta();
				}
				lc = new Listcell(descLinha);
	        } else {
	            lc = new Listcell("-");
	        }
	        lc.setParent(lstm);
	
	        lstm.setAttribute("data", pc);
    	}
    }
}
