ValidateRoomRefusals::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 14
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 14
ccs 0
cts 14
cp 0
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 12
nc 1
nop 11
crap 2

How to fix   Many Parameters   

Many Parameters

Methods with many parameters are not only hard to understand, but their parameters also often become inconsistent when you need more, or different data.

There are several approaches to avoid long parameter lists:

1
<?php
2
3
namespace Gueststream\PMS\IQWare\API;
4
5
class ValidateRoomRefusals
6
{
7
8
    /**
9
     * @var int $guid
10
     */
11
    protected $guid = null;
12
13
    /**
14
     * @var int $ID_Room
15
     */
16
    protected $ID_Room = null;
17
18
    /**
19
     * @var int $ID_RateCode
20
     */
21
    protected $ID_RateCode = null;
22
23
    /**
24
     * @var int $NbrGuest
25
     */
26
    protected $NbrGuest = null;
27
28
    /**
29
     * @var int $Cat1
30
     */
31
    protected $Cat1 = null;
32
33
    /**
34
     * @var int $Cat2
35
     */
36
    protected $Cat2 = null;
37
38
    /**
39
     * @var int $Cat3
40
     */
41
    protected $Cat3 = null;
42
43
    /**
44
     * @var int $Cat4
45
     */
46
    protected $Cat4 = null;
47
48
    /**
49
     * @var \DateTime $ReservationArrivalDate
50
     */
51
    protected $ReservationArrivalDate = null;
52
53
    /**
54
     * @var \DateTime $ReservationDepartureDate
55
     */
56
    protected $ReservationDepartureDate = null;
57
58
    /**
59
     * @var int $intID_SuiteConfiguration
60
     */
61
    protected $intID_SuiteConfiguration = null;
62
63
    /**
64
     * @param int $guid
65
     * @param int $ID_Room
66
     * @param int $ID_RateCode
67
     * @param int $NbrGuest
68
     * @param int $Cat1
69
     * @param int $Cat2
70
     * @param int $Cat3
71
     * @param int $Cat4
72
     * @param \DateTime $ReservationArrivalDate
73
     * @param \DateTime $ReservationDepartureDate
74
     * @param int $intID_SuiteConfiguration
75
     */
76
    public function __construct($guid, $ID_Room, $ID_RateCode, $NbrGuest, $Cat1, $Cat2, $Cat3, $Cat4, \DateTime $ReservationArrivalDate, \DateTime $ReservationDepartureDate, $intID_SuiteConfiguration)
77
    {
78
        $this->guid = $guid;
79
        $this->ID_Room = $ID_Room;
80
        $this->ID_RateCode = $ID_RateCode;
81
        $this->NbrGuest = $NbrGuest;
82
        $this->Cat1 = $Cat1;
83
        $this->Cat2 = $Cat2;
84
        $this->Cat3 = $Cat3;
85
        $this->Cat4 = $Cat4;
86
        $this->ReservationArrivalDate = $ReservationArrivalDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $ReservationArrivalDate->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $ReservationArrivalDate.

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...
87
        $this->ReservationDepartureDate = $ReservationDepartureDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $ReservationDepartureDat...format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $ReservationDepartureDate.

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...
88
        $this->intID_SuiteConfiguration = $intID_SuiteConfiguration;
89
    }
90
91
    /**
92
     * @return int
93
     */
94
    public function getGuid()
95
    {
96
        return $this->guid;
97
    }
98
99
    /**
100
     * @param int $guid
101
     * @return \Gueststream\PMS\IQWare\API\ValidateRoomRefusals
102
     */
103
    public function setGuid($guid)
104
    {
105
        $this->guid = $guid;
106
        return $this;
107
    }
108
109
    /**
110
     * @return int
111
     */
112
    public function getID_Room()
113
    {
114
        return $this->ID_Room;
115
    }
116
117
    /**
118
     * @param int $ID_Room
119
     * @return \Gueststream\PMS\IQWare\API\ValidateRoomRefusals
120
     */
121
    public function setID_Room($ID_Room)
122
    {
123
        $this->ID_Room = $ID_Room;
124
        return $this;
125
    }
126
127
    /**
128
     * @return int
129
     */
130
    public function getID_RateCode()
131
    {
132
        return $this->ID_RateCode;
133
    }
134
135
    /**
136
     * @param int $ID_RateCode
137
     * @return \Gueststream\PMS\IQWare\API\ValidateRoomRefusals
138
     */
139
    public function setID_RateCode($ID_RateCode)
140
    {
141
        $this->ID_RateCode = $ID_RateCode;
142
        return $this;
143
    }
144
145
    /**
146
     * @return int
147
     */
148
    public function getNbrGuest()
149
    {
150
        return $this->NbrGuest;
151
    }
152
153
    /**
154
     * @param int $NbrGuest
155
     * @return \Gueststream\PMS\IQWare\API\ValidateRoomRefusals
156
     */
157
    public function setNbrGuest($NbrGuest)
158
    {
159
        $this->NbrGuest = $NbrGuest;
160
        return $this;
161
    }
162
163
    /**
164
     * @return int
165
     */
166
    public function getCat1()
167
    {
168
        return $this->Cat1;
169
    }
170
171
    /**
172
     * @param int $Cat1
173
     * @return \Gueststream\PMS\IQWare\API\ValidateRoomRefusals
174
     */
175
    public function setCat1($Cat1)
176
    {
177
        $this->Cat1 = $Cat1;
178
        return $this;
179
    }
180
181
    /**
182
     * @return int
183
     */
184
    public function getCat2()
185
    {
186
        return $this->Cat2;
187
    }
188
189
    /**
190
     * @param int $Cat2
191
     * @return \Gueststream\PMS\IQWare\API\ValidateRoomRefusals
192
     */
193
    public function setCat2($Cat2)
194
    {
195
        $this->Cat2 = $Cat2;
196
        return $this;
197
    }
198
199
    /**
200
     * @return int
201
     */
202
    public function getCat3()
203
    {
204
        return $this->Cat3;
205
    }
206
207
    /**
208
     * @param int $Cat3
209
     * @return \Gueststream\PMS\IQWare\API\ValidateRoomRefusals
210
     */
211
    public function setCat3($Cat3)
212
    {
213
        $this->Cat3 = $Cat3;
214
        return $this;
215
    }
216
217
    /**
218
     * @return int
219
     */
220
    public function getCat4()
221
    {
222
        return $this->Cat4;
223
    }
224
225
    /**
226
     * @param int $Cat4
227
     * @return \Gueststream\PMS\IQWare\API\ValidateRoomRefusals
228
     */
229
    public function setCat4($Cat4)
230
    {
231
        $this->Cat4 = $Cat4;
232
        return $this;
233
    }
234
235
    /**
236
     * @return \DateTime
237
     */
238
    public function getReservationArrivalDate()
239
    {
240
        if ($this->ReservationArrivalDate == null) {
241
            return null;
242
        } else {
243
            try {
244
                return new \DateTime($this->ReservationArrivalDate);
245
            } catch (\Exception $e) {
246
                return false;
247
            }
248
        }
249
    }
250
251
    /**
252
     * @param \DateTime $ReservationArrivalDate
253
     * @return \Gueststream\PMS\IQWare\API\ValidateRoomRefusals
254
     */
255
    public function setReservationArrivalDate(\DateTime $ReservationArrivalDate)
256
    {
257
        $this->ReservationArrivalDate = $ReservationArrivalDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $ReservationArrivalDate->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $ReservationArrivalDate.

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...
258
        return $this;
259
    }
260
261
    /**
262
     * @return \DateTime
263
     */
264
    public function getReservationDepartureDate()
265
    {
266
        if ($this->ReservationDepartureDate == null) {
267
            return null;
268
        } else {
269
            try {
270
                return new \DateTime($this->ReservationDepartureDate);
271
            } catch (\Exception $e) {
272
                return false;
273
            }
274
        }
275
    }
276
277
    /**
278
     * @param \DateTime $ReservationDepartureDate
279
     * @return \Gueststream\PMS\IQWare\API\ValidateRoomRefusals
280
     */
281
    public function setReservationDepartureDate(\DateTime $ReservationDepartureDate)
282
    {
283
        $this->ReservationDepartureDate = $ReservationDepartureDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $ReservationDepartureDat...format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $ReservationDepartureDate.

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...
284
        return $this;
285
    }
286
287
    /**
288
     * @return int
289
     */
290
    public function getIntID_SuiteConfiguration()
291
    {
292
        return $this->intID_SuiteConfiguration;
293
    }
294
295
    /**
296
     * @param int $intID_SuiteConfiguration
297
     * @return \Gueststream\PMS\IQWare\API\ValidateRoomRefusals
298
     */
299
    public function setIntID_SuiteConfiguration($intID_SuiteConfiguration)
300
    {
301
        $this->intID_SuiteConfiguration = $intID_SuiteConfiguration;
302
        return $this;
303
    }
304
}
305