public void ApplyTaxRates(IEnumerable <TaxRate> taxRates) { TaxPercentRate = 0m; var shipmentTaxRate = taxRates.FirstOrDefault(x => x.Line.Id != null && x.Line.Id.EqualsInvariant(Id ?? "")); if (shipmentTaxRate == null) { shipmentTaxRate = taxRates.FirstOrDefault(x => x.Line.Code.EqualsInvariant(ShipmentMethodCode) && x.Line.Name.EqualsInvariant(ShipmentMethodOption)); } if (shipmentTaxRate != null && shipmentTaxRate.Rate.Amount > 0) { if (shipmentTaxRate.PercentRate > 0) { TaxPercentRate = shipmentTaxRate.PercentRate; } else { var amount = Total.Amount > 0 ? Total.Amount : Price.Amount; if (amount > 0) { TaxPercentRate = TaxRate.TaxPercentRound(shipmentTaxRate.Rate.Amount / amount); } } TaxDetails = shipmentTaxRate.Line.TaxDetails; } }
public void ApplyTaxRates(IEnumerable <TaxRate> taxRates) { TaxPercentRate = 0m; var lineItemTaxRate = taxRates.FirstOrDefault(x => x.Line.Id != null && x.Line.Id.EqualsInvariant(Id ?? "")); if (lineItemTaxRate == null) { lineItemTaxRate = taxRates.FirstOrDefault(x => x.Line.Code != null && x.Line.Code.EqualsInvariant(Sku ?? "")); } if (lineItemTaxRate != null) { if (lineItemTaxRate.PercentRate > 0) { TaxPercentRate = lineItemTaxRate.PercentRate; } else { var amount = ExtendedPrice.Amount > 0 ? ExtendedPrice.Amount : SalePrice.Amount; if (amount > 0) { TaxPercentRate = TaxRate.TaxPercentRound(lineItemTaxRate.Rate.Amount / amount); } } TaxDetails = lineItemTaxRate.Line.TaxDetails; } }
public void ApplyTaxRates(IEnumerable <TaxRate> taxRates) { var taxRate = taxRates.FirstOrDefault(x => x.Line.Quantity == 0); if (taxRate != null) { if (taxRate.PercentRate > 0) { TaxPercentRate = taxRate.PercentRate; } else { var amount = ActualPrice.Amount > 0 ? ActualPrice.Amount : SalePrice.Amount; if (amount > 0) { TaxPercentRate = TaxRate.TaxPercentRound(taxRate.Rate.Amount / amount); } } TaxDetails = taxRate.Line.TaxDetails; } foreach (var tierPrice in TierPrices) { tierPrice.ApplyTaxRates(taxRates); } }
public void ApplyTaxRates(IEnumerable <TaxRate> taxRates) { TaxPercentRate = 0m; var paymentTaxRate = taxRates.FirstOrDefault(x => x.Line.Id != null && x.Line.Id.EqualsInvariant(Id ?? "")); if (paymentTaxRate == null) { paymentTaxRate = taxRates.FirstOrDefault(x => x.Line.Code.EqualsInvariant(PaymentGatewayCode)); } if (paymentTaxRate != null) { if (paymentTaxRate.PercentRate > 0) { TaxPercentRate = paymentTaxRate.PercentRate; } else { var amount = Total.Amount > 0 ? Total.Amount : Price.Amount; if (amount > 0) { TaxPercentRate = TaxRate.TaxPercentRound(paymentTaxRate.Rate.Amount / amount); } } TaxDetails = paymentTaxRate.Line.TaxDetails; } }
public void ApplyTaxRates(IEnumerable <TaxRate> taxRates) { var shipmentTaxRate = taxRates.FirstOrDefault(x => x.Line.Id != null && x.Line.Id.EqualsInvariant(Id ?? "")); if (shipmentTaxRate == null) { shipmentTaxRate = taxRates.FirstOrDefault(x => x.Line.Code.EqualsInvariant(ShipmentMethodCode) && x.Line.Name.EqualsInvariant(ShipmentMethodOption)); } if (shipmentTaxRate != null && Total.Amount > 0 && shipmentTaxRate.Rate.Amount > 0) { TaxPercentRate = TaxRate.TaxPercentRound(shipmentTaxRate.Rate.Amount / Total.Amount); } }
public void ApplyTaxRates(IEnumerable <TaxRate> taxRates) { var paymentTaxRate = taxRates.FirstOrDefault(x => x.Line.Id != null && x.Line.Id.EqualsInvariant(Id ?? "")); if (paymentTaxRate == null) { paymentTaxRate = taxRates.FirstOrDefault(x => x.Line.Code.EqualsInvariant(PaymentGatewayCode)); } if (paymentTaxRate != null && Total.Amount > 0 && paymentTaxRate.Rate.Amount > 0) { TaxPercentRate = TaxRate.TaxPercentRound(paymentTaxRate.Rate.Amount / Total.Amount); } }
public void ApplyTaxRates(IEnumerable <TaxRate> taxRates) { var lineItemTaxRate = taxRates.FirstOrDefault(x => x.Line.Id != null && x.Line.Id.EqualsInvariant(Id ?? "")); if (lineItemTaxRate == null) { lineItemTaxRate = taxRates.FirstOrDefault(x => x.Line.Code != null && x.Line.Code.EqualsInvariant(Sku ?? "")); } if (lineItemTaxRate != null && ExtendedPrice.Amount > 0 && lineItemTaxRate.Rate.Amount > 0) { TaxPercentRate = TaxRate.TaxPercentRound(lineItemTaxRate.Rate.Amount / ExtendedPrice.Amount); } }
public void ApplyTaxRates(IEnumerable <TaxRate> taxRates) { var taxRate = taxRates.FirstOrDefault(x => x.Line.Quantity == 0); if (taxRate != null && ActualPrice.Amount > 0 && taxRate.Rate.Amount > 0) { TaxPercentRate = TaxRate.TaxPercentRound(taxRate.Rate.Amount / ActualPrice.Amount); } foreach (var tierPrice in TierPrices) { tierPrice.ApplyTaxRates(taxRates); } }