• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sync/managers/vendorsynchronization.php
  • Класс: BitrixCalendarSyncManagersVendorSynchronization
  • Вызов: VendorSynchronization::deleteSection
public function deleteSection(Section $section, SectionContext $context): Result
{
	$mainResult = new Result();
	$resultData = [];
	$factory = $this->factory;
	$manager = $factory->getSectionManager();

	if (($sectionLink = $context->getSectionConnection()) && $sectionLink->isActive())
	{
		$sectionLink->setSection($section);
		$result = $manager->delete($section, $context);
		if ($result->isSuccess())
		{
			$status = Dictionary::SYNC_STATUS['success'];
		}
		else
		{
			$status = Dictionary::SYNC_STATUS['delete'];
			$mainResult->addErrors($result->getErrors());
			$sectionLink
				->setLastSyncStatus($status)
				->setLastSyncDate(new CoreBaseDate())
			;
			$this->mapperFactory->getSectionConnection()->update($sectionLink);
		}
	}
	else
	{
		$status = Dictionary::SYNC_STATUS['delete'];
	}

	$resultData[$factory->getConnection()->getVendor()->getCode()] = [
		'status' => $status,
	];

	return $mainResult->setData($resultData);
}