__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 22
Code Lines 20

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 22
ccs 0
cts 22
cp 0
rs 9.2
c 0
b 0
f 0
cc 1
eloc 20
nc 1
nop 19
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 GetSingleStayValueForUnitWithBuilding
6
{
7
8
    /**
9
     * @var int $intGUID
10
     */
11
    protected $intGUID = null;
12
13
    /**
14
     * @var string $strISOLanguage
15
     */
16
    protected $strISOLanguage = null;
17
18
    /**
19
     * @var int $intRoomType
20
     */
21
    protected $intRoomType = null;
22
23
    /**
24
     * @var int $intRateID
25
     */
26
    protected $intRateID = null;
27
28
    /**
29
     * @var string $strRateSpecial
30
     */
31
    protected $strRateSpecial = null;
32
33
    /**
34
     * @var int $intGuestCount
35
     */
36
    protected $intGuestCount = null;
37
38
    /**
39
     * @var string $strChildren
40
     */
41
    protected $strChildren = null;
42
43
    /**
44
     * @var \DateTime $dArrDate
45
     */
46
    protected $dArrDate = null;
47
48
    /**
49
     * @var \DateTime $dDepDate
50
     */
51
    protected $dDepDate = null;
52
53
    /**
54
     * @var string $strAttributes
55
     */
56
    protected $strAttributes = null;
57
58
    /**
59
     * @var string $strLocations
60
     */
61
    protected $strLocations = null;
62
63
    /**
64
     * @var dstElements $dstElements
65
     */
66
    protected $dstElements = null;
67
68
    /**
69
     * @var int $intRoomQty
70
     */
71
    protected $intRoomQty = null;
72
73
    /**
74
     * @var boolean $IsInsuranceAccepted
75
     */
76
    protected $IsInsuranceAccepted = null;
77
78
    /**
79
     * @var string $strAttributeGroupings
80
     */
81
    protected $strAttributeGroupings = null;
82
83
    /**
84
     * @var string $strLocationsGroupings
85
     */
86
    protected $strLocationsGroupings = null;
87
88
    /**
89
     * @var int $ID_Room
90
     */
91
    protected $ID_Room = null;
92
93
    /**
94
     * @var int $ID_Building
95
     */
96
    protected $ID_Building = null;
97
98
    /**
99
     * @var int $intBusinessSourceID
100
     */
101
    protected $intBusinessSourceID = null;
102
103
    /**
104
     * @param int $intGUID
105
     * @param string $strISOLanguage
106
     * @param int $intRoomType
107
     * @param int $intRateID
108
     * @param string $strRateSpecial
109
     * @param int $intGuestCount
110
     * @param string $strChildren
111
     * @param \DateTime $dArrDate
112
     * @param \DateTime $dDepDate
113
     * @param string $strAttributes
114
     * @param string $strLocations
115
     * @param dstElements $dstElements
116
     * @param int $intRoomQty
117
     * @param boolean $IsInsuranceAccepted
118
     * @param string $strAttributeGroupings
119
     * @param string $strLocationsGroupings
120
     * @param int $ID_Room
121
     * @param int $ID_Building
122
     * @param int $intBusinessSourceID
123
     */
124
    public function __construct($intGUID, $strISOLanguage, $intRoomType, $intRateID, $strRateSpecial, $intGuestCount, $strChildren, \DateTime $dArrDate, \DateTime $dDepDate, $strAttributes, $strLocations, $dstElements, $intRoomQty, $IsInsuranceAccepted, $strAttributeGroupings, $strLocationsGroupings, $ID_Room, $ID_Building, $intBusinessSourceID)
125
    {
126
        $this->intGUID = $intGUID;
127
        $this->strISOLanguage = $strISOLanguage;
128
        $this->intRoomType = $intRoomType;
129
        $this->intRateID = $intRateID;
130
        $this->strRateSpecial = $strRateSpecial;
131
        $this->intGuestCount = $intGuestCount;
132
        $this->strChildren = $strChildren;
133
        $this->dArrDate = $dArrDate->format('Y-m-d');
0 ignored issues
show
Documentation Bug introduced by
It seems like $dArrDate->format('Y-m-d') of type string is incompatible with the declared type object<DateTime> of property $dArrDate.

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...
134
        $this->dDepDate = $dDepDate->format('Y-m-d');
0 ignored issues
show
Documentation Bug introduced by
It seems like $dDepDate->format('Y-m-d') of type string is incompatible with the declared type object<DateTime> of property $dDepDate.

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...
135
        $this->strAttributes = $strAttributes;
136
        $this->strLocations = $strLocations;
137
        $this->dstElements = $dstElements;
138
        $this->intRoomQty = $intRoomQty;
139
        $this->IsInsuranceAccepted = $IsInsuranceAccepted;
140
        $this->strAttributeGroupings = $strAttributeGroupings;
141
        $this->strLocationsGroupings = $strLocationsGroupings;
142
        $this->ID_Room = $ID_Room;
143
        $this->ID_Building = $ID_Building;
144
        $this->intBusinessSourceID = $intBusinessSourceID;
145
    }
146
147
    /**
148
     * @return int
149
     */
150
    public function getIntGUID()
151
    {
152
        return $this->intGUID;
153
    }
154
155
    /**
156
     * @param int $intGUID
157
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
158
     */
159
    public function setIntGUID($intGUID)
160
    {
161
        $this->intGUID = $intGUID;
162
        return $this;
163
    }
164
165
    /**
166
     * @return string
167
     */
168
    public function getStrISOLanguage()
169
    {
170
        return $this->strISOLanguage;
171
    }
172
173
    /**
174
     * @param string $strISOLanguage
175
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
176
     */
177
    public function setStrISOLanguage($strISOLanguage)
178
    {
179
        $this->strISOLanguage = $strISOLanguage;
180
        return $this;
181
    }
182
183
    /**
184
     * @return int
185
     */
186
    public function getIntRoomType()
187
    {
188
        return $this->intRoomType;
189
    }
190
191
    /**
192
     * @param int $intRoomType
193
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
194
     */
195
    public function setIntRoomType($intRoomType)
196
    {
197
        $this->intRoomType = $intRoomType;
198
        return $this;
199
    }
200
201
    /**
202
     * @return int
203
     */
204
    public function getIntRateID()
205
    {
206
        return $this->intRateID;
207
    }
208
209
    /**
210
     * @param int $intRateID
211
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
212
     */
213
    public function setIntRateID($intRateID)
214
    {
215
        $this->intRateID = $intRateID;
216
        return $this;
217
    }
218
219
    /**
220
     * @return string
221
     */
222
    public function getStrRateSpecial()
223
    {
224
        return $this->strRateSpecial;
225
    }
226
227
    /**
228
     * @param string $strRateSpecial
229
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
230
     */
231
    public function setStrRateSpecial($strRateSpecial)
232
    {
233
        $this->strRateSpecial = $strRateSpecial;
234
        return $this;
235
    }
236
237
    /**
238
     * @return int
239
     */
240
    public function getIntGuestCount()
241
    {
242
        return $this->intGuestCount;
243
    }
244
245
    /**
246
     * @param int $intGuestCount
247
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
248
     */
249
    public function setIntGuestCount($intGuestCount)
250
    {
251
        $this->intGuestCount = $intGuestCount;
252
        return $this;
253
    }
254
255
    /**
256
     * @return string
257
     */
258
    public function getStrChildren()
259
    {
260
        return $this->strChildren;
261
    }
262
263
    /**
264
     * @param string $strChildren
265
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
266
     */
267
    public function setStrChildren($strChildren)
268
    {
269
        $this->strChildren = $strChildren;
270
        return $this;
271
    }
272
273
    /**
274
     * @return \DateTime
275
     */
276
    public function getDArrDate()
277
    {
278
        if ($this->dArrDate == null) {
279
            return null;
280
        } else {
281
            try {
282
                return new \DateTime($this->dArrDate);
283
            } catch (\Exception $e) {
284
                return false;
285
            }
286
        }
287
    }
288
289
    /**
290
     * @param \DateTime $dArrDate
291
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
292
     */
293
    public function setDArrDate(\DateTime $dArrDate)
294
    {
295
        $this->dArrDate = $dArrDate->format('Y-m-d');
0 ignored issues
show
Documentation Bug introduced by
It seems like $dArrDate->format('Y-m-d') of type string is incompatible with the declared type object<DateTime> of property $dArrDate.

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...
296
        return $this;
297
    }
298
299
    /**
300
     * @return \DateTime
301
     */
302
    public function getDDepDate()
303
    {
304
        if ($this->dDepDate == null) {
305
            return null;
306
        } else {
307
            try {
308
                return new \DateTime($this->dDepDate);
309
            } catch (\Exception $e) {
310
                return false;
311
            }
312
        }
313
    }
314
315
    /**
316
     * @param \DateTime $dDepDate
317
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
318
     */
319
    public function setDDepDate(\DateTime $dDepDate)
320
    {
321
        $this->dDepDate = $dDepDate->format('Y-m-d');
0 ignored issues
show
Documentation Bug introduced by
It seems like $dDepDate->format('Y-m-d') of type string is incompatible with the declared type object<DateTime> of property $dDepDate.

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...
322
        return $this;
323
    }
324
325
    /**
326
     * @return string
327
     */
328
    public function getStrAttributes()
329
    {
330
        return $this->strAttributes;
331
    }
332
333
    /**
334
     * @param string $strAttributes
335
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
336
     */
337
    public function setStrAttributes($strAttributes)
338
    {
339
        $this->strAttributes = $strAttributes;
340
        return $this;
341
    }
342
343
    /**
344
     * @return string
345
     */
346
    public function getStrLocations()
347
    {
348
        return $this->strLocations;
349
    }
350
351
    /**
352
     * @param string $strLocations
353
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
354
     */
355
    public function setStrLocations($strLocations)
356
    {
357
        $this->strLocations = $strLocations;
358
        return $this;
359
    }
360
361
    /**
362
     * @return dstElements
363
     */
364
    public function getDstElements()
365
    {
366
        return $this->dstElements;
367
    }
368
369
    /**
370
     * @param dstElements $dstElements
371
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
372
     */
373
    public function setDstElements($dstElements)
374
    {
375
        $this->dstElements = $dstElements;
376
        return $this;
377
    }
378
379
    /**
380
     * @return int
381
     */
382
    public function getIntRoomQty()
383
    {
384
        return $this->intRoomQty;
385
    }
386
387
    /**
388
     * @param int $intRoomQty
389
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
390
     */
391
    public function setIntRoomQty($intRoomQty)
392
    {
393
        $this->intRoomQty = $intRoomQty;
394
        return $this;
395
    }
396
397
    /**
398
     * @return boolean
399
     */
400
    public function getIsInsuranceAccepted()
401
    {
402
        return $this->IsInsuranceAccepted;
403
    }
404
405
    /**
406
     * @param boolean $IsInsuranceAccepted
407
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
408
     */
409
    public function setIsInsuranceAccepted($IsInsuranceAccepted)
410
    {
411
        $this->IsInsuranceAccepted = $IsInsuranceAccepted;
412
        return $this;
413
    }
414
415
    /**
416
     * @return string
417
     */
418
    public function getStrAttributeGroupings()
419
    {
420
        return $this->strAttributeGroupings;
421
    }
422
423
    /**
424
     * @param string $strAttributeGroupings
425
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
426
     */
427
    public function setStrAttributeGroupings($strAttributeGroupings)
428
    {
429
        $this->strAttributeGroupings = $strAttributeGroupings;
430
        return $this;
431
    }
432
433
    /**
434
     * @return string
435
     */
436
    public function getStrLocationsGroupings()
437
    {
438
        return $this->strLocationsGroupings;
439
    }
440
441
    /**
442
     * @param string $strLocationsGroupings
443
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
444
     */
445
    public function setStrLocationsGroupings($strLocationsGroupings)
446
    {
447
        $this->strLocationsGroupings = $strLocationsGroupings;
448
        return $this;
449
    }
450
451
    /**
452
     * @return int
453
     */
454
    public function getID_Room()
455
    {
456
        return $this->ID_Room;
457
    }
458
459
    /**
460
     * @param int $ID_Room
461
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
462
     */
463
    public function setID_Room($ID_Room)
464
    {
465
        $this->ID_Room = $ID_Room;
466
        return $this;
467
    }
468
469
    /**
470
     * @return int
471
     */
472
    public function getID_Building()
473
    {
474
        return $this->ID_Building;
475
    }
476
477
    /**
478
     * @param int $ID_Building
479
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
480
     */
481
    public function setID_Building($ID_Building)
482
    {
483
        $this->ID_Building = $ID_Building;
484
        return $this;
485
    }
486
487
    /**
488
     * @return int
489
     */
490
    public function getIntBusinessSourceID()
491
    {
492
        return $this->intBusinessSourceID;
493
    }
494
495
    /**
496
     * @param int $intBusinessSourceID
497
     * @return \Gueststream\PMS\IQWare\API\GetSingleStayValueForUnitWithBuilding
498
     */
499
    public function setIntBusinessSourceID($intBusinessSourceID)
500
    {
501
        $this->intBusinessSourceID = $intBusinessSourceID;
502
        return $this;
503
    }
504
}
505