1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
JobMapper.php
См. документацию.
1<?php
2
3declare(strict_types=1);
4
5namespace Bitrix\Socialnetwork\Collab\Onboarding\Internals\Repository\Orm\Mapper;
6
7use Bitrix\Socialnetwork\Collab\Onboarding\Entity\JobFactory;
8use Bitrix\Socialnetwork\Collab\Onboarding\Entity\AbstractJob;
9use Bitrix\Socialnetwork\Collab\Onboarding\Internals\Model\JobModel;
10
12{
13 public static function convertToOrm(AbstractJob $job): JobModel
14 {
15 $jobModel = (new JobModel())
16 ->setUserId($job->getUserId())
17 ->setCollabId($job->getCollabId())
18 ->setType($job->getType()->value)
19 ->setNextExecution($job->getNextExecution())
20 ;
21
22 $jobId = $job->getId();
23 if ($jobId !== null)
24 {
25 $jobModel->setId($jobId);
26 }
27
28 return $jobModel;
29 }
30
31 public static function convertFromOrm(JobModel $jobModel): ?AbstractJob
32 {
33 $job = JobFactory::create(
34 $jobModel->getCollabId(),
35 $jobModel->getUserId(),
36 $jobModel->getType(),
37 );
38
39 $job
40 ?->setId($jobModel->getId())
41 ->setCreatedDate($jobModel->getCreatedDate())
42 ->setNextExecution($jobModel->getNextExecution())
43 ;
44
45 return $job;
46 }
47}