getRateRoomsBackToBack::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 16
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 16
ccs 0
cts 16
cp 0
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 14
nc 1
nop 13
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 getRateRoomsBackToBack
6
{
7
8
    /**
9
     * @var int $intGUID
10
     */
11
    protected $intGUID = null;
12
13
    /**
14
     * @var \DateTime $dtArrivalDate
15
     */
16
    protected $dtArrivalDate = null;
17
18
    /**
19
     * @var \DateTime $dtDepartureDate
20
     */
21
    protected $dtDepartureDate = null;
22
23
    /**
24
     * @var int $intGuestCount
25
     */
26
    protected $intGuestCount = null;
27
28
    /**
29
     * @var int $intRateCodeID
30
     */
31
    protected $intRateCodeID = null;
32
33
    /**
34
     * @var string $strISOLanguage
35
     */
36
    protected $strISOLanguage = null;
37
38
    /**
39
     * @var string $strChildren
40
     */
41
    protected $strChildren = null;
42
43
    /**
44
     * @var string $strAttributes
45
     */
46
    protected $strAttributes = null;
47
48
    /**
49
     * @var string $strLocations
50
     */
51
    protected $strLocations = null;
52
53
    /**
54
     * @var int $intRoomQty
55
     */
56
    protected $intRoomQty = null;
57
58
    /**
59
     * @var string $strAttributeGroupings
60
     */
61
    protected $strAttributeGroupings = null;
62
63
    /**
64
     * @var string $strLocationsGroupings
65
     */
66
    protected $strLocationsGroupings = null;
67
68
    /**
69
     * @var IAB2BMode $BackToBackMode
70
     */
71
    protected $BackToBackMode = null;
72
73
    /**
74
     * @param int $intGUID
75
     * @param \DateTime $dtArrivalDate
76
     * @param \DateTime $dtDepartureDate
77
     * @param int $intGuestCount
78
     * @param int $intRateCodeID
79
     * @param string $strISOLanguage
80
     * @param string $strChildren
81
     * @param string $strAttributes
82
     * @param string $strLocations
83
     * @param int $intRoomQty
84
     * @param string $strAttributeGroupings
85
     * @param string $strLocationsGroupings
86
     * @param IAB2BMode $BackToBackMode
87
     */
88
    public function __construct($intGUID, \DateTime $dtArrivalDate, \DateTime $dtDepartureDate, $intGuestCount, $intRateCodeID, $strISOLanguage, $strChildren, $strAttributes, $strLocations, $intRoomQty, $strAttributeGroupings, $strLocationsGroupings, $BackToBackMode)
89
    {
90
        $this->intGUID = $intGUID;
91
        $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...
92
        $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...
93
        $this->intGuestCount = $intGuestCount;
94
        $this->intRateCodeID = $intRateCodeID;
95
        $this->strISOLanguage = $strISOLanguage;
96
        $this->strChildren = $strChildren;
97
        $this->strAttributes = $strAttributes;
98
        $this->strLocations = $strLocations;
99
        $this->intRoomQty = $intRoomQty;
100
        $this->strAttributeGroupings = $strAttributeGroupings;
101
        $this->strLocationsGroupings = $strLocationsGroupings;
102
        $this->BackToBackMode = $BackToBackMode;
103
    }
104
105
    /**
106
     * @return int
107
     */
108
    public function getIntGUID()
109
    {
110
        return $this->intGUID;
111
    }
112
113
    /**
114
     * @param int $intGUID
115
     * @return \Gueststream\PMS\IQWare\API\getRateRoomsBackToBack
116
     */
117
    public function setIntGUID($intGUID)
118
    {
119
        $this->intGUID = $intGUID;
120
        return $this;
121
    }
122
123
    /**
124
     * @return \DateTime
125
     */
126
    public function getDtArrivalDate()
127
    {
128
        if ($this->dtArrivalDate == null) {
129
            return null;
130
        } else {
131
            try {
132
                return new \DateTime($this->dtArrivalDate);
133
            } catch (\Exception $e) {
134
                return false;
135
            }
136
        }
137
    }
138
139
    /**
140
     * @param \DateTime $dtArrivalDate
141
     * @return \Gueststream\PMS\IQWare\API\getRateRoomsBackToBack
142
     */
143
    public function setDtArrivalDate(\DateTime $dtArrivalDate)
144
    {
145
        $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...
146
        return $this;
147
    }
148
149
    /**
150
     * @return \DateTime
151
     */
152
    public function getDtDepartureDate()
153
    {
154
        if ($this->dtDepartureDate == null) {
155
            return null;
156
        } else {
157
            try {
158
                return new \DateTime($this->dtDepartureDate);
159
            } catch (\Exception $e) {
160
                return false;
161
            }
162
        }
163
    }
164
165
    /**
166
     * @param \DateTime $dtDepartureDate
167
     * @return \Gueststream\PMS\IQWare\API\getRateRoomsBackToBack
168
     */
169
    public function setDtDepartureDate(\DateTime $dtDepartureDate)
170
    {
171
        $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...
172
        return $this;
173
    }
174
175
    /**
176
     * @return int
177
     */
178
    public function getIntGuestCount()
179
    {
180
        return $this->intGuestCount;
181
    }
182
183
    /**
184
     * @param int $intGuestCount
185
     * @return \Gueststream\PMS\IQWare\API\getRateRoomsBackToBack
186
     */
187
    public function setIntGuestCount($intGuestCount)
188
    {
189
        $this->intGuestCount = $intGuestCount;
190
        return $this;
191
    }
192
193
    /**
194
     * @return int
195
     */
196
    public function getIntRateCodeID()
197
    {
198
        return $this->intRateCodeID;
199
    }
200
201
    /**
202
     * @param int $intRateCodeID
203
     * @return \Gueststream\PMS\IQWare\API\getRateRoomsBackToBack
204
     */
205
    public function setIntRateCodeID($intRateCodeID)
206
    {
207
        $this->intRateCodeID = $intRateCodeID;
208
        return $this;
209
    }
210
211
    /**
212
     * @return string
213
     */
214
    public function getStrISOLanguage()
215
    {
216
        return $this->strISOLanguage;
217
    }
218
219
    /**
220
     * @param string $strISOLanguage
221
     * @return \Gueststream\PMS\IQWare\API\getRateRoomsBackToBack
222
     */
223
    public function setStrISOLanguage($strISOLanguage)
224
    {
225
        $this->strISOLanguage = $strISOLanguage;
226
        return $this;
227
    }
228
229
    /**
230
     * @return string
231
     */
232
    public function getStrChildren()
233
    {
234
        return $this->strChildren;
235
    }
236
237
    /**
238
     * @param string $strChildren
239
     * @return \Gueststream\PMS\IQWare\API\getRateRoomsBackToBack
240
     */
241
    public function setStrChildren($strChildren)
242
    {
243
        $this->strChildren = $strChildren;
244
        return $this;
245
    }
246
247
    /**
248
     * @return string
249
     */
250
    public function getStrAttributes()
251
    {
252
        return $this->strAttributes;
253
    }
254
255
    /**
256
     * @param string $strAttributes
257
     * @return \Gueststream\PMS\IQWare\API\getRateRoomsBackToBack
258
     */
259
    public function setStrAttributes($strAttributes)
260
    {
261
        $this->strAttributes = $strAttributes;
262
        return $this;
263
    }
264
265
    /**
266
     * @return string
267
     */
268
    public function getStrLocations()
269
    {
270
        return $this->strLocations;
271
    }
272
273
    /**
274
     * @param string $strLocations
275
     * @return \Gueststream\PMS\IQWare\API\getRateRoomsBackToBack
276
     */
277
    public function setStrLocations($strLocations)
278
    {
279
        $this->strLocations = $strLocations;
280
        return $this;
281
    }
282
283
    /**
284
     * @return int
285
     */
286
    public function getIntRoomQty()
287
    {
288
        return $this->intRoomQty;
289
    }
290
291
    /**
292
     * @param int $intRoomQty
293
     * @return \Gueststream\PMS\IQWare\API\getRateRoomsBackToBack
294
     */
295
    public function setIntRoomQty($intRoomQty)
296
    {
297
        $this->intRoomQty = $intRoomQty;
298
        return $this;
299
    }
300
301
    /**
302
     * @return string
303
     */
304
    public function getStrAttributeGroupings()
305
    {
306
        return $this->strAttributeGroupings;
307
    }
308
309
    /**
310
     * @param string $strAttributeGroupings
311
     * @return \Gueststream\PMS\IQWare\API\getRateRoomsBackToBack
312
     */
313
    public function setStrAttributeGroupings($strAttributeGroupings)
314
    {
315
        $this->strAttributeGroupings = $strAttributeGroupings;
316
        return $this;
317
    }
318
319
    /**
320
     * @return string
321
     */
322
    public function getStrLocationsGroupings()
323
    {
324
        return $this->strLocationsGroupings;
325
    }
326
327
    /**
328
     * @param string $strLocationsGroupings
329
     * @return \Gueststream\PMS\IQWare\API\getRateRoomsBackToBack
330
     */
331
    public function setStrLocationsGroupings($strLocationsGroupings)
332
    {
333
        $this->strLocationsGroupings = $strLocationsGroupings;
334
        return $this;
335
    }
336
337
    /**
338
     * @return IAB2BMode
339
     */
340
    public function getBackToBackMode()
341
    {
342
        return $this->BackToBackMode;
343
    }
344
345
    /**
346
     * @param IAB2BMode $BackToBackMode
347
     * @return \Gueststream\PMS\IQWare\API\getRateRoomsBackToBack
348
     */
349
    public function setBackToBackMode($BackToBackMode)
350
    {
351
        $this->BackToBackMode = $BackToBackMode;
352
        return $this;
353
    }
354
}
355