Esempio n. 1
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}");
        }
Esempio n. 2
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);
        }