<?php

namespace Leadlion\SalesOrder\Plugin\Tax\Model;

use Magento\Framework\App\RequestInterface;
use Magento\Tax\Api\Data\QuoteDetailsItemInterface;
use Magento\Tax\Model\Calculation\AbstractCalculator;

/**
 * Class CalculationTaxInPrice
 * @package Mageplaza\EditOrder\Plugin\Tax\Model
 */
class CalculationTaxInPrice
{
    /**
     * @var RequestInterface
     */
    protected $_request;

    /**
     * CalculationTaxInPrice constructor.
     *
     * @param RequestInterface $request
     */
    public function __construct(
        RequestInterface $request
    ) {
        $this->_request = $request;
    }

    /**
     * @param AbstractCalculator $abstractCalculator
     * @param QuoteDetailsItemInterface $item
     * @param $quantity
     * @param bool $round
     *
     * @return array
     */
    public function beforeCalculate(
        AbstractCalculator $abstractCalculator,
        QuoteDetailsItemInterface $item,
        $quantity,
        $round = true
    ) {
        if (str_contains($this->_request->getFullActionName(), 'mpeditorder')) {
            $item->setIsTaxIncluded(true);
        }

        return [$item, $quantity, $round];
    }
}
