public function afterChange(BaseSubjectHandler $subjectHandler, CollectorFix $fix, $data) { $id = $subjectHandler->getIdByChangeMethod(Module::FIX_CHANGES_AFTER_CHANGE_KEY, $data); $originalData = $this->_beforeChangesSnapshots[$id]; $actualData = $subjectHandler->getSnapshot($id); $data = $subjectHandler->analysisOfChanges($actualData, $this->_beforeChangesSnapshots[$id]); $fix->setOriginalData($originalData)->setUpdateData($data); return true; }
public function change(BaseSubjectHandler $subjectHandler, CollectorFix $fix, $data = array()) { $id = $subjectHandler->getIdByChangeMethod(Module::FIX_CHANGES_ADD_KEY, $data); $snapshot = $subjectHandler->getSnapshot($id); if (!$snapshot) { return false; } $fix->setOriginalData(array())->setUpdateData($snapshot); return true; }
private function _applyReferenceFix(CollectorFix $fix) { $item = new ReferenceItem(); $data = $fix->getUpdateData(); $subject = $fix->getSubject() ?: self::REFERENCE_SUBJECT_ADD; $item->reference = $data['reference']; $item->id = $data['id']; $item->group = $data['group']; $item->dbVersion = $data['dbVersion']; if ($subject == self::REFERENCE_SUBJECT_ADD) { try { $this->_getReferenceController()->getReferenceValue($item->id, $item->group, $item->dbVersion); $this->_getReferenceController()->getItemCurrentVersionByReference($item->reference); } catch (\Exception $e) { $this->_getReferenceController()->registerItem($item); } } if ($subject == self::REFERENCE_SUBJECT_REMOVE) { $this->_getReferenceController()->removeItemById($item->id, $item->group, $item->dbVersion); } }
public function afterChange(BaseSubjectHandler $subjectHandler, CollectorFix $fix, $data) { $id = $subjectHandler->getIdByChangeMethod(Module::FIX_CHANGES_AFTER_DELETE_KEY, $data); $fix->setOriginalData($this->_beforeChangesSnapshots[$id])->setUpdateData($id); return true; }