InstaTax.Core.TaxSlabs.ComputeTax C# (CSharp) Method

ComputeTax() public method

public ComputeTax ( double taxableIncome, string gender ) : double
taxableIncome double
gender string
return double
        public double ComputeTax(double taxableIncome, string gender)
        {
            var slabInUse = maleTaxSlabs;

            var untaxedSalary = taxableIncome;
            var tax = 0.00;

            if ("F".Equals(gender)){
                slabInUse = femaleTaxSlabs;
            }
            foreach (var slab in slabInUse){
                var slabValue = slab.LimitUpper - slab.LimitLower;

                if (untaxedSalary > slabValue)
                    tax += (slab.PercentTaxable*slabValue)/100.00;
                else{
                    tax += (slab.PercentTaxable*untaxedSalary)/100.00;
                }
                untaxedSalary = untaxedSalary - slabValue;
                if (untaxedSalary <= 0){
                    break;
                }
            }

            return tax;
        }