StayValue3::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 21
Code Lines 19

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 21
ccs 0
cts 21
cp 0
rs 9.3142
c 0
b 0
f 0
cc 1
eloc 19
nc 1
nop 18
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 StayValue3
6
{
7
8
    /**
9
     * @var int $ID_Stay
10
     */
11
    protected $ID_Stay = null;
12
13
    /**
14
     * @var int $ID_RoomType
15
     */
16
    protected $ID_RoomType = null;
17
18
    /**
19
     * @var int $ID_RateCode
20
     */
21
    protected $ID_RateCode = null;
22
23
    /**
24
     * @var boolean $Evaluated
25
     */
26
    protected $Evaluated = null;
27
28
    /**
29
     * @var float $TotalStay
30
     */
31
    protected $TotalStay = null;
32
33
    /**
34
     * @var float $TotalRate
35
     */
36
    protected $TotalRate = null;
37
38
    /**
39
     * @var float $TotalOthers
40
     */
41
    protected $TotalOthers = null;
42
43
    /**
44
     * @var float $TotalBase
45
     */
46
    protected $TotalBase = null;
47
48
    /**
49
     * @var float $TotalTaxes
50
     */
51
    protected $TotalTaxes = null;
52
53
    /**
54
     * @var float $TotalRateSpecial
55
     */
56
    protected $TotalRateSpecial = null;
57
58
    /**
59
     * @var float $TotalYeildReference
60
     */
61
    protected $TotalYeildReference = null;
62
63
    /**
64
     * @var float $ResortFeeBeforeTaxes
65
     */
66
    protected $ResortFeeBeforeTaxes = null;
67
68
    /**
69
     * @var boolean $Yielded
70
     */
71
    protected $Yielded = null;
72
73
    /**
74
     * @var boolean $IsOnArrival
75
     */
76
    protected $IsOnArrival = null;
77
78
    /**
79
     * @var boolean $IsOnDeparture
80
     */
81
    protected $IsOnDeparture = null;
82
83
    /**
84
     * @var boolean $IsFixedLength
85
     */
86
    protected $IsFixedLength = null;
87
88
    /**
89
     * @var int $MinimumNights
90
     */
91
    protected $MinimumNights = null;
92
93
    /**
94
     * @var \DateTime $YieldDate
95
     */
96
    protected $YieldDate = null;
97
98
    /**
99
     * @var ArrayOfStayByNightValue $StayDailyValuesArray
100
     */
101
    protected $StayDailyValuesArray = null;
102
103
    /**
104
     * @var ArrayOfSBDSummary $SingleStayValue
105
     */
106
    protected $SingleStayValue = null;
107
108
    /**
109
     * @var ArrayOfAvailableSuite $AvailableSuites
110
     */
111
    protected $AvailableSuites = null;
112
113
    /**
114
     * @var ArrayOfAvailableRoom $AvailableRooms
115
     */
116
    protected $AvailableRooms = null;
117
118
    /**
119
     * @var ArrayOfSpecialData $SpecialDatas
120
     */
121
    protected $SpecialDatas = null;
122
123
    /**
124
     * @param int $ID_Stay
125
     * @param int $ID_RoomType
126
     * @param int $ID_RateCode
127
     * @param boolean $Evaluated
128
     * @param float $TotalStay
129
     * @param float $TotalRate
130
     * @param float $TotalOthers
131
     * @param float $TotalBase
132
     * @param float $TotalTaxes
133
     * @param float $TotalRateSpecial
134
     * @param float $TotalYeildReference
135
     * @param float $ResortFeeBeforeTaxes
136
     * @param boolean $Yielded
137
     * @param boolean $IsOnArrival
138
     * @param boolean $IsOnDeparture
139
     * @param boolean $IsFixedLength
140
     * @param int $MinimumNights
141
     * @param \DateTime $YieldDate
142
     */
143
    public function __construct($ID_Stay, $ID_RoomType, $ID_RateCode, $Evaluated, $TotalStay, $TotalRate, $TotalOthers, $TotalBase, $TotalTaxes, $TotalRateSpecial, $TotalYeildReference, $ResortFeeBeforeTaxes, $Yielded, $IsOnArrival, $IsOnDeparture, $IsFixedLength, $MinimumNights, \DateTime $YieldDate)
144
    {
145
        $this->ID_Stay = $ID_Stay;
146
        $this->ID_RoomType = $ID_RoomType;
147
        $this->ID_RateCode = $ID_RateCode;
148
        $this->Evaluated = $Evaluated;
149
        $this->TotalStay = $TotalStay;
150
        $this->TotalRate = $TotalRate;
151
        $this->TotalOthers = $TotalOthers;
152
        $this->TotalBase = $TotalBase;
153
        $this->TotalTaxes = $TotalTaxes;
154
        $this->TotalRateSpecial = $TotalRateSpecial;
155
        $this->TotalYeildReference = $TotalYeildReference;
156
        $this->ResortFeeBeforeTaxes = $ResortFeeBeforeTaxes;
157
        $this->Yielded = $Yielded;
158
        $this->IsOnArrival = $IsOnArrival;
159
        $this->IsOnDeparture = $IsOnDeparture;
160
        $this->IsFixedLength = $IsFixedLength;
161
        $this->MinimumNights = $MinimumNights;
162
        $this->YieldDate = $YieldDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $YieldDate->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $YieldDate.

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...
163
    }
164
165
    /**
166
     * @return int
167
     */
168
    public function getID_Stay()
169
    {
170
        return $this->ID_Stay;
171
    }
172
173
    /**
174
     * @param int $ID_Stay
175
     * @return \Gueststream\PMS\IQWare\API\StayValue3
176
     */
177
    public function setID_Stay($ID_Stay)
178
    {
179
        $this->ID_Stay = $ID_Stay;
180
        return $this;
181
    }
182
183
    /**
184
     * @return int
185
     */
186
    public function getID_RoomType()
187
    {
188
        return $this->ID_RoomType;
189
    }
190
191
    /**
192
     * @param int $ID_RoomType
193
     * @return \Gueststream\PMS\IQWare\API\StayValue3
194
     */
195
    public function setID_RoomType($ID_RoomType)
196
    {
197
        $this->ID_RoomType = $ID_RoomType;
198
        return $this;
199
    }
200
201
    /**
202
     * @return int
203
     */
204
    public function getID_RateCode()
205
    {
206
        return $this->ID_RateCode;
207
    }
208
209
    /**
210
     * @param int $ID_RateCode
211
     * @return \Gueststream\PMS\IQWare\API\StayValue3
212
     */
213
    public function setID_RateCode($ID_RateCode)
214
    {
215
        $this->ID_RateCode = $ID_RateCode;
216
        return $this;
217
    }
218
219
    /**
220
     * @return boolean
221
     */
222
    public function getEvaluated()
223
    {
224
        return $this->Evaluated;
225
    }
226
227
    /**
228
     * @param boolean $Evaluated
229
     * @return \Gueststream\PMS\IQWare\API\StayValue3
230
     */
231
    public function setEvaluated($Evaluated)
232
    {
233
        $this->Evaluated = $Evaluated;
234
        return $this;
235
    }
236
237
    /**
238
     * @return float
239
     */
240
    public function getTotalStay()
241
    {
242
        return $this->TotalStay;
243
    }
244
245
    /**
246
     * @param float $TotalStay
247
     * @return \Gueststream\PMS\IQWare\API\StayValue3
248
     */
249
    public function setTotalStay($TotalStay)
250
    {
251
        $this->TotalStay = $TotalStay;
252
        return $this;
253
    }
254
255
    /**
256
     * @return float
257
     */
258
    public function getTotalRate()
259
    {
260
        return $this->TotalRate;
261
    }
262
263
    /**
264
     * @param float $TotalRate
265
     * @return \Gueststream\PMS\IQWare\API\StayValue3
266
     */
267
    public function setTotalRate($TotalRate)
268
    {
269
        $this->TotalRate = $TotalRate;
270
        return $this;
271
    }
272
273
    /**
274
     * @return float
275
     */
276
    public function getTotalOthers()
277
    {
278
        return $this->TotalOthers;
279
    }
280
281
    /**
282
     * @param float $TotalOthers
283
     * @return \Gueststream\PMS\IQWare\API\StayValue3
284
     */
285
    public function setTotalOthers($TotalOthers)
286
    {
287
        $this->TotalOthers = $TotalOthers;
288
        return $this;
289
    }
290
291
    /**
292
     * @return float
293
     */
294
    public function getTotalBase()
295
    {
296
        return $this->TotalBase;
297
    }
298
299
    /**
300
     * @param float $TotalBase
301
     * @return \Gueststream\PMS\IQWare\API\StayValue3
302
     */
303
    public function setTotalBase($TotalBase)
304
    {
305
        $this->TotalBase = $TotalBase;
306
        return $this;
307
    }
308
309
    /**
310
     * @return float
311
     */
312
    public function getTotalTaxes()
313
    {
314
        return $this->TotalTaxes;
315
    }
316
317
    /**
318
     * @param float $TotalTaxes
319
     * @return \Gueststream\PMS\IQWare\API\StayValue3
320
     */
321
    public function setTotalTaxes($TotalTaxes)
322
    {
323
        $this->TotalTaxes = $TotalTaxes;
324
        return $this;
325
    }
326
327
    /**
328
     * @return float
329
     */
330
    public function getTotalRateSpecial()
331
    {
332
        return $this->TotalRateSpecial;
333
    }
334
335
    /**
336
     * @param float $TotalRateSpecial
337
     * @return \Gueststream\PMS\IQWare\API\StayValue3
338
     */
339
    public function setTotalRateSpecial($TotalRateSpecial)
340
    {
341
        $this->TotalRateSpecial = $TotalRateSpecial;
342
        return $this;
343
    }
344
345
    /**
346
     * @return float
347
     */
348
    public function getTotalYeildReference()
349
    {
350
        return $this->TotalYeildReference;
351
    }
352
353
    /**
354
     * @param float $TotalYeildReference
355
     * @return \Gueststream\PMS\IQWare\API\StayValue3
356
     */
357
    public function setTotalYeildReference($TotalYeildReference)
358
    {
359
        $this->TotalYeildReference = $TotalYeildReference;
360
        return $this;
361
    }
362
363
    /**
364
     * @return float
365
     */
366
    public function getResortFeeBeforeTaxes()
367
    {
368
        return $this->ResortFeeBeforeTaxes;
369
    }
370
371
    /**
372
     * @param float $ResortFeeBeforeTaxes
373
     * @return \Gueststream\PMS\IQWare\API\StayValue3
374
     */
375
    public function setResortFeeBeforeTaxes($ResortFeeBeforeTaxes)
376
    {
377
        $this->ResortFeeBeforeTaxes = $ResortFeeBeforeTaxes;
378
        return $this;
379
    }
380
381
    /**
382
     * @return boolean
383
     */
384
    public function getYielded()
385
    {
386
        return $this->Yielded;
387
    }
388
389
    /**
390
     * @param boolean $Yielded
391
     * @return \Gueststream\PMS\IQWare\API\StayValue3
392
     */
393
    public function setYielded($Yielded)
394
    {
395
        $this->Yielded = $Yielded;
396
        return $this;
397
    }
398
399
    /**
400
     * @return boolean
401
     */
402
    public function getIsOnArrival()
403
    {
404
        return $this->IsOnArrival;
405
    }
406
407
    /**
408
     * @param boolean $IsOnArrival
409
     * @return \Gueststream\PMS\IQWare\API\StayValue3
410
     */
411
    public function setIsOnArrival($IsOnArrival)
412
    {
413
        $this->IsOnArrival = $IsOnArrival;
414
        return $this;
415
    }
416
417
    /**
418
     * @return boolean
419
     */
420
    public function getIsOnDeparture()
421
    {
422
        return $this->IsOnDeparture;
423
    }
424
425
    /**
426
     * @param boolean $IsOnDeparture
427
     * @return \Gueststream\PMS\IQWare\API\StayValue3
428
     */
429
    public function setIsOnDeparture($IsOnDeparture)
430
    {
431
        $this->IsOnDeparture = $IsOnDeparture;
432
        return $this;
433
    }
434
435
    /**
436
     * @return boolean
437
     */
438
    public function getIsFixedLength()
439
    {
440
        return $this->IsFixedLength;
441
    }
442
443
    /**
444
     * @param boolean $IsFixedLength
445
     * @return \Gueststream\PMS\IQWare\API\StayValue3
446
     */
447
    public function setIsFixedLength($IsFixedLength)
448
    {
449
        $this->IsFixedLength = $IsFixedLength;
450
        return $this;
451
    }
452
453
    /**
454
     * @return int
455
     */
456
    public function getMinimumNights()
457
    {
458
        return $this->MinimumNights;
459
    }
460
461
    /**
462
     * @param int $MinimumNights
463
     * @return \Gueststream\PMS\IQWare\API\StayValue3
464
     */
465
    public function setMinimumNights($MinimumNights)
466
    {
467
        $this->MinimumNights = $MinimumNights;
468
        return $this;
469
    }
470
471
    /**
472
     * @return \DateTime
473
     */
474
    public function getYieldDate()
475
    {
476
        if ($this->YieldDate == null) {
477
            return null;
478
        } else {
479
            try {
480
                return new \DateTime($this->YieldDate);
481
            } catch (\Exception $e) {
482
                return false;
483
            }
484
        }
485
    }
486
487
    /**
488
     * @param \DateTime $YieldDate
489
     * @return \Gueststream\PMS\IQWare\API\StayValue3
490
     */
491
    public function setYieldDate(\DateTime $YieldDate)
492
    {
493
        $this->YieldDate = $YieldDate->format(\DateTime::ATOM);
0 ignored issues
show
Documentation Bug introduced by
It seems like $YieldDate->format(\DateTime::ATOM) of type string is incompatible with the declared type object<DateTime> of property $YieldDate.

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...
494
        return $this;
495
    }
496
497
    /**
498
     * @return ArrayOfStayByNightValue
499
     */
500
    public function getStayDailyValuesArray()
501
    {
502
        return $this->StayDailyValuesArray;
503
    }
504
505
    /**
506
     * @param ArrayOfStayByNightValue $StayDailyValuesArray
507
     * @return \Gueststream\PMS\IQWare\API\StayValue3
508
     */
509
    public function setStayDailyValuesArray($StayDailyValuesArray)
510
    {
511
        $this->StayDailyValuesArray = $StayDailyValuesArray;
512
        return $this;
513
    }
514
515
    /**
516
     * @return ArrayOfSBDSummary
517
     */
518
    public function getSingleStayValue()
519
    {
520
        return $this->SingleStayValue;
521
    }
522
523
    /**
524
     * @param ArrayOfSBDSummary $SingleStayValue
525
     * @return \Gueststream\PMS\IQWare\API\StayValue3
526
     */
527
    public function setSingleStayValue($SingleStayValue)
528
    {
529
        $this->SingleStayValue = $SingleStayValue;
530
        return $this;
531
    }
532
533
    /**
534
     * @return ArrayOfAvailableSuite
535
     */
536
    public function getAvailableSuites()
537
    {
538
        return $this->AvailableSuites;
539
    }
540
541
    /**
542
     * @param ArrayOfAvailableSuite $AvailableSuites
543
     * @return \Gueststream\PMS\IQWare\API\StayValue3
544
     */
545
    public function setAvailableSuites($AvailableSuites)
546
    {
547
        $this->AvailableSuites = $AvailableSuites;
548
        return $this;
549
    }
550
551
    /**
552
     * @return ArrayOfAvailableRoom
553
     */
554
    public function getAvailableRooms()
555
    {
556
        return $this->AvailableRooms;
557
    }
558
559
    /**
560
     * @param ArrayOfAvailableRoom $AvailableRooms
561
     * @return \Gueststream\PMS\IQWare\API\StayValue3
562
     */
563
    public function setAvailableRooms($AvailableRooms)
564
    {
565
        $this->AvailableRooms = $AvailableRooms;
566
        return $this;
567
    }
568
569
    /**
570
     * @return ArrayOfSpecialData
571
     */
572
    public function getSpecialDatas()
573
    {
574
        return $this->SpecialDatas;
575
    }
576
577
    /**
578
     * @param ArrayOfSpecialData $SpecialDatas
579
     * @return \Gueststream\PMS\IQWare\API\StayValue3
580
     */
581
    public function setSpecialDatas($SpecialDatas)
582
    {
583
        $this->SpecialDatas = $SpecialDatas;
584
        return $this;
585
    }
586
}
587