Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
/**
* This file contains QUI\ERP\Discount\PriceFactor
*/
namespace QUI\ERP\Discount;
use QUI;
/**
* Class PriceFactor
* This pricefactors is used by Handler::DISCOUNT_SCOPE_TOTAL
*
* @package QUI\ERP\Discount
*/
class PriceFactor extends QUI\ERP\Products\Utils\PriceFactor implements QUI\ERP\Products\Interfaces\PriceFactorWithVat
{
/**
* @var string
*/
protected $type = Handler::DISCOUNT_PRICEFACTOR_TYPE;
/**
* @var string|null
*/
protected $vat = null;
/**
* PriceFactor constructor.
* @param array $params
*/
public function __construct(array $params)
{
parent::__construct($params);
if (isset($params['vat'])) {
$this->vat = $params['vat'];
}
}
/**
* Return the vat type of the discount price factor
*
* @return QUI\ERP\Tax\TaxType
*/
public function getVatType()
{
if (!$this->vat) {
return QUI\ERP\Tax\Utils::getShopTaxType();
}
$standardTax = explode(':', $this->vat);
if (!isset($standardTax[1])) {
return QUI\ERP\Tax\Utils::getShopTaxType();
}
try {
$Handler = new QUI\ERP\Tax\Handler();
return $Handler->getTaxType($standardTax[1]);
} catch (QUI\Exception $Exception) {
}
return QUI\ERP\Tax\Utils::getShopTaxType();
}
}