• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sync/office365/eventmanager.php
  • Класс: BitrixCalendarSyncOffice365EventManager
  • Вызов: EventManager::moveInstance
private function moveInstance(Event $event, EventContext $context): Result
{
	$result = new Result();
	$instance = null;
	$masterLink = $context->getEventConnection();

	if ($masterLink && $event->getOriginalDateFrom())
	{
		$instance = $this->getInstanceForDay(
			$masterLink->getVendorEventId(),
			$event->getOriginalDateFrom()->getDate()
		);
	}

	if ($instance)
	{
		try
		{
			$dto = $this->getService()->updateEvent(
				$instance->id,
				$this->getEventConverter()->eventToDto($event),
			);
			if ($dto && !empty($dto->id))
			{
				$result->setData($this->prepareResultData($dto));
			}
			else
			{
				$result->addError(new MainError('Error of move instance', 400));
			}
		}
		catch (NotFoundException $e)
		{
			$result->addError(new MainError('Instance not found'));
		}
	}
	else
	{
		$result->addError(new MainError('Instance not found'));
	}

	return $result;
}