// script.StockCurrentSet
// This script checks Stock Level for a sale item
//
//   Chromis POS - The New Face of Open Source POS 
//   Copyright (c) (c) 2015-2016Chromis , previous uniCenta & Openbravo POS works   
//
//   This file is part of chromis oPOS
//
//   Chromis POS is free software: you can redistribute it and/or modify
//   it under the terms of the GNU General Public License as published by
//   the Free Software Foundation, either version 3 of the License, or
//   (at your option) any later version.
//
//   Chromis POS is distributed in the hope that it will be useful,
//   but WITHOUT ANY WARRANTY; without even the implied warranty of
//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//   GNU General Public License for more details.
//
//   You should have received a copy of the GNU General Public License
//   along with Chromis POS.  If not, see <http://www.gnu.org/licenses/>.
// **************************************************************************
 
 import uk.chromis.pos.forms.DataLogicSales;
 import uk.chromis.pos.forms.DataLogicSystem;
 import uk.chromis.data.loader.Session;
 import java.util.Properties;
 
 Session session = new Session(dbURL, dbUser, dbPassword);
 DataLogicSales logicsale = new DataLogicSales();
 logicsale.init(session);
 DataLogicSystem logicsystem = new DataLogicSystem();
 logicsystem.init(session);
 Properties p = logicsystem.getResourceAsProperties(hostname + "/properties");
 String loc = p.getProperty("location");
 
 product = line.getProductID();
 isserv = line.isProductService();
 units = logicsale.findProductStock(loc,product,null);
 multiply = 0;
 index = sales.getSelectedIndex();

if (ticket.getTicketType().getId() != 1){
  if (line.isProductService() == true) {
	javax.swing.JOptionPane.showMessageDialog(null, "This is a Service and Stock Level is not checked");
  } else {

	 if (index != -1) {
	     currentrow = ticket.getLine(index);
	     multiply = multiply - currentrow.getMultiply();
	 }
	 for (int i= 0; i < ticket.getLinesCount(); i++) {
	     row = ticket.getLine(i);
	     if (row.getProductID() == product) {
	        multiply = multiply + row.getMultiply();
	     }
	 }
	 diff = units - line.getMultiply() - multiply;
	 if (diff < 0.0) {
	    javax.swing.JOptionPane.showMessageDialog(null, "Not enough stock at this Location " + loc + " - Please use Stock Diary to Add Stock to Inventory", "Stock", JOptionPane.WARNING_MESSAGE);
	    return "Cancel";
	 } else {
	         return null;
	 }
 }
}
