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)); }
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)); }
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}"); }
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)); }