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/VatController.php
<?php
namespace App\Vat;

use App\Base\Controller;
use App\Vat\Models\VatScenario;
use App\Vat\Requests\CalculateVatRequest;
use App\Vat\Resources\VatCalculationResource;

class VatController extends Controller
{
    /**
     * Calculates the vat rate amount using a price.
     * For ajax requests only. Used in product section
     *
     * @param CalculateVatRequest $request
     * @return VatCalculationResource
     */
    public function calculateVatRateAmount(CalculateVatRequest $request)
    {
        /** @var VatService $rateService */
        $rateService = new VatService();
        $price = $request->get('price');
        $isIncludingVat = $request->get('isIncludingVat');

        if(!$isIncludingVat) {
            $vatAmount = $rateService->calculateVatRateAmountFromExAmount($price);
            $priceIncVat = $rateService->calculateIncVatRatePrice($price);
            $priceExVat = $price;
        } else {
            $vatAmount = $rateService->calculateVatRateAmountFromIncAmount($price);
            $priceIncVat = $price;
            $priceExVat = $rateService->calculateExVatRatePrice($price);
        }
        $vatPercentage = $rateService->getVatScenario();

        $calculationResource = (new VatCalculationResource())
            ->setPriceExVat($priceExVat)
            ->setPriceIncVat($priceIncVat)
            ->setVatAmount($vatAmount)
            ->setVatPercentage($vatPercentage->percentage);

        return $calculationResource;
    }
}