%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 User : addictionfreeind ( 1003) PHP Version : 7.2.34 Disable Function : exec,passthru,shell_exec,system Directory : /home/addictionfreeind/public_html/admin1/vendor/quickbooks/v3-php-sdk/src/Facades/ |
Upload File : |
<?php
namespace QuickBooksOnline\API\Facades;
class JournalEntry{
public static function create(array $data, $throwException = TRUE){
$data = JournalEntry::changeArrayName($data);
if(!isset($data) || empty($data)) throw new \Exception("Passed array for creating JournalEntry is Empty");
//QBO should not call the Entity as DataEnityt
$JournalEntryObject = FacadeHelper::reflectArrayToObject("JournalEntry", $data, $throwException );
return $JournalEntryObject;
}
/**
* This is an immutable function
*/
public static function update($objToUpdate, array $data){
$data = JournalEntry::changeArrayName($data);
$classOfObj = get_class($objToUpdate);
if(strcmp($classOfObj, FacadeHelper::simpleAppendClassNameSpace("JournalEntry")) != 0){
throw new \Exception("Target object class:{" . $classOfObj . "} is not an instance of JournalEntry.");
}
$newJournalEntryObj = JournalEntry::create($data);
$clonedOfObj = FacadeHelper::cloneObj($objToUpdate);
FacadeHelper::mergeObj($clonedOfObj, $newJournalEntryObj);
return $clonedOfObj;
}
private static function changeArrayName(&$array){
if(is_array($array)){
foreach($array as $key => &$value){
if(is_array($value)){
JournalEntry::changeArrayName($value);
}
if(strcmp($key, "Entity") == 0){
$array["JournalEntryEntity"] = $array["Entity"];
unset($array["Entity"]);
}
if(strcmp($key, "Type") == 0){
$array["JournalEntryType"] = $array["Type"];
unset($array["Type"]);
}
}
}
return $array;
}
}