IssuedInvoicePatchModel   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 138
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 1
dl 0
loc 138
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getModelMap() 0 6 1
A getDateMap() 0 10 1
A getEnumMap() 0 7 1
1
<?php
2
3
namespace Fousky\Component\iDoklad\Model\IssuedInvoices;
4
5
use Fousky\Component\iDoklad\LOV\EetResponsibilityEnum;
6
use Fousky\Component\iDoklad\LOV\VatOnPayStatusEnum;
7
use Fousky\Component\iDoklad\Model\iDokladAbstractModel;
8
use Symfony\Component\Validator\Constraints as Assert;
9
10
/**
11
 * @method null|string getAccountNumber()
12
 * @method null|int getBankId()
13
 * @method null|string getBankName()
14
 * @method null|string getBankNumberCode()
15
 * @method null|int getConstantSymbolId()
16
 * @method null|int getCurrencyId()
17
 * @method null|\DateTime getDateOfIssue()
18
 * @method null|\DateTime getDateOfMaturity()
19
 * @method null|\DateTime getDateOfPayment()
20
 * @method null|\DateTime getDateOfTaxing()
21
 * @method null|\DateTime getDateOfVatApplication()
22
 * @method null|string getDescription()
23
 * @method null|float getDiscountPercentage()
24
 * @method null|string getDocumentNumber()
25
 * @method null|int getDocumentSerialNumber()
26
 * @method null|EetResponsibilityEnum getEetResponsibility()
27
 * @method null|float getExchangeRate()
28
 * @method null|float getExchangeRateAmount()
29
 * @method null|string getIban()
30
 * @method null|bool getIsEet()
31
 * @method null|IssuedInvoiceItemApiModelUpdate[] getIssuedInvoiceItems()
32
 * @method null|string getItemsTextPrefix()
33
 * @method null|string getItemsTextSuffix()
34
 * @method null|string getLanguageCode()
35
 * @method null|string getNote()
36
 * @method null|string getOrderNumber()
37
 * @method null|int getPaymentOptionId()
38
 * @method null|int getPurchaserId()
39
 * @method null|string getReportColorValue()
40
 * @method null|string getSwift()
41
 * @method null|string getVariableSymbol()
42
 * @method null|VatOnPayStatusEnum getVatOnPayStatus()
43
 *
44
 * @author Lukáš Brzák <[email protected]>
45
 */
46
class IssuedInvoicePatchModel extends iDokladAbstractModel
47
{
48
    /** @Assert\Type(type="string") */
49
    public $AccountNumber;
50
51
    /** @Assert\Type(type="int") */
52
    public $BankId;
53
54
    /** @Assert\Type(type="string") */
55
    public $BankName;
56
57
    /** @Assert\Type(type="string") */
58
    public $BankNumberCode;
59
60
    /** @Assert\Type(type="int") */
61
    public $ConstantSymbolId;
62
63
    /** @Assert\Type(type="int") */
64
    public $CurrencyId;
65
66
    /** @Assert\DateTime() */
67
    public $DateOfIssue;
68
69
    /** @Assert\DateTime() */
70
    public $DateOfMaturity;
71
72
    /** @Assert\DateTime() */
73
    public $DateOfPayment;
74
75
    /** @Assert\DateTime() */
76
    public $DateOfTaxing;
77
78
    /** @Assert\DateTime() */
79
    public $DateOfVatApplication;
80
81
    /** @Assert\Type(type="string") */
82
    public $Description;
83
84
    /** @Assert\Type(type="float") */
85
    public $DiscountPercentage;
86
87
    /** @Assert\Type(type="string") */
88
    public $DocumentNumber;
89
90
    /** @Assert\Type(type="int") */
91
    public $DocumentSerialNumber;
92
93
    /** @Assert\Type(type="Fousky\Component\iDoklad\LOV\EetResponsibilityEnum") */
94
    public $EetResponsibility;
95
96
    /** @Assert\Type(type="float") */
97
    public $ExchangeRate;
98
99
    /** @Assert\Type(type="float") */
100
    public $ExchangeRateAmount;
101
102
    /** @Assert\Type(type="string") */
103
    public $Iban;
104
105
    /** @Assert\Type(type="bool") */
106
    public $IsEet;
107
108
    /**
109
     * @Assert\Valid(traverse=true)
110
     * @Assert\All(constraints={
111
     *     @Assert\Type(type="Fousky\Component\iDoklad\Model\IssuedInvoices\IssuedInvoiceItemApiModelUpdate")
112
     * })
113
     */
114
    public $IssuedInvoiceItems = [];
115
116
    /** @Assert\Type(type="string") */
117
    public $ItemsTextPrefix;
118
119
    /** @Assert\Type(type="string") */
120
    public $ItemsTextSuffix;
121
122
    /** @Assert\Type(type="string") */
123
    public $LanguageCode;
124
125
    /** @Assert\Type(type="string") */
126
    public $Note;
127
128
    /** @Assert\Type(type="string") */
129
    public $OrderNumber;
130
131
    /** @Assert\Type(type="int") */
132
    public $PaymentOptionId;
133
134
    /** @Assert\Type(type="int") */
135
    public $PurchaserId;
136
137
    /** @Assert\Type(type="string") */
138
    public $ReportColorValue;
139
140
    /** @Assert\Type(type="string") */
141
    public $Swift;
142
143
    /** @Assert\Type(type="string") */
144
    public $VariableSymbol;
145
146
    /** @Assert\Type(type="Fousky\Component\iDoklad\LOV\VatOnPayStatusEnum") */
147
    public $VatOnPayStatus;
148
149
    /**
150
     * @return array
151
     */
152
    public static function getModelMap(): array
153
    {
154
        return [
155
            'IssuedInvoiceItems' => IssuedInvoiceItemApiModelUpdate::class,
156
        ];
157
    }
158
159
    /**
160
     * @return array
161
     */
162
    public static function getDateMap(): array
163
    {
164
        return [
165
            'DateOfIssue',
166
            'DateOfMaturity',
167
            'DateOfPayment',
168
            'DateOfTaxing',
169
            'DateOfVatApplication',
170
        ];
171
    }
172
173
    /**
174
     * @return array
175
     */
176
    public static function getEnumMap(): array
177
    {
178
        return [
179
            'EetResponsibility' => EetResponsibilityEnum::class,
180
            'VatOnPayStatus' => VatOnPayStatusEnum::class,
181
        ];
182
    }
183
}
184