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

import java.math.BigDecimal;

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.CoeficienteTarifa;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.OrgaoTramo;

public class RenderOrgaoTramo implements ListitemRenderer {

	public void render(Listitem lstm, Object o) throws Exception {
		OrgaoTramo orgaoTramo = (OrgaoTramo) o;

		Listcell lc = new Listcell();

		if (orgaoTramo.getActivo()) {
			BigDecimal totalKm = BigDecimal.ZERO;

			CoeficienteTarifa coeficienteTarifa1 = orgaoTramo.getCoeficienteTarifa1();
			if (coeficienteTarifa1 != null) {
				lc = new Listcell(coeficienteTarifa1.toString());
			} else {
				lc = new Listcell("");
			}
			lc.setParent(lstm);

			BigDecimal kmCoeficienteTarifa1 = orgaoTramo.getKmCoeficiente1();
			if (kmCoeficienteTarifa1 != null) {
				totalKm.add(kmCoeficienteTarifa1);
				lc = new Listcell(kmCoeficienteTarifa1.toString());
			} else {
				lc = new Listcell("");
			}
			lc.setParent(lstm);

			CoeficienteTarifa coeficienteTarifa2 = orgaoTramo.getCoeficienteTarifa2();
			if (coeficienteTarifa2 != null) {
				lc = new Listcell(coeficienteTarifa2.toString());
			} else {
				lc = new Listcell("");
			}
			lc.setParent(lstm);

			BigDecimal kmCoeficienteTarifa2 = orgaoTramo.getKmCoeficiente2();
			if (kmCoeficienteTarifa2 != null) {
				totalKm.add(kmCoeficienteTarifa2);
				lc = new Listcell(kmCoeficienteTarifa2.toString());
			} else {
				lc = new Listcell("");
			}
			lc.setParent(lstm);

			CoeficienteTarifa coeficienteTarifa3 = orgaoTramo.getCoeficienteTarifa3();
			if (coeficienteTarifa3 != null) {
				lc = new Listcell(coeficienteTarifa3.toString());
			} else {
				lc = new Listcell("");
			}
			lc.setParent(lstm);

			BigDecimal kmCoeficienteTarifa3 = orgaoTramo.getKmCoeficiente3();
			if (kmCoeficienteTarifa3 != null) {
				totalKm.add(kmCoeficienteTarifa3);
				lc = new Listcell(kmCoeficienteTarifa3.toString());
			} else {
				lc = new Listcell("");
			}
			lc.setParent(lstm);

			OrgaoConcedente orgaoConcedente = orgaoTramo.getOrgaoConcedente();
			if (orgaoConcedente != null) {
				lc = new Listcell(orgaoConcedente.toString());
			} else {
				lc = new Listcell("");
			}
			lc.setParent(lstm);

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

			lc = new Listcell(totalKm.toString());
			lc.setParent(lstm);

			lstm.setAttribute("data", orgaoTramo);
		} else {
			lstm.setVisible(Boolean.FALSE);
		}
	}
}
