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 / Gallery / GalleryImageFactory.php
ameliabooking / src / Domain / Factory / Gallery Last commit date
GalleryImageFactory.php 7 years ago
GalleryImageFactory.php
48 lines
1 <?php
2
3 namespace AmeliaBooking\Domain\Factory\Gallery;
4
5 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
6 use AmeliaBooking\Domain\Entity\Gallery\GalleryImage;
7 use AmeliaBooking\Domain\ValueObjects\Number\Integer\Id;
8 use AmeliaBooking\Domain\ValueObjects\Number\Integer\PositiveInteger;
9 use AmeliaBooking\Domain\ValueObjects\Picture;
10 use AmeliaBooking\Domain\ValueObjects\String\EntityType;
11
12 /**
13 * Class GalleryImageFactory
14 *
15 * @package AmeliaBooking\Domain\Factory\CustomField
16 */
17 class GalleryImageFactory
18 {
19 /**
20 * @param $data
21 *
22 * @return GalleryImage
23 * @throws InvalidArgumentException
24 */
25 public static function create($data)
26 {
27 $galleryImage = new GalleryImage(
28 new EntityType($data['entityType']),
29 new Picture($data['pictureFullPath'], $data['pictureThumbPath']),
30 new PositiveInteger($data['position'])
31 );
32
33 if (isset($data['id'])) {
34 $galleryImage->setId(new Id($data['id']));
35 }
36
37 if (isset($data['entityId'])) {
38 $galleryImage->setEntityId(new Id($data['entityId']));
39 }
40
41 if (isset($data['entityType'])) {
42 $galleryImage->setEntityType(new EntityType($data['entityType']));
43 }
44
45 return $galleryImage;
46 }
47 }
48