package agilpizza.servlet;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import agilpizza.Constantes;
import agilpizza.dao.IngredienteDAO;
import agilpizza.modelo.Ingrediente;
import agilpizza.modelo.Pedido;
import agilpizza.modelo.PizzaMontada;

public class MontaIngredientesServlet extends HttpServlet {

	private static final long serialVersionUID = -4127253820264183478L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		String[] ingredientesSelecionados = req
				.getParameterValues("ingrediente");

		if (ingredientesSelecionados == null) {
			ingredientesSelecionados = new String[0];
		}

		PizzaMontada pizza = new PizzaMontada();
		for (String nome : ingredientesSelecionados) {
			Ingrediente ingrediente = IngredienteDAO.getInstance().busca(nome);
			if (ingrediente != null) {
				pizza.adicionaIngrediente(ingrediente);
			}
		}
		
		Pedido pedido = (Pedido) req.getSession().getAttribute(Constantes.PEDIDO);
		if (pedido == null) {
			pedido = new Pedido();
			req.getSession().setAttribute(Constantes.PEDIDO, pedido);
		}
		pedido.alteraQuantidadeDePizza(pizza, 1);
		req.setAttribute("pizzaMontada", pizza);
		RequestDispatcher requestDispatcher = req.getRequestDispatcher("mostraPizza.jsp");
		requestDispatcher.forward(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doGet(req, resp);
	}
}
