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

import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida;

import java.text.SimpleDateFormat;

import org.zkoss.util.resource.Labels;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;

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

	public void render(Listitem lstm, Object o) throws Exception {
		EsquemaCorrida corrida = (EsquemaCorrida) o;

		Listcell lc = new Listcell(corrida.getEsquemacorridaId().toString());
		lc.setParent(lstm);
		
		lc = new Listcell(corrida.getNumCorrida().toString());
		lc.setParent(lstm);

		SimpleDateFormat dt = new SimpleDateFormat("dd/MM/yy");
		lc = new Listcell(dt.format(corrida.getEsquemaOperacional().getFecniciovigencia()));
		lc.setParent(lstm);

		lc = new Listcell(dt.format(corrida.getEsquemaOperacional().getFecfinvigencia()));
		lc.setParent(lstm);

		if (corrida.getHorasalida() == null) {
			lc = new Listcell("-");
			lc.setParent(lstm);
		} else {
			SimpleDateFormat hr = new SimpleDateFormat("HH:mm");
			lc = new Listcell(hr.format(corrida.getHorasalida()));
			lc.setParent(lstm);
		}
		// Ruta
		lc = new Listcell(corrida.getRuta().getDescruta() == null ? "-" : corrida.getRuta().getDescruta());
		lc.setParent(lstm);
		
		lc = new Listcell(corrida.getRuta().getNumRuta() == null ? "-" : corrida.getRuta().getNumRuta());
		lc.setParent(lstm);
		
		lc = new Listcell(corrida.getRuta().getIndSentidoIda() == true ? Labels.getLabel("editarCatalogoDeRutaController.radIda.value") : Labels.getLabel("editarCatalogoDeRutaController.radVolta.value"));
		lc.setParent(lstm);
		
		// Marca
		lc = new Listcell(corrida.getMarca().getDescmarca() == null ? "-" : corrida.getMarca().getDescmarca());
		lc.setParent(lstm);

		// Semana
		String l = (corrida.getIndlunes() == Boolean.TRUE) ? "S " : "- ";
		String ma = (corrida.getIndmartes() == Boolean.TRUE) ? "T " : "- ";
		String mi = (corrida.getIndmiercoles() == Boolean.TRUE) ? "Q " : "- ";
		String j = (corrida.getIndjueves() == Boolean.TRUE) ? "Q " : "- ";
		String v = (corrida.getIndviernes() == Boolean.TRUE) ? "S " : "- ";
		String s = (corrida.getIndsabado() == Boolean.TRUE) ? "S " : "- ";
		String d = (corrida.getInddomingo() == Boolean.TRUE) ? "D " : "- ";

		lc = new Listcell(l + ma + mi + j + v + s + d);
		lc.setParent(lstm);

		// Clase
		try {
			lc = new Listcell(corrida.getClaseServicio().getDescclase() == null ? "-" : corrida.getClaseServicio().getDescclase());
			lc.setParent(lstm);
		} catch (Exception e) {
			lc = new Listcell("-");
			lc.setParent(lstm);
		}

		// EmpC
		try {
			lc = new Listcell(corrida.getEmpresa().getNombempresa() == null ? "-" : corrida.getEmpresa().getNombempresa());
			lc.setParent(lstm);
		} catch (Exception e) {
			lc = new Listcell("-");
			lc.setParent(lstm);
		}

		// EmpI
		try {
			lc = new Listcell(corrida.getEmpresa1().getNombempresa() == null ? "-" : corrida.getEmpresa1().getNombempresa());
			lc.setParent(lstm);
		} catch (Exception e) {
			lc = new Listcell("-");
			lc.setParent(lstm);
		}

		// RolOperativo
		try {
			lc = new Listcell(corrida.getRolOperativo().getDescroloperativo() == null ? "-" : corrida.getRolOperativo().getDescroloperativo());
			lc.setParent(lstm);
		} catch (Exception e) {
			lc = new Listcell("-");
			lc.setParent(lstm);
		}

		// Status
		if (corrida.getStatusCorrida() == null) {
			lc = new Listcell("-");
			lc.setParent(lstm);
		} else if (corrida.getStatusCorrida().equals("L")) {
			lc = new Listcell("LATENTE");
			lc.setParent(lstm);
		} else if (corrida.getStatusCorrida().equals("A")) {
			lc = new Listcell("AUTORIZADA");
			lc.setParent(lstm);
		} else {
			lc = new Listcell("CANCELADA");
			lc.setParent(lstm);
		}

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