public IActionResult Index(Income income)
        {
            ICountryTaxCalculator calculator = null;

            switch (income.Country)
            {
            case "USA":
                calculator = new TaxCalculatorForUS();
                break;

            case "UK":
                calculator = new TaxCalculatorForUK();
                break;

            case "IN":
                calculator = new TaxCalculatorForIN();
                break;

            default:
                break;
            }

            if (calculator != null)
            {
                calculator.TotalIncome    = income.TotalIncome;
                calculator.TotalDeduction = income.TotalDeduction;

                var taxCalculator = new TaxCalculator();
                ViewBag.TotalTax = taxCalculator.Calculate(calculator);
            }

            return(View(income));
        }
Beispiel #2
0
        public IActionResult Index(IncomeDetails obj)
        {
            ICountryTaxCalculator t = null;

            switch (obj.Country)
            {
            case "USA":
                t = new TaxCalculatorForUS();
                break;

            case "UK":
                t = new TaxCalculatorForUK();
                break;

            case "IN":
                t = new TaxCalculatorForIN();
                break;
            }
            t.TotalIncome    = obj.TotalIncome;
            t.TotalDeduction = obj.TotalDeduction;
            TaxCalculator cal = new TaxCalculator();

            ViewBag.TotalTax = cal.Calculate(t);
            return(View("Index", obj));
        }
Beispiel #3
0
        public static void TestTaxCalculator(TaxParams obj)
        {
            decimal               taxAmount     = 0;
            TaxCalculator         taxCalculator = new TaxCalculator();
            ICountryTaxCalculator cT            = null;

            switch (obj.Country)
            {
            case "PS":
                cT = new TaxCalculatorForPS();
                break;

            case "JD":
                cT = new TaxCalculatorForJD();
                break;

            case "US":
                cT = new TaxCalculatorForUS();
                break;

            case "UK":
                cT = new TaxCalculatorForUK();
                break;
            }

            cT.TotalIncome    = obj.TotalIncome;
            cT.TotalDeduction = obj.TotalDeduction;
            taxAmount         = taxCalculator.Calculat(cT);
            Console.WriteLine($"Tax Amount: {taxAmount}");
        }
Beispiel #4
0
        public ActionResult Index(IncomeDetails income)
        {
            CountryTaxCalculator t = null;

            switch (income.Country)
            {
            case "USA":
                t = new TaxCalculatorForUS();
                break;

            case "UK":
                t = new TaxCalculatorForUK();
                break;

            case "IN":
                t = new TaxCalculatorForIndia();
                break;
            }

            t.TotalIncome    = income.TotalIncome;
            t.TotalDeduction = income.TotalDeduction;
            TaxCalculator cal = new TaxCalculator();

            ViewBag.TotalTax = cal.Calculate(t);
            return(View("Index", income));
        }
Beispiel #5
0
        static void Main(string[] args)
        {
            TaxCalculatorForUS t1 = new TaxCalculatorForUS();
            TaxCalculatorForPS t2 = new TaxCalculatorForPS();
            TaxCalculatorForJD t3 = new TaxCalculatorForJD();

            TaxParams t = new TaxParams();

            t.TotalIncome    = 5000;
            t.TotalDeduction = 500;
            t.Country        = "US";
            TestTaxCalculator(t);

            //ShowDetail(t1);
            //ShowDetail(t2);
            //ShowDetail(t3);
        }