package com.rjconsultores.ventaboletos.web.utilerias.render;

import java.text.SimpleDateFormat;
import java.util.Date;

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

import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.CorridaTramo;
import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Parada;

public class RenderCorridaTarjetaViaje implements ListitemRenderer {

	@Override
    public void render(Listitem lstm, Object o) throws Exception {
        CorridaTramo corridaTramo = (CorridaTramo) o;

        Listcell lc = new Listcell(corridaTramo.getCorrida().getId().getCorridaId().toString());
        lc.setParent(lstm);

        SimpleDateFormat sdfData = new SimpleDateFormat("dd/MM/yyyy");
        lc = new Listcell(sdfData.format(corridaTramo.getCorrida().getId().getFeccorrida()));
        lc.setParent(lstm);

        SimpleDateFormat sdfHora = new SimpleDateFormat("HH:mm");
        Date hora = corridaTramo.getFechorSalidaOriginal();
        if (hora != null) {
            lc = new Listcell(sdfHora.format(hora));
        } else {
            lc = new Listcell("");
        }
        lc.setParent(lstm);

        Parada origem = corridaTramo.getOrigem();
        if (origem != null) {
            lc = new Listcell(origem.getDescparada());
        } else {
            lc = new Listcell("");
        }
        lc.setParent(lstm);

        Parada destino = corridaTramo.getDestino();
        if (destino != null) {
            lc = new Listcell(destino.getDescparada());
        } else {
            lc = new Listcell("");
        }
        lc.setParent(lstm);

        ClaseServicio claseServicio = corridaTramo.getCorrida().getClaseServicio();
        if (claseServicio != null) {
            lc = new Listcell(claseServicio.getDescclase());
        } else {
            lc = new Listcell("");
        }
        lc.setParent(lstm);

        Marca marca = corridaTramo.getCorrida().getMarca();
        if (marca != null) {
            lc = new Listcell(marca.getDescmarca());
        } else {
            lc = new Listcell("");
        }
        lc.setParent(lstm);

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