/*
 * 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.Calendar;
import java.util.Date;

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

import com.rjconsultores.ventaboletos.entidad.ReservacionCtrl;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;

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

    public void render(Listitem lstm, Object o) throws Exception {
        ReservacionCtrl reservacion = (ReservacionCtrl) o;

        Listcell lc = new Listcell(reservacion.getReservacionctrlId().toString());
        lc.setParent(lstm);

        lc = null;

        lc = new Listcell((reservacion.getDescConfig() == null) ? "" : reservacion.getDescConfig());
        lc.setParent(lstm);

        SimpleDateFormat sf = new SimpleDateFormat("dd/MM/yyyy");

        Date fecInicio = reservacion.getFecinicio();
        if (fecInicio != null) {
            lc = new Listcell(sf.format(fecInicio));
        } else {
            lc = new Listcell("");
        }
        lc.setParent(lstm);

        Date fecFinal = reservacion.getFecfinal();
        if (fecFinal != null) {
            lc = new Listcell(sf.format(fecFinal));
        } else {
            lc = new Listcell("");
        }
        lc.setParent(lstm);

        String[] hMTliberacion = capturarHoraMinuto(reservacion.getTiempoliberacion());
        String[] hMTliberacioninternet = capturarHoraMinuto(reservacion.getTiempoliberacioninternet());
        String[] hMTprevio = capturarHoraMinuto(reservacion.getTiempoprevio());
        String[] hMTpreviointernet = capturarHoraMinuto(reservacion.getTiempopreviointernet());

        lc = new Listcell(hMTliberacion[0] + ":" + hMTliberacion[1]);
        lc.setParent(lstm);

        lc = new Listcell(hMTliberacioninternet[0] + ":" + hMTliberacioninternet[1]);
        lc.setParent(lstm);

        lc = new Listcell(hMTprevio[0] + ":" + hMTprevio[1]);
        lc.setParent(lstm);

        lc = new Listcell(hMTpreviointernet[0] + ":" + hMTpreviointernet[1]);
        lc.setParent(lstm);

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

    public String[] capturarHoraMinuto(Date data) {
        String[] horaMinuto = new String[2];
        Calendar c = Calendar.getInstance();
        c.setTime(data);
        Long tempo = DateUtil.getElapsedMinutos(DateUtil.getFecInicio().getTime(), c.getTime());
        long minutos = (tempo % 60);
        Integer horas = (tempo.intValue() / 60);
        String sMinutos = String.valueOf(minutos);
        horaMinuto[0] = horas.toString();
        horaMinuto[1] = ((sMinutos.length() < 2) ? "0" + sMinutos : sMinutos);

        return horaMinuto;
    }
}
