RateSpecialValidPeriod::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 18
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 18
ccs 0
cts 18
cp 0
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 16
nc 1
nop 15
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 RateSpecialValidPeriod
6
{
7
8
    /**
9
     * @var int $ID_RateSpecialValidPeriod
10
     */
11
    protected $ID_RateSpecialValidPeriod = null;
12
13
    /**
14
     * @var int $ID_RateSpecial
15
     */
16
    protected $ID_RateSpecial = null;
17
18
    /**
19
     * @var \DateTime $StartStay
20
     */
21
    protected $StartStay = null;
22
23
    /**
24
     * @var \DateTime $EndStay
25
     */
26
    protected $EndStay = null;
27
28
    /**
29
     * @var \DateTime $StartBooking
30
     */
31
    protected $StartBooking = null;
32
33
    /**
34
     * @var \DateTime $EndBooking
35
     */
36
    protected $EndBooking = null;
37
38
    /**
39
     * @var int $LengthStay
40
     */
41
    protected $LengthStay = null;
42
43
    /**
44
     * @var boolean $IsFixedStay
45
     */
46
    protected $IsFixedStay = null;
47
48
    /**
49
     * @var boolean $IsMonday
50
     */
51
    protected $IsMonday = null;
52
53
    /**
54
     * @var boolean $IsTuesday
55
     */
56
    protected $IsTuesday = null;
57
58
    /**
59
     * @var boolean $IsWednesday
60
     */
61
    protected $IsWednesday = null;
62
63
    /**
64
     * @var boolean $IsThursday
65
     */
66
    protected $IsThursday = null;
67
68
    /**
69
     * @var boolean $IsFriday
70
     */
71
    protected $IsFriday = null;
72
73
    /**
74
     * @var boolean $IsSaturday
75
     */
76
    protected $IsSaturday = null;
77
78
    /**
79
     * @var boolean $IsSunday
80
     */
81
    protected $IsSunday = null;
82
83
    /**
84
     * @param int $ID_RateSpecialValidPeriod
85
     * @param int $ID_RateSpecial
86
     * @param \DateTime $StartStay
87
     * @param \DateTime $EndStay
88
     * @param \DateTime $StartBooking
89
     * @param \DateTime $EndBooking
90
     * @param int $LengthStay
91
     * @param boolean $IsFixedStay
92
     * @param boolean $IsMonday
93
     * @param boolean $IsTuesday
94
     * @param boolean $IsWednesday
95
     * @param boolean $IsThursday
96
     * @param boolean $IsFriday
97
     * @param boolean $IsSaturday
98
     * @param boolean $IsSunday
99
     */
100
    public function __construct($ID_RateSpecialValidPeriod, $ID_RateSpecial, \DateTime $StartStay, \DateTime $EndStay, \DateTime $StartBooking, \DateTime $EndBooking, $LengthStay, $IsFixedStay, $IsMonday, $IsTuesday, $IsWednesday, $IsThursday, $IsFriday, $IsSaturday, $IsSunday)
101
    {
102
        $this->ID_RateSpecialValidPeriod = $ID_RateSpecialValidPeriod;
103
        $this->ID_RateSpecial = $ID_RateSpecial;
104
        $this->StartStay = $StartStay->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $StartStay->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $StartStay.

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

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

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

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...
108
        $this->LengthStay = $LengthStay;
109
        $this->IsFixedStay = $IsFixedStay;
110
        $this->IsMonday = $IsMonday;
111
        $this->IsTuesday = $IsTuesday;
112
        $this->IsWednesday = $IsWednesday;
113
        $this->IsThursday = $IsThursday;
114
        $this->IsFriday = $IsFriday;
115
        $this->IsSaturday = $IsSaturday;
116
        $this->IsSunday = $IsSunday;
117
    }
118
119
    /**
120
     * @return int
121
     */
122
    public function getID_RateSpecialValidPeriod()
123
    {
124
        return $this->ID_RateSpecialValidPeriod;
125
    }
126
127
    /**
128
     * @param int $ID_RateSpecialValidPeriod
129
     * @return \Gueststream\PMS\IQWare\API\RateSpecialValidPeriod
130
     */
131
    public function setID_RateSpecialValidPeriod($ID_RateSpecialValidPeriod)
132
    {
133
        $this->ID_RateSpecialValidPeriod = $ID_RateSpecialValidPeriod;
134
        return $this;
135
    }
136
137
    /**
138
     * @return int
139
     */
140
    public function getID_RateSpecial()
141
    {
142
        return $this->ID_RateSpecial;
143
    }
144
145
    /**
146
     * @param int $ID_RateSpecial
147
     * @return \Gueststream\PMS\IQWare\API\RateSpecialValidPeriod
148
     */
149
    public function setID_RateSpecial($ID_RateSpecial)
150
    {
151
        $this->ID_RateSpecial = $ID_RateSpecial;
152
        return $this;
153
    }
154
155
    /**
156
     * @return \DateTime
157
     */
158
    public function getStartStay()
159
    {
160
        if ($this->StartStay == null) {
161
            return null;
162
        } else {
163
            try {
164
                return new \DateTime($this->StartStay);
165
            } catch (\Exception $e) {
166
                return false;
167
            }
168
        }
169
    }
170
171
    /**
172
     * @param \DateTime $StartStay
173
     * @return \Gueststream\PMS\IQWare\API\RateSpecialValidPeriod
174
     */
175
    public function setStartStay(\DateTime $StartStay)
176
    {
177
        $this->StartStay = $StartStay->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $StartStay->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $StartStay.

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...
178
        return $this;
179
    }
180
181
    /**
182
     * @return \DateTime
183
     */
184
    public function getEndStay()
185
    {
186
        if ($this->EndStay == null) {
187
            return null;
188
        } else {
189
            try {
190
                return new \DateTime($this->EndStay);
191
            } catch (\Exception $e) {
192
                return false;
193
            }
194
        }
195
    }
196
197
    /**
198
     * @param \DateTime $EndStay
199
     * @return \Gueststream\PMS\IQWare\API\RateSpecialValidPeriod
200
     */
201
    public function setEndStay(\DateTime $EndStay)
202
    {
203
        $this->EndStay = $EndStay->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $EndStay->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $EndStay.

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...
204
        return $this;
205
    }
206
207
    /**
208
     * @return \DateTime
209
     */
210
    public function getStartBooking()
211
    {
212
        if ($this->StartBooking == null) {
213
            return null;
214
        } else {
215
            try {
216
                return new \DateTime($this->StartBooking);
217
            } catch (\Exception $e) {
218
                return false;
219
            }
220
        }
221
    }
222
223
    /**
224
     * @param \DateTime $StartBooking
225
     * @return \Gueststream\PMS\IQWare\API\RateSpecialValidPeriod
226
     */
227
    public function setStartBooking(\DateTime $StartBooking)
228
    {
229
        $this->StartBooking = $StartBooking->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $StartBooking->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $StartBooking.

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...
230
        return $this;
231
    }
232
233
    /**
234
     * @return \DateTime
235
     */
236
    public function getEndBooking()
237
    {
238
        if ($this->EndBooking == null) {
239
            return null;
240
        } else {
241
            try {
242
                return new \DateTime($this->EndBooking);
243
            } catch (\Exception $e) {
244
                return false;
245
            }
246
        }
247
    }
248
249
    /**
250
     * @param \DateTime $EndBooking
251
     * @return \Gueststream\PMS\IQWare\API\RateSpecialValidPeriod
252
     */
253
    public function setEndBooking(\DateTime $EndBooking)
254
    {
255
        $this->EndBooking = $EndBooking->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $EndBooking->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $EndBooking.

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...
256
        return $this;
257
    }
258
259
    /**
260
     * @return int
261
     */
262
    public function getLengthStay()
263
    {
264
        return $this->LengthStay;
265
    }
266
267
    /**
268
     * @param int $LengthStay
269
     * @return \Gueststream\PMS\IQWare\API\RateSpecialValidPeriod
270
     */
271
    public function setLengthStay($LengthStay)
272
    {
273
        $this->LengthStay = $LengthStay;
274
        return $this;
275
    }
276
277
    /**
278
     * @return boolean
279
     */
280
    public function getIsFixedStay()
281
    {
282
        return $this->IsFixedStay;
283
    }
284
285
    /**
286
     * @param boolean $IsFixedStay
287
     * @return \Gueststream\PMS\IQWare\API\RateSpecialValidPeriod
288
     */
289
    public function setIsFixedStay($IsFixedStay)
290
    {
291
        $this->IsFixedStay = $IsFixedStay;
292
        return $this;
293
    }
294
295
    /**
296
     * @return boolean
297
     */
298
    public function getIsMonday()
299
    {
300
        return $this->IsMonday;
301
    }
302
303
    /**
304
     * @param boolean $IsMonday
305
     * @return \Gueststream\PMS\IQWare\API\RateSpecialValidPeriod
306
     */
307
    public function setIsMonday($IsMonday)
308
    {
309
        $this->IsMonday = $IsMonday;
310
        return $this;
311
    }
312
313
    /**
314
     * @return boolean
315
     */
316
    public function getIsTuesday()
317
    {
318
        return $this->IsTuesday;
319
    }
320
321
    /**
322
     * @param boolean $IsTuesday
323
     * @return \Gueststream\PMS\IQWare\API\RateSpecialValidPeriod
324
     */
325
    public function setIsTuesday($IsTuesday)
326
    {
327
        $this->IsTuesday = $IsTuesday;
328
        return $this;
329
    }
330
331
    /**
332
     * @return boolean
333
     */
334
    public function getIsWednesday()
335
    {
336
        return $this->IsWednesday;
337
    }
338
339
    /**
340
     * @param boolean $IsWednesday
341
     * @return \Gueststream\PMS\IQWare\API\RateSpecialValidPeriod
342
     */
343
    public function setIsWednesday($IsWednesday)
344
    {
345
        $this->IsWednesday = $IsWednesday;
346
        return $this;
347
    }
348
349
    /**
350
     * @return boolean
351
     */
352
    public function getIsThursday()
353
    {
354
        return $this->IsThursday;
355
    }
356
357
    /**
358
     * @param boolean $IsThursday
359
     * @return \Gueststream\PMS\IQWare\API\RateSpecialValidPeriod
360
     */
361
    public function setIsThursday($IsThursday)
362
    {
363
        $this->IsThursday = $IsThursday;
364
        return $this;
365
    }
366
367
    /**
368
     * @return boolean
369
     */
370
    public function getIsFriday()
371
    {
372
        return $this->IsFriday;
373
    }
374
375
    /**
376
     * @param boolean $IsFriday
377
     * @return \Gueststream\PMS\IQWare\API\RateSpecialValidPeriod
378
     */
379
    public function setIsFriday($IsFriday)
380
    {
381
        $this->IsFriday = $IsFriday;
382
        return $this;
383
    }
384
385
    /**
386
     * @return boolean
387
     */
388
    public function getIsSaturday()
389
    {
390
        return $this->IsSaturday;
391
    }
392
393
    /**
394
     * @param boolean $IsSaturday
395
     * @return \Gueststream\PMS\IQWare\API\RateSpecialValidPeriod
396
     */
397
    public function setIsSaturday($IsSaturday)
398
    {
399
        $this->IsSaturday = $IsSaturday;
400
        return $this;
401
    }
402
403
    /**
404
     * @return boolean
405
     */
406
    public function getIsSunday()
407
    {
408
        return $this->IsSunday;
409
    }
410
411
    /**
412
     * @param boolean $IsSunday
413
     * @return \Gueststream\PMS\IQWare\API\RateSpecialValidPeriod
414
     */
415
    public function setIsSunday($IsSunday)
416
    {
417
        $this->IsSunday = $IsSunday;
418
        return $this;
419
    }
420
}
421