package com.rms.tfc.mapper;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import com.rms.tfc.entity.Linea;
import com.rms.tfc.entity.Pedido;
import com.rms.tfc.service.LineaBean;
import com.rms.tfc.util.DateUtil;

public class MapperBBDD {

	public static final String estadoNuevo = "Nuevo";
	public static final String estadoEnviado = "Enviado";
	public static final String estadoExpedido = "Expedido";
	public static final String estadoRecibido = "Recibido";
	
	public static Pedido getPedido(String descripcion){
		Pedido pedido = new Pedido();
		pedido.setDescripcion(descripcion);
		pedido.setFechaPedido(DateUtil.getNow());
		pedido.setEstado(estadoNuevo);
		pedido.setFechaExpedicion(null);
		pedido.setFechaRecepcion(null);
		pedido.setEnviadoAlmacen(new Long(0));
		pedido.setEnviadaRecepcion(null);
		return pedido;
	}
	
	public static List<Linea> getLineas(List<LineaBean> lineas){
		List<Linea> listaLineas = new ArrayList<Linea>();
		Iterator<LineaBean> itLineas = lineas.iterator();
		LineaBean lineaBean = null;
		Long idProducto = null;
		Long cantidadPedida = null;
		Linea linea = null;
		while (itLineas.hasNext()){
			lineaBean = itLineas.next();
			idProducto = lineaBean.getIdProducto();
			cantidadPedida = lineaBean.getCantidadPedida();
			linea = new Linea();
			linea.setIdProducto(idProducto);
			linea.setCantidadPedida(cantidadPedida);
			linea.setCantidadRecibida(new Long(0));
			linea.setCantidadDevuelta(new Long(0));
			listaLineas.add(linea);
		}
		return listaLineas;
	}
	
	public static LineaBean getLineaBean(Long idProducto, Long cantidadPedida){
		LineaBean linea = new LineaBean();
		linea.setIdProducto(idProducto);
		linea.setCantidadPedida(cantidadPedida);
		linea.setCantidadDevuelta(new Long(0));
		linea.setCantidadRecibida(new Long(0));
		return linea;
	}
	
	public static LineaBean getLineaBean(Long idLinea, Long cantidadRecibida, Long cantidadDevuelta){
		LineaBean linea = new LineaBean();
		linea.setIdLinea(idLinea);
		linea.setCantidadRecibida(cantidadRecibida);
		linea.setCantidadDevuelta(cantidadDevuelta);
		return linea;
	}
}