DailyOccupancy   A
last analyzed

Complexity

Total Complexity 17

Size/Duplication

Total Lines 169
Duplicated Lines 0 %

Coupling/Cohesion

Components 2
Dependencies 0

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 17
lcom 2
cbo 0
dl 0
loc 169
ccs 0
cts 76
cp 0
rs 10
c 0
b 0
f 0

13 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 6 1
A getFirstName() 0 4 1
A setFirstName() 0 5 1
A getLastName() 0 4 1
A setLastName() 0 5 1
A getUnit() 0 4 1
A setUnit() 0 5 1
A getArrival() 0 12 3
A setArrival() 0 5 1
A getDeparture() 0 12 3
A setDeparture() 0 5 1
A getResNo() 0 4 1
A setResNo() 0 5 1
1
<?php
2
3
namespace Gueststream\PMS\IQWare\API;
4
5
class DailyOccupancy
6
{
7
8
    /**
9
     * @var string $FirstName
10
     */
11
    protected $FirstName = null;
12
13
    /**
14
     * @var string $LastName
15
     */
16
    protected $LastName = null;
17
18
    /**
19
     * @var string $Unit
20
     */
21
    protected $Unit = null;
22
23
    /**
24
     * @var \DateTime $Arrival
25
     */
26
    protected $Arrival = null;
27
28
    /**
29
     * @var \DateTime $Departure
30
     */
31
    protected $Departure = null;
32
33
    /**
34
     * @var int $ResNo
35
     */
36
    protected $ResNo = null;
37
38
    /**
39
     * @param \DateTime $Arrival
40
     * @param \DateTime $Departure
41
     * @param int $ResNo
42
     */
43
    public function __construct(\DateTime $Arrival, \DateTime $Departure, $ResNo)
44
    {
45
        $this->Arrival = $Arrival->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $Arrival->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $Arrival.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
46
        $this->Departure = $Departure->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $Departure->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $Departure.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
47
        $this->ResNo = $ResNo;
48
    }
49
50
    /**
51
     * @return string
52
     */
53
    public function getFirstName()
54
    {
55
        return $this->FirstName;
56
    }
57
58
    /**
59
     * @param string $FirstName
60
     * @return \Gueststream\PMS\IQWare\API\DailyOccupancy
61
     */
62
    public function setFirstName($FirstName)
63
    {
64
        $this->FirstName = $FirstName;
65
        return $this;
66
    }
67
68
    /**
69
     * @return string
70
     */
71
    public function getLastName()
72
    {
73
        return $this->LastName;
74
    }
75
76
    /**
77
     * @param string $LastName
78
     * @return \Gueststream\PMS\IQWare\API\DailyOccupancy
79
     */
80
    public function setLastName($LastName)
81
    {
82
        $this->LastName = $LastName;
83
        return $this;
84
    }
85
86
    /**
87
     * @return string
88
     */
89
    public function getUnit()
90
    {
91
        return $this->Unit;
92
    }
93
94
    /**
95
     * @param string $Unit
96
     * @return \Gueststream\PMS\IQWare\API\DailyOccupancy
97
     */
98
    public function setUnit($Unit)
99
    {
100
        $this->Unit = $Unit;
101
        return $this;
102
    }
103
104
    /**
105
     * @return \DateTime
106
     */
107
    public function getArrival()
108
    {
109
        if ($this->Arrival == null) {
110
            return null;
111
        } else {
112
            try {
113
                return new \DateTime($this->Arrival);
114
            } catch (\Exception $e) {
115
                return false;
116
            }
117
        }
118
    }
119
120
    /**
121
     * @param \DateTime $Arrival
122
     * @return \Gueststream\PMS\IQWare\API\DailyOccupancy
123
     */
124
    public function setArrival(\DateTime $Arrival)
125
    {
126
        $this->Arrival = $Arrival->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $Arrival->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $Arrival.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
127
        return $this;
128
    }
129
130
    /**
131
     * @return \DateTime
132
     */
133
    public function getDeparture()
134
    {
135
        if ($this->Departure == null) {
136
            return null;
137
        } else {
138
            try {
139
                return new \DateTime($this->Departure);
140
            } catch (\Exception $e) {
141
                return false;
142
            }
143
        }
144
    }
145
146
    /**
147
     * @param \DateTime $Departure
148
     * @return \Gueststream\PMS\IQWare\API\DailyOccupancy
149
     */
150
    public function setDeparture(\DateTime $Departure)
151
    {
152
        $this->Departure = $Departure->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $Departure->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $Departure.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
153
        return $this;
154
    }
155
156
    /**
157
     * @return int
158
     */
159
    public function getResNo()
160
    {
161
        return $this->ResNo;
162
    }
163
164
    /**
165
     * @param int $ResNo
166
     * @return \Gueststream\PMS\IQWare\API\DailyOccupancy
167
     */
168
    public function setResNo($ResNo)
169
    {
170
        $this->ResNo = $ResNo;
171
        return $this;
172
    }
173
}
174