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