Exemplo n.º 1
0
 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;
 }