Location   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 20
c 1
b 0
f 0
dl 0
loc 31
rs 10
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A TypeName() 0 5 2
1
<?php
2
3
namespace Lifeboat\Models;
4
5
/**
6
 * Class Location
7
 * @package Lifeboat\Models
8
 *
9
 * @property string $Name
10
 * @property string $Description
11
 * @property int $Type
12
 * @property string $Address
13
 * @property string $AddressL2
14
 * @property string $City
15
 * @property string $SubdivisionCode
16
 * @property string $CountryCode
17
 * @property string $PostCode
18
 * @property string $Email
19
 * @property string $Tel
20
 * @property float $Latitude
21
 * @property float $Longitude
22
 * @property bool $DeliverFrom
23
 * @property float $DeliveryMinOrder
24
 * @property float $DeliveryBaseFee
25
 * @property float $DeliveryRadius
26
 * @property string $DeliveryNote
27
 * @property bool $PickupFrom
28
 * @property float $PickupMinOrder
29
 * @property string $PickupNote
30
 * @property DeliveryZone[] $DeliveryZones
31
 */
32
class Location extends Model {
33
34
    const TYPE_WAREHOUSE    = 1;
35
    const TYPE_OFFICE       = 2;
36
    const TYPE_OUTLET       = 3;
37
38
    const LOCATION_TYPES = [
39
        self::TYPE_WAREHOUSE    => 'warehouse',
40
        self::TYPE_OFFICE       => 'office',
41
        self::TYPE_OUTLET       => 'outlet',
42
    ];
43
44
    protected static $casting = [
45
        'Latitude'          => 'floatval',
46
        'Longitude'         => 'floatval',
47
        'DeliverFrom'       => 'boolval',
48
        'DeliveryMinOrder'  => 'floatval',
49
        'DeliveryBaseFee'   => 'floatval',
50
        'DeliveryRadius'    => 'floatval',
51
        'PickupFrom'        => 'boolval',
52
        'PickupMinOrder'    => 'floatval',
53
    ];
54
55
    /**
56
     * @return string
57
     */
58
    public function TypeName(): string
59
    {
60
        return (array_key_exists($this->Type, self::LOCATION_TYPES))
61
            ? self::LOCATION_TYPES[$this->Type]
62
            : '';
63
    }
64
65
}
66