public function updateAll($attributes, $condition = '', $params = array())
 {
     $transaction = $this->dbConnection->beginInternalTransaction();
     try {
         $this->versionToTable($this->commandBuilder->createCriteria($condition, $params));
         $result = parent::updateAll($attributes, $condition, $params);
         $transaction->commit();
         return $result;
     } catch (Exception $e) {
         $transaction->rollback();
         throw $e;
     }
 }