3namespace Bitrix\Calendar\Core\Mappers;
5use Bitrix\Calendar\Core\Base\BaseException;
6use Bitrix\Calendar\Core\Builders\EventBuilderFromEntityObject;
7use Bitrix\Calendar\Internals\EventConnectionTable;
8use Bitrix\Calendar\Sync;
9use Bitrix\Main\DI\ServiceLocator;
16 private Event $eventMapper;
24 $helper = ServiceLocator::getInstance()->get(
'calendar.service.mappers.factory');
25 $this->eventMapper = $helper->getEvent();
26 $this->eventConnectionMapper = $helper->getEventConnection();
33 public function getSyncEventCollectionByIdCollection(
array $collection):
Sync\
Entities\SyncEventMap
35 $filter = [
'VENDOR_EVENT_ID' => $collection];
36 $eventConnectionMap = $this->eventConnectionMapper->getMap(
$filter);
40 foreach ($eventConnectionMap as $item)
42 $syncEventMap->add($item, $item->getVendorEventId());
50 $eventConnectionDM = EventConnectionTable::query()
51 ->addFilter(
'VENDOR_EVENT_ID', $vendorId)
57 if ($eventConnectionDM)
62 ->setEventConnection($eventConnection)
82 $event = $this->eventMapper->delete($syncEvent->getEvent());
83 $eventConnection = $syncEvent->getEventConnection();
85 if ($eventConnection ===
null)
87 throw new BaseException(
'you should send eventConnection property');
90 $eventConnection->setEvent(
$event);
91 $syncEvent->setEventConnection($this->eventConnectionMapper->delete($eventConnection));
92 $syncEvent->setEvent(
$event);
getSyncEventWithVendorId(string $vendorId)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)