1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
PromotionListConverter.php
См. документацию.
1<?php
2
3declare(strict_types=1);
4
5namespace Bitrix\Socialnetwork\Collab\Onboarding\Integration\Im\Promotion\Converter;
6
7use Bitrix\Im\V2\Promotion\Entity\PromotionList;
8use Bitrix\Main\Loader;
9use Bitrix\Socialnetwork\Collab\Onboarding\Entity\JobCollection;
10use Bitrix\Socialnetwork\Collab\Onboarding\Internals\Type;
11use Bitrix\Socialnetwork\Helper\SingletonTrait;
12
14{
15 use SingletonTrait;
16
17 private PromotionConverter $promoConverter;
18
19 private function __construct()
20 {
21 $this->promoConverter = PromotionConverter::getInstance();
22 }
23
24 public function convertJobCollection(JobCollection $jobCollection): ?PromotionList
25 {
26 if (!Loader::includeModule('im'))
27 {
28 return null;
29 }
30
31 $promoList = new PromotionList();
32 foreach ($jobCollection as $job)
33 {
34 $promo = $this->promoConverter->convertJob($job);
35
36 if (null !== $promo)
37 {
38 $promoList->add($promo);
39 }
40 }
41
42 return $promoList;
43 }
44
45 public function convertOnboardingTypes(Type ...$typeList): ?PromotionList
46 {
47 if (!Loader::includeModule('im'))
48 {
49 return null;
50 }
51
52 $promoList = new PromotionList();
53 foreach ($typeList as $type)
54 {
55 $promo = $this->promoConverter->convertOnboardingType($type);
56
57 if (null !== $promo)
58 {
59 $promoList->add($promo);
60 }
61 }
62
63 return $promoList;
64 }
65}
$type
Определения options.php:106