package service; class ProductService{ /** * Batch disable products */ public static function batchDisableProducts(productIds:Array){ var data = {pids:productIds,enable:false}; var contract = db.Product.manager.get(productIds[0], true).contract; var products = contract.getProducts(false); App.current.event( BatchEnableProducts(data) ); for ( pid in data.pids){ var p = db.Product.manager.get(pid, true); if ( Lambda.find(products,function(p) return p.id==pid)==null ) throw 'product $pid is not in this contract !'; p.active = false; p.update(); } } /** * Batch enable products */ public static function batchEnableProducts(productIds:Array){ var data = {pids:productIds,enable:true}; var contract = db.Product.manager.get(productIds[0], true).contract; var products = contract.getProducts(false); App.current.event( BatchEnableProducts(data) ); for ( pid in data.pids){ var p = db.Product.manager.get(pid, true); if ( Lambda.find(products,function(p) return p.id==pid)==null ) throw 'product $pid is not in this contract !'; p.active = true; p.update(); } } inline public static function getHTPrice(ttcPrice:Float,vatRate:Float):Float{ return ttcPrice / (1 + vatRate / 100); } }