package agilpizza.dao;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

import agilpizza.Constantes;
import agilpizza.modelo.Pedido;

public class PedidoDAO {

	private Map<Integer, Pedido> pedidos;

	/**
	 * Construtor padrão para o DAO que armazena categorias na memória.
	 * 
	 */
	public PedidoDAO() {
		pedidos = new HashMap<Integer, Pedido>();
	}

	public Pedido buscaPedido(Integer id) {

		return pedidos.get(id);
	}

	public Collection<Pedido> buscaListaPedidos() {

		return pedidos.values();
	}

	public void fechaPedido(Pedido pedido) throws Exception {

		if (pedido.getEstadoPedido().equals(Constantes.ESTADO_NA_SESSAO)) {
			pedido.setEstadoPedido(Constantes.ESTADO_PEDIDO_PEDIDO);
			pedidos.put(pedido.getIdPedido(), pedido);
		}
		else {
			throw new Exception("Esse pedido já foi fechado!!");
		}
	}
}
