public ActionResult Calculate(FormCollection form)
        {
            decimal totalSalary     = 0M;
            decimal toalTaxPaid     = 0M;
            int     remainingMonths = 0;

            for (int index = 1; index <= 12; ++index)
            {
                totalSalary += Convert.ToDecimal(form["salary" + index.ToString()]);
                decimal taxPaid = Convert.ToDecimal(form["taxpaid" + index.ToString()]);
                if (taxPaid == 0M)
                {
                    remainingMonths += 1;
                }
                toalTaxPaid += taxPaid;
            }
            totalSalary += Convert.ToDecimal(form["salaryextra"]);

            TaxComputation result = CalculationManager.GetMonthlyTax(
                totalSalary, toalTaxPaid, remainingMonths); //tcc

            ViewBag.TotalSalary       = result.TotalSalary;
            ViewBag.RemainingPeriods  = result.RemainingPeriods;
            ViewBag.TaxPaid           = result.TaxPaid;
            ViewBag.TotalTaxLiability = result.TotalTaxLiability;
            ViewBag.TaxPerMonth       = result.TaxPerMonth;
            return(View());
        }
Пример #2
0
        public ActionResult Calculate(FormCollection form)
        {
            decimal totalSalary     = 0M;
            decimal toalTaxPaid     = 0M;
            int     remainingMonths = 0;

            for (int index = 1; index <= 12; ++index)
            {
                decimal salary = Convert.ToDecimal(form["salary" + index.ToString()]);
                totalSalary += salary;
                decimal taxPaid = Convert.ToDecimal(form["taxpaid" + index.ToString()]);
                //assuming that remaining periods means the non tax paid months.
                if (taxPaid == 0M)
                {
                    remainingMonths++;
                }
                toalTaxPaid += taxPaid;
            }
            totalSalary += Convert.ToDecimal(form["salaryextra"]);

            TaxComputation report = CalculationManager.GetMonthlyTax(
                totalSalary, toalTaxPaid, remainingMonths);

            ViewBag.TaxPerMonth       = report.TaxPerMonth;
            ViewBag.TotalTaxLiability = report.TotalTaxLiability;
            ViewBag.TaxPaid           = report.TaxPaid;
            ViewBag.TotalIncome       = report.TotalSalary;
            ViewBag.RemainingPeriods  = report.RemainingPeriods;

            return(View());
        }