LocationPatchMessage   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 4
dl 0
loc 33
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A createFromLocation() 0 23 2
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