// script.StockCurrentAdd
// 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();
units = logicsale.findProductStock(loc,product,null);
multiply = 0;

if (ticket.getTicketType().getId() != 1){
	if (line.isProductService() == true) {
    		javax.swing.JOptionPane.showMessageDialog(null, "This is a Service and Stock Level is not checked", "Stock Check", JOptionPane.WARNING_MESSAGE);
	} else {
    
    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 + " - Use Stock Diary to Add Stock to Inventory", "Stock Check", JOptionPane.WARNING_MESSAGE);
	    return "Cancel";
	 } else {
	    return null;
	 }
 }
}

