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/Products/ProductComposite/ProductCompositeResource.php
<?php

namespace App\Products\ProductComposite;

use Illuminate\Http\Resources\Json\Resource;
use Komma\KMS\Globalization\RegionInfo;
use Komma\KMS\Globalization\RegionInfoInterface;

/**
 * Class ProductCompositeResource
 *
 * @mixin ProductComposite
 * @package App\Products\ProductComposite
 */
class ProductCompositeResource extends Resource
{
    /**
     * @var RegionInfo
     */
    private $regionInfo;

    public function __construct($resource)
    {
        $this->regionInfo = app(RegionInfoInterface::class);
        parent::__construct($resource);
    }

    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        return [
            'productableClass' => get_class($this->resource),
            'id' => $this->id,
            'active' => $this->active,
            'translation' => $this->whenLoaded('translation', new ProductCompositeTranslationResource($this->translation)),
            'translations' => ProductCompositeTranslationResource::collection($this->whenLoaded('translations')),
            'displayName' => $this->resource->getDisplayName(),
            'sidebarName' => $this->resource->getSidebarName(),
            'price' => $this->getPrice(),
            'priceInc' => $this->getPrice(),
            'priceEx' => $this->getPriceEx(),
            'vatAmount' => $this->getVatAmount(),
            'priceFormatted' => $this->regionInfo->getNumberFormat()->centsToCurrency($this->price, true, true),
            'priceIncFormatted' => $this->regionInfo->getNumberFormat()->centsToCurrency($this->getPriceInc(), true, true),
            'priceExFormatted' => $this->regionInfo->getNumberFormat()->centsToCurrency($this->getPriceEx(), true, true),
            'vatAmountFormatted' => $this->regionInfo->getNumberFormat()->centsToCurrency($this->getVatAmount(), true, true),
        ];
    }
}