package com.skatestown.services;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.apache.axis.MessageContext;
import com.skatestown.backend.*;
import com.skatestown.data.*;
import com.skatestown.xml.*;
import bws.BookUtil;

/**
	* Usuga sieciowa do skadania zamwie.
	*/
	public class POSubmission
{
	/**
	 * Przyjcie zlecenia i wygenerowanie faktury
	 */
	public Document submitPO(MessageContext msgContext, Document inDoc) throws Exception
	{
		// Utworzenie obiektu zamwienia na podstawie dokumentu XML
		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
		DocumentBuilder builder = factory.newDocumentBuilder();
		PO po = Deserializer.createPO(inDoc.getDocumentElement());
		// Wczytanie bazy danych produktw
		ProductDB db = BookUtil.getProductDB(msgContext);
		// Utworzenie faktury na podstawie zamwienia POProcessor processor = new POProcessor(db); 
		Invoice invoice = processor.processPO(po);
		// Serializacja faktury do formatu XML
		Document newDoc = Serializer.writeInvoice(builder, invoice);
		return newDoc;
	}
}
