Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        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;
            }
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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;
            }
        }
Exemplo n.º 5
0
        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);
            }
        }
Exemplo n.º 6
0
        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);
            }
        }
Exemplo n.º 7
0
        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);
            }
        }
Exemplo n.º 8
0
        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);
            }
        }