private function isReachedCountryTaxFreeAmount( SalesChannelContext
$context,
CountryEntity
$country,
float
$cartNetAmount = 0,
string
$taxFreeType = CountryDefinition::TYPE_CUSTOMER_TAX_FREE
): bool
{ $countryTaxFreeLimit =
$taxFreeType === CountryDefinition::TYPE_CUSTOMER_TAX_FREE ?
$country->
getCustomerTax() :
$country->
getCompanyTax();
if (!
$countryTaxFreeLimit->
getEnabled()) { return false;
} $countryTaxFreeLimitAmount =
$countryTaxFreeLimit->
getAmount() /
$this->
fetchCurrencyFactor($countryTaxFreeLimit->
getCurrencyId(),
$context);
$currency =
$context->
getCurrency();
$cartNetAmount /=
$this->
fetchCurrencyFactor($currency->
getId(),
$context);
// currency taxFreeAmount === 0.0 mean currency taxFreeFrom is disabled
return $currency->
getTaxFreeFrom() === 0.0 && FloatComparator::
greaterThanOrEquals($cartNetAmount,
$countryTaxFreeLimitAmount);
} private function fetchCurrencyFactor(string
$currencyId, SalesChannelContext
$context): float
{