Ejemplo n.º 1
0
        public IIncomeTaxDiscountCalculator GetIncomeTaxCalculator(double salary)
        {
            if (salary <= IncomeTax.GetIncomeTax(IncomeTaxRangeTypes.EXEMPT_RANGE).MAX_VALUE)
            {
                return(GetIncomeTaxFactory(IncomeTaxRangeTypes.EXEMPT_RANGE));
            }

            if (salary <= IncomeTax.GetIncomeTax(IncomeTaxRangeTypes.FIRST_RANGE).MAX_VALUE)
            {
                return(GetIncomeTaxFactory(IncomeTaxRangeTypes.FIRST_RANGE));
            }

            if (salary <= IncomeTax.GetIncomeTax(IncomeTaxRangeTypes.SECOND_RANGE).MAX_VALUE)
            {
                return(GetIncomeTaxFactory(IncomeTaxRangeTypes.SECOND_RANGE));
            }

            if (salary <= IncomeTax.GetIncomeTax(IncomeTaxRangeTypes.THIRD_RANGE).MAX_VALUE)
            {
                return(GetIncomeTaxFactory(IncomeTaxRangeTypes.THIRD_RANGE));
            }
            else
            {
                throw new NotImplementedException();
            }
        }
Ejemplo n.º 2
0
 public IncomeTaxExemptRange(IIncomeTaxFirstRange higherIncomeTaxRange) : base(higherIncomeTaxRange, IncomeTax.GetIncomeTax(IncomeTaxRangeTypes.EXEMPT_RANGE))
 {
 }
Ejemplo n.º 3
0
 public IncomeTaxThirdRange() : base(null, IncomeTax.GetIncomeTax(IncomeTaxRangeTypes.THIRD_RANGE))
 {
 }
Ejemplo n.º 4
0
 public IncomeTaxSecondRange(IIncomeTaxThirdRange higherIncomeTaxRange) : base(higherIncomeTaxRange, IncomeTax.GetIncomeTax(IncomeTaxRangeTypes.SECOND_RANGE))
 {
 }
Ejemplo n.º 5
0
 public IncomeTaxExemptRange() : base(IncomeTax.GetIncomeTax(IncomeTaxRangeTypes.EXEMPT_RANGE))
 {
 }
Ejemplo n.º 6
0
 public IncomeTaxSecondRange() : base(IncomeTax.GetIncomeTax(IncomeTaxRangeTypes.SECOND_RANGE))
 {
 }
Ejemplo n.º 7
0
 public IncomeTaxFirstRange(IIncomeTaxSecondRange higherIncomeTaxRange) : base(higherIncomeTaxRange, IncomeTax.GetIncomeTax(IncomeTaxRangeTypes.FIRST_RANGE))
 {
 }
Ejemplo n.º 8
0
 public IncomeTaxFirstRange() : base(IncomeTax.GetIncomeTax(IncomeTaxRangeTypes.FIRST_RANGE))
 {
 }