HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/shop.komma.nl/app/Vat/Models/FinancialProperties.php
<?php declare(strict_types=1);


namespace App\Vat\Models;


use App\Vat\FinancialProperties as FinancialPropertiesTrait;
use App\Vat\HasFinancialPropertiesInterface;
use Illuminate\Contracts\Support\Arrayable;
use Komma\KMS\Globalization\RegionInfoInterface;

class FinancialProperties implements HasFinancialPropertiesInterface, Arrayable
{
    use FinancialPropertiesTrait;

    public string $vat_scenario_enum;
    protected float $price = 0;
    protected $fieldsToFormat = ['price', 'priceInc', 'priceEx', 'vatAmount'];
    private ?RegionInfoInterface $regionInfo;

    public function __construct(array $attributes = [])
    {
        $this->regionInfo = app(RegionInfoInterface::class);
    }

    /**
     * @return string
     */
    public function getVatScenarioEnum(): string
    {
        return $this->vat_scenario_enum;
    }

    /**
     * @param string $vat_scenario_enum
     * @return FinancialProperties
     */
    public function setVatScenarioEnum(string $vat_scenario_enum)
    {
        $this->vat_scenario_enum = $vat_scenario_enum;
        return $this;
    }

    /**
     * @return float
     */
    public function getPrice(): float
    {
        return $this->price;
    }

    /**
     * @param float $price
     * @return FinancialProperties
     */
    public function setPrice(float $price): FinancialProperties
    {
        $this->price = $price;
        return $this;
    }

    public function toArray()
    {
        $baseData = [
            'vatScenarioEnum' => $this->vat_scenario_enum,
            'price' => $this->price,
            'priceInc' => $this->price_inc,
            'priceEx' => $this->price_ex,
            'vatAmount' => $this->vat_amount,
        ];
        return array_merge($baseData, $this->formattedValues($baseData));
    }
}