id); $this->api = app('Spinen\QuickBooks\Client'); } public function getCustomers($refresh=FALSE): Collection { if ($refresh) Cache::forget(__METHOD__); return Cache::remember(__METHOD__,86400,function() { return collect($this->api->getDataService()->Query('SELECT * FROM Customer')); }); } public function getInvoice(int $id,$refresh=FALSE) { if ($refresh) Cache::forget(__METHOD__.$id); return Cache::remember(__METHOD__.$id,86400,function() use ($id) { return $this->api->getDataService()->Query(sprintf("SELECT * FROM Invoice where id = '%s'",$id)); }); } public function getInvoices($refresh=FALSE): Collection { if ($refresh) Cache::forget(__METHOD__); return Cache::remember(__METHOD__,86400,function() { return collect($this->api->getDataService()->Query('SELECT * FROM Invoice')); }); } public function updateCustomer(IPPCustomer $r,array $args) { $r->sparse = TRUE; foreach ($args as $k=>$v) { $r->{$k} = $v; } return $this->api->getDataService()->Update($r); } }