package agilpizza.servlet;

import java.io.IOException;

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

import agilpizza.dao.CategoriaDAO;
import agilpizza.modelo.Categoria;
import agilpizza.modelo.Ingrediente;
import agilpizza.modelo.Pizza;

public class ConfirmaPizza extends HttpServlet {
	private static final long serialVersionUID = -2022384804075410287L;

	private Pizza pizza; 
	
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {
		CategoriaDAO categoriaDAO =  CategoriaDAO.getCategoriaDAO();
		//CategoriaDAO categoriaDAO = (CategoriaDAO) this.getServletContext().getAttribute("categoriasDao");
		pizza = new Pizza("AO gosto do fregues");
		for(Categoria categoria:categoriaDAO.buscaCategorias()){
			montaPizza(pizza,categoria,req);
		}
		pizza.setTipoMassa(req.getParameter("Massa"));
		String borda=req.getParameter("Borda");
		if(!borda.equals("Sem Borda"))
		{
		 pizza.addBorda(borda);
		}
		req.getSession().setAttribute("pizza", pizza);
		resp.sendRedirect("mostraPizza.jsp");
	}
	
	private void montaPizza(Pizza pizza,Categoria categoria,HttpServletRequest req){
		for(Ingrediente ingrediente: categoria.getIngredientes()){
			String valor=req.getParameter(ingrediente.getNome());
			if(valor!=null){
				int quantidade=Integer.parseInt(valor);
				if(quantidade>0){
					pizza.adicionaIngrediente(ingrediente.getNome(), ingrediente.getPreco(),quantidade);
				}
			}
		}
	}

	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
	throws ServletException, IOException {
		doGet(req,resp);
	}
	
	public Pizza getPizza() {
		return pizza;
	}
	
}

