package com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.hibernate.transform.ResultTransformer;

import com.rjconsultores.ventaboletos.vo.cashmonitor.RelatorioVendaCartaoCashMonitorVO;

public class RelatorioVendaCartaoCashMonitorResultTransformer implements ResultTransformer {

	private static final long serialVersionUID = 1L;

	@Override
	public Object transformTuple(Object[] data, String[] aliases) {
		Map<String, Object> row = new HashMap<String, Object>();

		for (int index = 0; index < aliases.length; index++) {
			row.put(aliases[index], data[index]);
		}

		return row;
	}

	@Override
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public List<RelatorioVendaCartaoCashMonitorVO> transformList(List mapList) {
		List<RelatorioVendaCartaoCashMonitorVO> listaVO = new ArrayList<RelatorioVendaCartaoCashMonitorVO>();

		for (Object object : mapList) {
			Map<String, Object> tupleMap = (Map<String, Object>) object;
			RelatorioVendaCartaoCashMonitorVO vo = new RelatorioVendaCartaoCashMonitorVO();
			vo.setDataTransacao((String) tupleMap.get("data_transacao"));
			vo.setLoja((String) tupleMap.get("loja"));
			vo.setAdquirente((String) tupleMap.get("adquirente"));
			vo.setNsu((String) tupleMap.get("nsu"));
			vo.setAutorizacao((String) tupleMap.get("autorizacao"));
			vo.setValorBruto((BigDecimal) tupleMap.get("valor_bruto"));
			vo.setFormapago_id((Integer) tupleMap.get("formapago_id"));
			vo.setBandeira((String) tupleMap.get("bandeira"));
			vo.setCodigoPedido((String) tupleMap.get("codigo_pedido"));
			vo.setValorParcela((BigDecimal) tupleMap.get("valor_parcela"));
			vo.setParcelas((Integer) tupleMap.get("parcelas"));

			listaVO.add(vo);
		}
		
		return listaVO;
	}
}