PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Domain / Factory / CustomField / CustomFieldOptionFactory.php
ameliabooking / src / Domain / Factory / CustomField Last commit date
CustomFieldFactory.php 2 years ago CustomFieldOptionFactory.php 5 years ago
CustomFieldOptionFactory.php
44 lines
1 <?php
2
3 namespace AmeliaBooking\Domain\Factory\CustomField;
4
5 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
6 use AmeliaBooking\Domain\Entity\CustomField\CustomFieldOption;
7 use AmeliaBooking\Domain\ValueObjects\Json;
8 use AmeliaBooking\Domain\ValueObjects\Number\Integer\Id;
9 use AmeliaBooking\Domain\ValueObjects\Number\Integer\IntegerValue;
10 use AmeliaBooking\Domain\ValueObjects\String\Label;
11
12 /**
13 * Class CustomFieldOptionFactory
14 *
15 * @package AmeliaBooking\Domain\Factory\CustomField
16 */
17 class CustomFieldOptionFactory
18 {
19 /**
20 * @param $data
21 *
22 * @return CustomFieldOption
23 * @throws InvalidArgumentException
24 */
25 public static function create($data)
26 {
27 $customFieldOption = new CustomFieldOption(
28 new Id($data['customFieldId']),
29 new Label($data['label']),
30 new IntegerValue($data['position'])
31 );
32
33 if (isset($data['translations'])) {
34 $customFieldOption->setTranslations(new Json($data['translations']));
35 }
36
37 if (isset($data['id'])) {
38 $customFieldOption->setId(new Id($data['id']));
39 }
40
41 return $customFieldOption;
42 }
43 }
44