package com.rjconsultores.ventaboletos.web.gui.controladores.configuracioneccomerciales;

import java.text.SimpleDateFormat;

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

import com.rjconsultores.ventaboletos.dao.FormaPagoDAO;
import com.rjconsultores.ventaboletos.dao.UsuarioDAO;
import com.rjconsultores.ventaboletos.entidad.HistoricoFormaPagoPuntoVenta;
import com.rjconsultores.ventaboletos.entidad.Usuario;
import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;

public class PuntoVendaHistoricoFormaPagoListItemRenderer implements ListitemRenderer {

	private UsuarioDAO usuarioDAO;
	private FormaPagoDAO formaPagoDAO;
	
	public PuntoVendaHistoricoFormaPagoListItemRenderer() {
		usuarioDAO = (UsuarioDAO) AppContext.getApplicationContext().getBean("usuarioDAO");
		formaPagoDAO = (FormaPagoDAO) AppContext.getApplicationContext().getBean("formaPagoDAO");
	}
	
	@Override
	public void render(Listitem lstm, Object o) throws Exception {

		HistoricoFormaPagoPuntoVenta h = (HistoricoFormaPagoPuntoVenta) o;

		Listcell lc = new Listcell(h.getIndInclusao() != null ? h.getIndInclusao() ? "Inclusao" : "Exclusao" : null);
		lc.setParent(lstm);

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

		lc = new Listcell(h.getFecAlteracao() != null ? formato.format(h.getFecAlteracao()) : null);
		lc.setParent(lstm);
		
		lc = new Listcell(h.getFormaPagoId() != null ? formaPagoDAO.obtenerID(h.getFormaPagoId().shortValue()).getDescpago() : null);
		lc.setParent(lstm);
		
		lc = new Listcell(h.getMotivo());
		lc.setParent(lstm);
		
		if(h.getUsuarioId() != null) {
			Usuario usuario = usuarioDAO.obtenerID(h.getUsuarioId());
			lc = new Listcell(usuario.getNombusuario());
			lc.setParent(lstm);
		}


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

}
