File: D:/HostingSpaces/SBogers10/shop.komma.nl/app/Discounts/Actions/ModifyPriceAbsolutelyHandler.php
<?php declare(strict_types=1);
namespace App\Discounts\Actions;
use App\Discounts\DiscountableInterface;
use App\Vat\Models\FinancialProperties;
use App\Vat\VatScenarioEnum;
use App\Vat\VatService;
class ModifyPriceAbsolutelyHandler extends AbstractDiscountActionHandler
{
/**
* @param DiscountableInterface $discountable The discountable on which the conditions where met
* @param VatService $vatService
* @param string $description The human readable form of the description of the discount
* @param string $params //Parameters for the action
*
* @return bool
*/
public function apply(DiscountableInterface $discountable, VatService $vatService, string $description, $params): bool
{
$priceInCents = (float) $params;
$financialProperties = new FinancialProperties();
$financialProperties->setPrice($priceInCents);
$financialProperties->setVatScenarioEnum(VatScenarioEnum::high_inc);
$financialProperties = $vatService->calculateVatForModelWithVatScenarioEnum($financialProperties);
$discountable->addDiscountPriceMutation($description, $financialProperties);
return true;
}
}