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;
}
}