PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
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 6 months ago CustomFieldOptionFactory.php 3 months ago
CustomFieldOptionFactory.php
47 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 Label($data['label']),
29 new IntegerValue($data['position'])
30 );
31
32 if (isset($data['customFieldId'])) {
33 $customFieldOption->setCustomFieldId(new Id($data['customFieldId']));
34 }
35
36 if (isset($data['translations'])) {
37 $customFieldOption->setTranslations(new Json($data['translations']));
38 }
39
40 if (isset($data['id'])) {
41 $customFieldOption->setId(new Id($data['id']));
42 }
43
44 return $customFieldOption;
45 }
46 }
47