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

import java.text.SimpleDateFormat;
import java.util.Random;

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

import com.rjconsultores.ventaboletos.utilerias.BigDecimalUtil;
import com.rjconsultores.ventaboletos.utilerias.LocaleUtil;
import com.rjconsultores.ventaboletos.vo.comissao.EventosFinanceirosVO;

public class RenderEventosFinanceiros implements ListitemRenderer {

	@Override
	public void render(Listitem lstm, Object o) throws Exception {
		EventosFinanceirosVO eventosFinanceiros = (EventosFinanceirosVO) o;
		eventosFinanceiros.setConferido(eventosFinanceiros.getLogconferenciaId() != null && eventosFinanceiros.getLogconferenciaId() > 0);
		
		Random gerador = new Random();
		String name = gerador.nextInt() + "";
		name = name.replace("-", "");

		Listcell lc = new Listcell();
		if (eventosFinanceiros.getExigeConferenciaAba() || eventosFinanceiros.isExigeConferencia()) {
			Checkbox chk = new Checkbox();
			chk.setId(eventosFinanceiros.getEventoextraId() + "_" + eventosFinanceiros.getComempformapagoId() != null ? "_"+ eventosFinanceiros.getComempformapagoId() + name : name);
			chk.setChecked(eventosFinanceiros.isConferido());
			chk.setParent(lc);
		}
		lc.setParent(lstm);
		
	   	SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
			lc = new Listcell(formato.format(eventosFinanceiros.getConferencia().getDatamovimento()));
		    lc.setParent(lstm);

		lc = new Listcell(eventosFinanceiros.getNumFolioSistema());
		lc.setParent(lstm);

		lc = new Listcell(eventosFinanceiros.getNumdocumento());
		lc.setParent(lstm);

		lc = new Listcell(eventosFinanceiros.getDesctipoevento());
		lc.setParent(lstm);

		lc = new Listcell(eventosFinanceiros.getDescinfo());
		lc.setParent(lstm);

		lc = new Listcell(BigDecimalUtil.getBigDecimalToStringDouble2CasasDecimaisFormatado(eventosFinanceiros.getTotal(), LocaleUtil.getLocale()));
		lc.setParent(lstm);

		lc = new Listcell(eventosFinanceiros.isCredito() ? Labels.getLabel("conferenciaController.lbCredito.value") : Labels.getLabel("conferenciaController.lbDebito.value"));
		lc.setParent(lstm);

		lc = new Listcell(eventosFinanceiros.getStatusDescricao());
		lc.setParent(lstm);

		lc = new Listcell(eventosFinanceiros.getDescFormapagos());
		lc.setParent(lstm);

		lc = new Listcell(eventosFinanceiros.getNombusuario());
		lc.setParent(lstm);

		lstm.setAttribute("data", eventosFinanceiros);

	}

}
