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);
   }
}
