Ejemplo n.º 1
0
 internal virtual Decimal GetStandardDeduction(FilingStatus filingStatus)
 {
     return
         (StandardDeductions
          .Where(d => d.FilingStatus == filingStatus)
          .Select(d => d.Amount)
          .Single());
 }
Ejemplo n.º 2
0
        internal virtual Decimal GetStandardDeduction(FilingStatus filingStatus, Decimal annualWages)
        {
            var standardDeduction = StandardDeductions
                                    .Where(x => x.FilingStatus == filingStatus)
                                    .First(x => x.FloorAmount <= annualWages && x.CeilingAmount > annualWages);

            if (standardDeduction.CalcValue > 0.00m)
            {
                return(1 - (Math.Round(((annualWages - standardDeduction.FloorAmount) / standardDeduction.CalcValue), 4)) * standardDeduction.Amount);
            }
            else
            {
                return(standardDeduction.Amount);
            }
        }
Ejemplo n.º 3
0
        internal virtual Decimal GetStandardDeduction(FilingStatus filingStatus, decimal grossWages)
        {
            var sd =
                StandardDeductions
                .Where(d => d.FilingStatus == filingStatus)
                .FirstOrDefault(d => d.Floor <= grossWages && d.Ceiling > grossWages);

            if (sd.Increment > 0.00m)
            {
                return(sd.Amount - ((int)((grossWages - sd.Floor) / sd.IncrementDivisor) * sd.Increment));
            }
            else
            {
                return(sd.Amount);
            }
        }
Ejemplo n.º 4
0
        protected virtual Decimal GetStandardDeduction(FilingStatus filingStatus, decimal wages)
        {
            var deduction =
                StandardDeductions
                .Where(d => d.FilingStatus == filingStatus)
                .Where(d => d.StartingAmount <= wages && wages < d.MaximumWage)
                .Select(d => d)
                .Single();

            if (deduction.Percentage > Decimal.Zero)
            {
                return(deduction.Amount - (deduction.Percentage * (wages - deduction.StartingAmount)));
            }
            else
            {
                return(deduction.Amount);
            }
        }
Ejemplo n.º 5
0
 protected virtual Decimal GetStandardDeduction(FilingStatus filingStatus, int personalAllowances, decimal annualWage)
 {
     if (filingStatus == FilingStatus.Single)
     {
         return(StandardDeductions
                .Where(d => d.FilingStatus == filingStatus)
                .Where(d => d.MinAllowance <= personalAllowances && d.MaxAllowance > personalAllowances)
                .Select(d => d.Amount)
                .Single());
     }
     else
     {
         return
             (StandardDeductions
              .Where(d => d.FilingStatus == FilingStatus.Married)
              .Select(d => d.Amount)
              .Single());
     }
 }