• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sync/managers/vendordataexchangemanager.php
  • Класс: BitrixCalendarSyncManagersVendorDataExchangeManager
  • Вызов: VendorDataExchangeManager::rollbackEvent
private function rollbackEvent(
	SyncEntitiesSyncEvent $existsExternalSyncEvent,
	SyncEntitiesSyncEvent $syncEvent,
	string $messageCode
): void
{
	$muteNotice = $this->isNoticesMuted();
	if ($existsExternalSyncEvent->getEvent()->isDeleted())
	{
		$muteNotice = true;
		$syncStatus = SyncDictionary::SYNC_EVENT_ACTION['delete'];
	}
	else
	{
		$syncStatus = ($existsExternalSyncEvent->getEvent()->isRecurrence() || $syncEvent->getEvent()->isRecurrence())
			? SyncDictionary::SYNC_EVENT_ACTION['recreate']
			: SyncDictionary::SYNC_EVENT_ACTION['update']
		;
	}
	$existsExternalSyncEvent->getEventConnection()
		->setLastSyncStatus($syncStatus)
		->setVersion($existsExternalSyncEvent->getEvent()->getVersion() - 1);
	$this->eventConnectionMapper->update($existsExternalSyncEvent->getEventConnection());

	if (!$muteNotice)
	{
		$this->noticeUser($existsExternalSyncEvent, $messageCode);
	}
}