Exemple #1
0
        public static void ShowDetail(ICountryTaxCalculator taxCalc)
        {
            decimal tax = taxCalc.CalculateTaxAmount();

            Console.WriteLine($"Tax Amount: {tax}");
            Console.ReadLine();
        }
        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));
        }
Exemple #3
0
        public decimal Calculate(ICountryTaxCalculator obj)
        {
            decimal taxAmount = 0;

            taxAmount = obj.CalculateTaxAmount();
            return(taxAmount);
        }
Exemple #4
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}");
        }
Exemple #5
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));
        }
        //If a new country has been added we don't have to modify this class
        public decimal Calculate(ICountryTaxCalculator obj)
        {
            decimal taxAmount = obj.CalculateTaxAmount();

            // TODO: Opererations if necessary
            return(taxAmount);
        }
        public decimal Calculate(ICountryTaxCalculator obj)
        {
            decimal taxAmount = obj.CalculateTaxAmount();
            // do something more if needed

            return taxAmount;
        }
 public decimal Calculate(ICountryTaxCalculator taxCalculator)
 {
     return(taxCalculator.CalculateTaxAmount());
 }
Exemple #9
0
        public static void ShowDetails(ICountryTaxCalculator t)
        {
            decimal tax = t.CalculateTaxAmount();

            Console.WriteLine("Tax Amount : " + tax);
        }