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

import java.util.Calendar;

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

import com.rjconsultores.ventaboletos.entidad.ClienteDescuento;

public class RenderClienteDescuento implements ListitemRenderer {

	public void render(Listitem lstm, Object o) throws Exception {
		ClienteDescuento clienteDescuento = (ClienteDescuento) o;

		Listcell lc = new Listcell(clienteDescuento.getClienteDescuentoId() == null ? "-" : clienteDescuento.getClienteDescuentoId().toString());
		lc.setParent(lstm);

		lc = new Listcell(clienteDescuento.getRuta().getDescruta());
		lc.setParent(lstm);

		lc = new Listcell(getDias(clienteDescuento));
		lc.setParent(lstm);

		lc = new Listcell(clienteDescuento.getCantMaxMes().toString());
		lc.setParent(lstm);

		lc = new Listcell(dataComum(clienteDescuento.getFecIni())  );
		lc.setParent(lstm);
		
		lc = new Listcell(dataComum(clienteDescuento.getFecFin())  );
		lc.setParent(lstm);

		lstm.setAttribute("data", clienteDescuento);

	}
	
	private String dataComum(java.util.Date data){
		String retorno = "";
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(data);
		
		retorno = retorno + String.format("%02d",calendar.get(Calendar.DAY_OF_MONTH))+"/";
		retorno = retorno + String.format("%02d",calendar.get(Calendar.MONTH)+1)+"/";
		retorno = retorno + String.format("%02d",calendar.get(Calendar.YEAR));
		
		return retorno;
	}

	private String getDias(ClienteDescuento clienteDescuento) {
		String retorno = "";
		if (clienteDescuento.getINDDOMINGO()) {
			retorno = retorno + Labels.getLabel("editarClienteController.msg.domingo")+", ";
		}
		if (clienteDescuento.getINDLUNES()) {
			retorno = retorno + Labels.getLabel("editarClienteController.msg.lunes")+", ";
		}
		if (clienteDescuento.getINDMARTES()) {
			retorno = retorno + Labels.getLabel("editarClienteController.msg.martes")+", ";
		}
		if (clienteDescuento.getINDMIERCOLES()) {
			retorno = retorno + Labels.getLabel("editarClienteController.msg.miercoles")+", ";
		}
		if (clienteDescuento.getINDJUEVES()) {
			retorno = retorno + Labels.getLabel("editarClienteController.msg.jueves")+", ";
		}
		if (clienteDescuento.getINDVIERNES()) {
			retorno = retorno + Labels.getLabel("editarClienteController.msg.viernes")+", ";
		}
		if (clienteDescuento.getINDSABADO()) {
			retorno = retorno + Labels.getLabel("editarClienteController.msg.sabado")+", ";
		}
		if (retorno.length() > 1) {
			retorno = retorno.substring(0, retorno.length() - 2);
		}
		return retorno;
	}
}
