InstaTax.Core.DomainObjects.TaxSlabs.ComputeTax C# (CSharp) Метод

ComputeTax() публичный Метод

public ComputeTax ( double taxableIncome, User taxPayer ) : double
taxableIncome double
taxPayer User
Результат double
        public double ComputeTax(double taxableIncome, User taxPayer)
        {
            ValidateTaxComponents(taxableIncome, taxPayer);
            var slabsInUse = GetAppropriateTaxSlabs(taxPayer);
            var tax = 0.00;
            foreach (var slab in slabsInUse){
                tax += slab.GetTax(taxableIncome);
                taxableIncome = taxableIncome - slab.SlabValue;
                if (taxableIncome <= 0)
                    break;
            }

            return tax;
        }