__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 20
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 20
ccs 0
cts 20
cp 0
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 18
nc 1
nop 17
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 GetAvailRatesAndRoomNumbersWithEvaluation
6
{
7
8
    /**
9
     * @var int $Guid
10
     */
11
    protected $Guid = null;
12
13
    /**
14
     * @var boolean $IsValidateRoomRefusals
15
     */
16
    protected $IsValidateRoomRefusals = null;
17
18
    /**
19
     * @var \DateTime $dtArrivalDate
20
     */
21
    protected $dtArrivalDate = null;
22
23
    /**
24
     * @var \DateTime $dtDepartureDate
25
     */
26
    protected $dtDepartureDate = null;
27
28
    /**
29
     * @var int $intGuestCount
30
     */
31
    protected $intGuestCount = null;
32
33
    /**
34
     * @var string $strChildrens
35
     */
36
    protected $strChildrens = null;
37
38
    /**
39
     * @var int $intID_AccommodationType
40
     */
41
    protected $intID_AccommodationType = null;
42
43
    /**
44
     * @var int $intRoomQty
45
     */
46
    protected $intRoomQty = null;
47
48
    /**
49
     * @var string $strListOfPromoRates
50
     */
51
    protected $strListOfPromoRates = null;
52
53
    /**
54
     * @var boolean $IsPromoByRate
55
     */
56
    protected $IsPromoByRate = null;
57
58
    /**
59
     * @var int $intRateSpecial
60
     */
61
    protected $intRateSpecial = null;
62
63
    /**
64
     * @var string $strRateCodes
65
     */
66
    protected $strRateCodes = null;
67
68
    /**
69
     * @var string $strRoomTypes
70
     */
71
    protected $strRoomTypes = null;
72
73
    /**
74
     * @var string $PushID
75
     */
76
    protected $PushID = null;
77
78
    /**
79
     * @var IAB2BMode $BackToBackMode
80
     */
81
    protected $BackToBackMode = null;
82
83
    /**
84
     * @var boolean $IsClusterVersion
85
     */
86
    protected $IsClusterVersion = null;
87
88
    /**
89
     * @var int $EvalCount
90
     */
91
    protected $EvalCount = null;
92
93
    /**
94
     * @param int $Guid
95
     * @param boolean $IsValidateRoomRefusals
96
     * @param \DateTime $dtArrivalDate
97
     * @param \DateTime $dtDepartureDate
98
     * @param int $intGuestCount
99
     * @param string $strChildrens
100
     * @param int $intID_AccommodationType
101
     * @param int $intRoomQty
102
     * @param string $strListOfPromoRates
103
     * @param boolean $IsPromoByRate
104
     * @param int $intRateSpecial
105
     * @param string $strRateCodes
106
     * @param string $strRoomTypes
107
     * @param string $PushID
108
     * @param IAB2BMode $BackToBackMode
109
     * @param boolean $IsClusterVersion
110
     * @param int $EvalCount
111
     */
112
    public function __construct($Guid, $IsValidateRoomRefusals, \DateTime $dtArrivalDate, \DateTime $dtDepartureDate, $intGuestCount, $strChildrens, $intID_AccommodationType, $intRoomQty, $strListOfPromoRates, $IsPromoByRate, $intRateSpecial, $strRateCodes, $strRoomTypes, $PushID, $BackToBackMode, $IsClusterVersion, $EvalCount)
113
    {
114
        $this->Guid = $Guid;
115
        $this->IsValidateRoomRefusals = $IsValidateRoomRefusals;
116
        $this->dtArrivalDate = $dtArrivalDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $dtArrivalDate->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $dtArrivalDate.

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

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...
118
        $this->intGuestCount = $intGuestCount;
119
        $this->strChildrens = $strChildrens;
120
        $this->intID_AccommodationType = $intID_AccommodationType;
121
        $this->intRoomQty = $intRoomQty;
122
        $this->strListOfPromoRates = $strListOfPromoRates;
123
        $this->IsPromoByRate = $IsPromoByRate;
124
        $this->intRateSpecial = $intRateSpecial;
125
        $this->strRateCodes = $strRateCodes;
126
        $this->strRoomTypes = $strRoomTypes;
127
        $this->PushID = $PushID;
128
        $this->BackToBackMode = $BackToBackMode;
129
        $this->IsClusterVersion = $IsClusterVersion;
130
        $this->EvalCount = $EvalCount;
131
    }
132
133
    /**
134
     * @return int
135
     */
136
    public function getGuid()
137
    {
138
        return $this->Guid;
139
    }
140
141
    /**
142
     * @param int $Guid
143
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersWithEvaluation
144
     */
145
    public function setGuid($Guid)
146
    {
147
        $this->Guid = $Guid;
148
        return $this;
149
    }
150
151
    /**
152
     * @return boolean
153
     */
154
    public function getIsValidateRoomRefusals()
155
    {
156
        return $this->IsValidateRoomRefusals;
157
    }
158
159
    /**
160
     * @param boolean $IsValidateRoomRefusals
161
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersWithEvaluation
162
     */
163
    public function setIsValidateRoomRefusals($IsValidateRoomRefusals)
164
    {
165
        $this->IsValidateRoomRefusals = $IsValidateRoomRefusals;
166
        return $this;
167
    }
168
169
    /**
170
     * @return \DateTime
171
     */
172
    public function getDtArrivalDate()
173
    {
174
        if ($this->dtArrivalDate == null) {
175
            return null;
176
        } else {
177
            try {
178
                return new \DateTime($this->dtArrivalDate);
179
            } catch (\Exception $e) {
180
                return false;
181
            }
182
        }
183
    }
184
185
    /**
186
     * @param \DateTime $dtArrivalDate
187
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersWithEvaluation
188
     */
189
    public function setDtArrivalDate(\DateTime $dtArrivalDate)
190
    {
191
        $this->dtArrivalDate = $dtArrivalDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $dtArrivalDate->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $dtArrivalDate.

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...
192
        return $this;
193
    }
194
195
    /**
196
     * @return \DateTime
197
     */
198
    public function getDtDepartureDate()
199
    {
200
        if ($this->dtDepartureDate == null) {
201
            return null;
202
        } else {
203
            try {
204
                return new \DateTime($this->dtDepartureDate);
205
            } catch (\Exception $e) {
206
                return false;
207
            }
208
        }
209
    }
210
211
    /**
212
     * @param \DateTime $dtDepartureDate
213
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersWithEvaluation
214
     */
215
    public function setDtDepartureDate(\DateTime $dtDepartureDate)
216
    {
217
        $this->dtDepartureDate = $dtDepartureDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $dtDepartureDate->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $dtDepartureDate.

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...
218
        return $this;
219
    }
220
221
    /**
222
     * @return int
223
     */
224
    public function getIntGuestCount()
225
    {
226
        return $this->intGuestCount;
227
    }
228
229
    /**
230
     * @param int $intGuestCount
231
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersWithEvaluation
232
     */
233
    public function setIntGuestCount($intGuestCount)
234
    {
235
        $this->intGuestCount = $intGuestCount;
236
        return $this;
237
    }
238
239
    /**
240
     * @return string
241
     */
242
    public function getStrChildrens()
243
    {
244
        return $this->strChildrens;
245
    }
246
247
    /**
248
     * @param string $strChildrens
249
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersWithEvaluation
250
     */
251
    public function setStrChildrens($strChildrens)
252
    {
253
        $this->strChildrens = $strChildrens;
254
        return $this;
255
    }
256
257
    /**
258
     * @return int
259
     */
260
    public function getIntID_AccommodationType()
261
    {
262
        return $this->intID_AccommodationType;
263
    }
264
265
    /**
266
     * @param int $intID_AccommodationType
267
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersWithEvaluation
268
     */
269
    public function setIntID_AccommodationType($intID_AccommodationType)
270
    {
271
        $this->intID_AccommodationType = $intID_AccommodationType;
272
        return $this;
273
    }
274
275
    /**
276
     * @return int
277
     */
278
    public function getIntRoomQty()
279
    {
280
        return $this->intRoomQty;
281
    }
282
283
    /**
284
     * @param int $intRoomQty
285
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersWithEvaluation
286
     */
287
    public function setIntRoomQty($intRoomQty)
288
    {
289
        $this->intRoomQty = $intRoomQty;
290
        return $this;
291
    }
292
293
    /**
294
     * @return string
295
     */
296
    public function getStrListOfPromoRates()
297
    {
298
        return $this->strListOfPromoRates;
299
    }
300
301
    /**
302
     * @param string $strListOfPromoRates
303
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersWithEvaluation
304
     */
305
    public function setStrListOfPromoRates($strListOfPromoRates)
306
    {
307
        $this->strListOfPromoRates = $strListOfPromoRates;
308
        return $this;
309
    }
310
311
    /**
312
     * @return boolean
313
     */
314
    public function getIsPromoByRate()
315
    {
316
        return $this->IsPromoByRate;
317
    }
318
319
    /**
320
     * @param boolean $IsPromoByRate
321
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersWithEvaluation
322
     */
323
    public function setIsPromoByRate($IsPromoByRate)
324
    {
325
        $this->IsPromoByRate = $IsPromoByRate;
326
        return $this;
327
    }
328
329
    /**
330
     * @return int
331
     */
332
    public function getIntRateSpecial()
333
    {
334
        return $this->intRateSpecial;
335
    }
336
337
    /**
338
     * @param int $intRateSpecial
339
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersWithEvaluation
340
     */
341
    public function setIntRateSpecial($intRateSpecial)
342
    {
343
        $this->intRateSpecial = $intRateSpecial;
344
        return $this;
345
    }
346
347
    /**
348
     * @return string
349
     */
350
    public function getStrRateCodes()
351
    {
352
        return $this->strRateCodes;
353
    }
354
355
    /**
356
     * @param string $strRateCodes
357
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersWithEvaluation
358
     */
359
    public function setStrRateCodes($strRateCodes)
360
    {
361
        $this->strRateCodes = $strRateCodes;
362
        return $this;
363
    }
364
365
    /**
366
     * @return string
367
     */
368
    public function getStrRoomTypes()
369
    {
370
        return $this->strRoomTypes;
371
    }
372
373
    /**
374
     * @param string $strRoomTypes
375
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersWithEvaluation
376
     */
377
    public function setStrRoomTypes($strRoomTypes)
378
    {
379
        $this->strRoomTypes = $strRoomTypes;
380
        return $this;
381
    }
382
383
    /**
384
     * @return string
385
     */
386
    public function getPushID()
387
    {
388
        return $this->PushID;
389
    }
390
391
    /**
392
     * @param string $PushID
393
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersWithEvaluation
394
     */
395
    public function setPushID($PushID)
396
    {
397
        $this->PushID = $PushID;
398
        return $this;
399
    }
400
401
    /**
402
     * @return IAB2BMode
403
     */
404
    public function getBackToBackMode()
405
    {
406
        return $this->BackToBackMode;
407
    }
408
409
    /**
410
     * @param IAB2BMode $BackToBackMode
411
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersWithEvaluation
412
     */
413
    public function setBackToBackMode($BackToBackMode)
414
    {
415
        $this->BackToBackMode = $BackToBackMode;
416
        return $this;
417
    }
418
419
    /**
420
     * @return boolean
421
     */
422
    public function getIsClusterVersion()
423
    {
424
        return $this->IsClusterVersion;
425
    }
426
427
    /**
428
     * @param boolean $IsClusterVersion
429
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersWithEvaluation
430
     */
431
    public function setIsClusterVersion($IsClusterVersion)
432
    {
433
        $this->IsClusterVersion = $IsClusterVersion;
434
        return $this;
435
    }
436
437
    /**
438
     * @return int
439
     */
440
    public function getEvalCount()
441
    {
442
        return $this->EvalCount;
443
    }
444
445
    /**
446
     * @param int $EvalCount
447
     * @return \Gueststream\PMS\IQWare\API\GetAvailRatesAndRoomNumbersWithEvaluation
448
     */
449
    public function setEvalCount($EvalCount)
450
    {
451
        $this->EvalCount = $EvalCount;
452
        return $this;
453
    }
454
}
455