Completed
Push — master ( db402d...7f57a1 )
by Dieter
52:56
created

DisplayNetRemitReport::loadTransaction()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 6
ccs 5
cts 5
cp 1
rs 10
c 0
b 0
f 0
cc 2
nc 2
nop 3
crap 2
1
<?php
2
/**
3
 * amadeus-ws-client
4
 *
5
 * Copyright 2015 Amadeus Benelux NV
6
 *
7
 * Licensed under the Apache License, Version 2.0 (the "License");
8
 * you may not use this file except in compliance with the License.
9
 * You may obtain a copy of the License at
10
 *
11
 * http://www.apache.org/licenses/LICENSE-2.0
12
 *
13
 * Unless required by applicable law or agreed to in writing, software
14
 * distributed under the License is distributed on an "AS IS" BASIS,
15
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
 * See the License for the specific language governing permissions and
17
 * limitations under the License.
18
 *
19
 * @package Amadeus
20
 * @license https://opensource.org/licenses/Apache-2.0 Apache 2.0
21
 */
22
23
namespace Amadeus\Client\Struct\SalesReports;
24
25
use Amadeus\Client\RequestOptions\SalesReportsDisplayNetRemitReportOptions;
26
use Amadeus\Client\Struct\SalesReports\DisplayQueryReport\SalesIndicator;
27
use Amadeus\Client\Struct\SalesReports\DisplayQueryReport\TransactionData;
28
29
/**
30
 * DisplayNetRemitReport
31
 *
32
 * @package Amadeus\Client\Struct\SalesReports
33
 * @author Artem Zakharchenko <[email protected]>
34
 */
35
class DisplayNetRemitReport extends DisplayQueryReport
36
{
37
    /**
38
     * @var DisplayQueryReport\TransactionData[]
39
     */
40
    public $transactionTypeCodeInfo;
41
42
    /**
43
     * @var DisplayQueryReport\SalesIndicator
44
     */
45
    public $documentInfo;
46
47
    /**
48
     * DisplayDailyOrSummarizedReport constructor.
49
     *
50
     * @param SalesReportsDisplayNetRemitReportOptions $options
51
     */
52 16
    public function __construct(SalesReportsDisplayNetRemitReportOptions $options)
53
    {
54 16
        $this->loadRequestOptions($options->requestOptions);
55
56 16
        $this->loadAgencySource($options->agencySourceType, $options->agencyIataNumber, $options->agencyOfficeId);
57
58 16
        $this->loadAgent($options->agentCode);
59
60 16
        $this->loadTransaction(
61 16
            $options->transactionCode,
62 16
            $options->transactionType,
63 16
            $options->transactionIssueIndicator
64 8
        );
65
66 16
        $this->loadValidatingCarrier($options->validatingCarrier);
67
68 16
        $this->loadDateRange($options->startDate, $options->endDate);
69
70 16
        $this->loadDate($options->specificDateType, $options->specificDate);
71
72 16
        $this->loadCurrency($options->currencyType, $options->currency);
73
74 16
        $this->loadFormOfPayment($options->fopType, $options->fopVendor);
75
76 16
        $this->loadDocumentInfo($options->documentInfo);
77 16
    }
78
79
    /**
80
     * @param string|null $code
81
     * @param string|null $type
82
     * @param string|null $issueIndicator
83
     */
84 16
    protected function loadTransaction($code, $type, $issueIndicator)
85
    {
86 16
        if ($this->checkAnyNotEmpty($type, $code, $issueIndicator)) {
87 4
            $this->transactionTypeCodeInfo[] = new TransactionData($type, $code, $issueIndicator);
88 2
        }
89 16
    }
90
91
    /**
92
     * @param string $indicator
93
     */
94 16
    protected function loadDocumentInfo($indicator)
95
    {
96 16
        if (!empty($indicator)) {
97 4
            $this->documentInfo = new SalesIndicator($indicator);
98 2
        }
99 16
    }
100
}
101