1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
eventcategory.php
См. документацию.
1<?php
2
3namespace Bitrix\Calendar\Core\Mappers;
4
5use Bitrix\Calendar\Core;
6use Bitrix\Calendar\Core\Builders\eventcategory\EventCategoryBuilderFromObject;
7use Bitrix\Calendar\EventCategory\Event\AfterEventCategoryCreate;
8use Bitrix\Calendar\EventCategory\Event\AfterEventCategoryDelete;
9use Bitrix\Calendar\EventCategory\Event\AfterEventCategoryUpdate;
10use Bitrix\Calendar\OpenEvents\Internals\OpenEventCategoryTable;
11use Bitrix\Main\ORM\Query\Result;
12
13final class EventCategory extends Mapper
14{
15 public function getById(int $id): ?Core\EventCategory\EventCategory
16 {
17 if ($this->getCacheMap()->has($id))
18 {
19 return $this->getCacheMap()->getItem($id);
20 }
21
23 '=ID' => $id,
24 ]);
25
26 if (!is_null($entity))
27 {
28 $this->getCacheMap()->add($entity, $id);
29 }
30
31 return $entity;
32 }
33
35 {
37 ->setFilter($filter)
38 ->setSelect(['*'])
39 ->fetchObject();
40
41 if ($eventData)
42 {
43 return $this->convertToObject($eventData);
44 }
45
46 return null;
47 }
48
49 protected function convertToObject($objectEO): ?Core\EventCategory\EventCategory
50 {
51 return (new EventCategoryBuilderFromObject($objectEO))->build();
52 }
53
54 protected function getEntityClass(): string
55 {
56 return Core\EventCategory\EventCategory::class;
57 }
58
60 {
61 $params['select'] = $params['select'] ?? ["*"];
62
64 }
65
66 protected function getEntityName(): string
67 {
68 return 'event_category';
69 }
70
72 {
73 $arrayEntity = $this->entityToArray($entity);
74 $arrayEntity['DELETED'] = $arrayEntity['DELETED'] === true;
76
77 if ($result->isSuccess())
78 {
79 $entityId = $result->getId();
80 $entity->setId($entityId);
81
83
84 return $entity;
85 }
86
87 throw new Core\Base\BaseException('Error of create event category');
88 }
89
93 protected function updateEntity($entity, array $params = [
94 'updateEventsCounter' => false,
96 {
97 $arrayEntity = $this->entityToArray($entity);
98
99 if ($params['updateEventsCounter'] ?? null)
100 {
101 $arrayEntity['EVENTS_COUNT'] = $entity->getEventsCount();
102 }
104 $entity->getId(),
105 $arrayEntity
106 );
107
108 if ($result->isSuccess())
109 {
110 (new AfterEventCategoryUpdate($entity->getId()))->emit();
111
112 return $entity;
113 }
114
115 throw new Core\Base\BaseException('Error of update event category');
116 }
117
122 {
123 $entity->setDeleted(true);
124
126 $entity->getId(),
127 ['DELETED' => 'Y'],
128 );
129
130 if ($result->isSuccess())
131 {
132 (new AfterEventCategoryDelete($entity->getId()))->emit();
133
134 return $entity;
135 }
136
137 throw new Core\Base\BaseException('Error of delete event category');
138 }
139
140 private function entityToArray(Core\EventCategory\EventCategory $entity): array
141 {
142 return [
143 'NAME' => $entity->getName(),
144 'CREATOR_ID' => $entity->getCreatorId(),
145 'CLOSED' => $entity->getClosed(),
146 'DESCRIPTION' => $entity->getDescription(),
147 'ACCESS_CODES' => $entity->getAccessCodes() ? implode(',', $entity->getAccessCodes()) : null,
148 'DELETED' => $entity->getDeleted(),
149 'CHANNEL_ID' => $entity->getChannelId(),
150 ];
151 }
152}
deleteEntity($entity, array $params)
Определения eventcategory.php:121
updateEntity($entity, array $params=['updateEventsCounter'=> false,])
Определения eventcategory.php:93
getOneEntityByFilter(array $filter)
Определения eventcategory.php:34
createEntity($entity, array $params=[])
Определения eventcategory.php:71
getDataManagerResult(array $params)
Определения eventcategory.php:59
static getList(array $parameters=array())
Определения datamanager.php:431
static add(array $data)
Определения datamanager.php:877
static update($primary, array $data)
Определения datamanager.php:1256
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$result
Определения get_property_values.php:14
$entity
$filter
Определения iblock_catalog_list.php:54
$entityId
Определения payment.php:4
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']
Определения template.php:799