import org.apache.axis.MessageContext;
import bws.BookUtil;
import com.skatestown.data.Product;
import com.skatestown.backend.ProductDB;

/**
 * Usuga sieciowa do kontroli zapasw
 */
public class InventoryCheck
{
	/**
	 * Sprawdza, czy produkt jest dostpny na podstawie numeru magazynowego i podanej liczby sztuk.
	 *
	 * @param msgContext	To jest kontekst przetwarzania komunikatu na platformie Axis
	 * BookUtil potrzebuje tego obiektu do pobrania informacji wdroeniowej
	 * potrzebnej przy wczytywaniu bazy danych produktw.
	 * @param sku		numer magazynowy produktu
	 * @param quantity	podana liczba egzemplarzy
	 * @return		true | false w zalenoci od dostpnoci produktu w danej liczbie egzemplarzy
	 * @exception Exception	najprawdopodobniej problem z dostpem do bazy danych
	 */
	public static boolean doCheck(MessageContext msgContext, String sku, int quantity) throws Exception
	{
		ProductDB db = BookUtil.getProductsDB(msgContext);
		Product prod = db.getBySKU(sku);
		return (prod != null && prod.getNumInStock() >= quantity);
	}
}
