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

import java.text.SimpleDateFormat;
import java.util.List;

import org.zkoss.zkplus.spring.SpringUtil;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;

import com.rjconsultores.ventaboletos.entidad.PricingCorrida;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.RutaSecuencia;
import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.service.RutaSecuenciaService;

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

    public void render(Listitem lstm, Object o) throws Exception {
        PricingCorrida pc = (PricingCorrida) o;

        Listcell lc = new Listcell();

        if (pc.getCorridaCtrl() != null) {
            lc = new Listcell(pc.getCorridaCtrl().getCorridaId().toString());
        } else {
            lc = new Listcell("-");
        }
        lc.setParent(lstm);

        SimpleDateFormat sf = new SimpleDateFormat("HH:mm");
        if (pc.getCorridaCtrl() != null) {
            lc = new Listcell((pc.getCorridaCtrl().getHorario() == null) ? "-" : sf.format(pc.getCorridaCtrl().getHorario()));

        } else {
            lc = new Listcell("-");
        }
        lc.setParent(lstm);

        Ruta r = pc.getCorridaCtrl().getRuta();

        RutaSecuenciaService rutaSecuenciaService = (RutaSecuenciaService) SpringUtil.getBean("rutaSecuenciaService");
        List<RutaSecuencia> rs = rutaSecuenciaService.buscarSecuenciaOrdenado(r);
        if (rs.size() > 0) {
            Tramo origem = rs.get(0).getTramo();
            Tramo destino = rs.get(rs.size() - 1).getTramo();

            lc = new Listcell(origem.getOrigem().getDescparada());
            lc.setParent(lstm);
            lc = new Listcell(destino.getDestino().getDescparada());
            lc.setParent(lstm);
        } else {
            lc = new Listcell("");
            lc.setParent(lstm);
            lc = new Listcell("");
            lc.setParent(lstm);
        }


        lstm.setAttribute("data", pc);
    }
}
