public function processUpdateData($param) { $result = array(); //Processing each row by iterating the param object. foreach ($param as $key => $row) { $base = $row->base; $custom = $row->custom; $sql = $row->sql; $baseTable = $base->table; $baseCurrent = CalemJson::objToArray($base->current); $baseUpdate = CalemJson::objToArray($base->update); if ($custom) { $customTable = $custom->table; $customCurrent = CalemJson::objToArray($custom->current); $customUpdate = CalemJson::objToArray($custom->update); } try { $bo = CalemFactory::getDataBo($baseTable); $feedback = $bo->update($baseTable, $baseCurrent, $baseUpdate, $customTable, $customCurrent, $customUpdate, $sql); $result[] = array('table' => $baseTable, 'status' => 0, 'feedback' => $feedback); } catch (CalemDboUpdateConflictException $e) { $result[] = array('table' => $baseTable, 'status' => $e->getStatus(), 'feedback' => array('table' => $baseTable, 'server' => $e->getServer(), 'update' => $baseTable, 'conflict' => $e->getConflict())); } catch (Exception $e) { $result[] = array('table' => $baseTable, 'status' => 400, 'errorInfo' => $e->getErrorInfo()->getData()); } } return $result; }