Invoice   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 67
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 6
eloc 19
dl 0
loc 67
c 0
b 0
f 0
ccs 24
cts 24
cp 1
rs 10

6 Methods

Rating   Name   Duplication   Size   Complexity  
A getDefaultDto() 0 3 1
A getImportRoot() 0 3 1
A getDocumentName() 0 3 1
A addLink() 0 10 1
A getDocumentNamespace() 0 3 1
A addAdvancePaymentItem() 0 10 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace kalanis\Pohoda;
6
7
/**
8
 * @property Invoice\InvoiceDto $data
9
 */
10
class Invoice extends AbstractDocument
11
{
12 8
    public function getImportRoot(): string
13
    {
14 8
        return 'lst:invoice';
15
    }
16
17
    /**
18
     * Add link.
19
     *
20
     * @param Type\Dtos\LinkDto $data
21
     *
22
     * @return $this
23
     */
24 1
    public function addLink(Type\Dtos\LinkDto $data): self
25
    {
26 1
        $link = new Type\Link($this->dependenciesFactory);
27 1
        $link
28 1
            ->setDirectionalVariable($this->useOneDirectionalVariables)
29 1
            ->setResolveOptions($this->resolveOptions)
30 1
            ->setData($data);
31 1
        $this->data->links[] = $link;
32
33 1
        return $this;
34
    }
35
36
    /**
37
     * Add advance payment item.
38
     *
39
     * @param Invoice\AdvancePaymentItemDto $data
40
     *
41
     * @return $this
42
     */
43 1
    public function addAdvancePaymentItem(Invoice\AdvancePaymentItemDto $data): self
44
    {
45 1
        $invoiceDetail = new Invoice\AdvancePaymentItem($this->dependenciesFactory);
46 1
        $invoiceDetail
47 1
            ->setDirectionalVariable($this->useOneDirectionalVariables)
48 1
            ->setResolveOptions($this->resolveOptions)
49 1
            ->setData($data);
50 1
        $this->data->invoiceDetail[] = $invoiceDetail;
51
52 1
        return $this;
53
    }
54
55
    /**
56
     * {@inheritdoc}
57
     */
58 8
    protected function getDocumentNamespace(): string
59
    {
60 8
        return 'inv';
61
    }
62
63
    /**
64
     * {@inheritdoc}
65
     */
66 8
    protected function getDocumentName(): string
67
    {
68 8
        return 'invoice';
69
    }
70
71
    /**
72
     * {@inheritdoc}
73
     */
74 8
    protected function getDefaultDto(): Common\Dtos\AbstractDto
75
    {
76 8
        return new Invoice\InvoiceDto();
77
    }
78
}
79