LocationPatchMessage::createFromLocation()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 23

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 23
rs 9.552
c 0
b 0
f 0
cc 2
nc 2
nop 1
1
<?php
2
declare(strict_types=1);
3
4
namespace Yproximite\Api\Message\Location;
5
6
use Yproximite\Api\Model\Location\Location;
7
use Yproximite\Api\Message\IdentityAwareMessageTrait;
8
9
/**
10
 * Class LocationPatchMessage
11
 */
12
class LocationPatchMessage extends AbstractLocationMessage
13
{
14
    use IdentityAwareMessageTrait;
15
16
    /**
17
     * @param Location $location
18
     *
19
     * @return self
20
     */
21
    public static function createFromLocation(Location $location): self
22
    {
23
        $message = new self();
24
        $message->setId($location->getId());
25
        $message->setTel($location->getTel());
26
        $message->setFax($location->getFax());
27
        $message->setMail($location->getMail());
28
        $message->setAddress($location->getAddress());
29
        $message->setPostalCode($location->getPostalCode());
30
        $message->setTown($location->getTown());
31
        $message->setCountry($location->getCountry());
32
        $message->setDefaultLocation($location->isDefaultLocation());
33
        $message->setLatitude($location->getLatitude());
34
        $message->setLongitude($location->getLongitude());
35
36
        foreach ($location->getTranslations() as $translation) {
37
            $transMessage = LocationTranslationMessage::createFromLocationTranslation($translation);
38
39
            $message->addTranslation($transMessage);
40
        }
41
42
        return $message;
43
    }
44
}
45