Esempio n. 1
0
        public void TaxSlab_18k_0()
        {
            EmployeeSalaryDetail      empTestCase  = new EmployeeSalaryDetail(new PaySlip());
            EmployeeSalaryDetailModel requestModel = new EmployeeSalaryDetailModel();

            requestModel.FirstName        = "Andrew";
            requestModel.LastName         = "Smith";
            requestModel.AnnualSalary     = 0;
            requestModel.SuperRate        = 9;
            requestModel.PaymentStartDate = "01 March – 31 March";
            EmployeeSalaryDetailDTO response = empTestCase.GetEmployeeSalaryDetaill(requestModel);

            Assert.AreEqual(null, response);
        }
Esempio n. 2
0
        public void TaxSlab_180k_120k()
        {
            EmployeeSalaryDetail      empTestCase  = new EmployeeSalaryDetail(new PaySlip());
            EmployeeSalaryDetailModel requestModel = new EmployeeSalaryDetailModel();

            requestModel.FirstName        = "Claire";
            requestModel.LastName         = "Wong";
            requestModel.AnnualSalary     = 120000;
            requestModel.SuperRate        = 10;
            requestModel.PaymentStartDate = "01 March – 31 March";
            EmployeeSalaryDetailDTO response = empTestCase.GetEmployeeSalaryDetaill(requestModel);

            Assert.AreEqual(10000, response.GrossIncome);
            Assert.AreEqual(2669, response.IncomeTax);
            Assert.AreEqual(7331, response.NetIncome);
            Assert.AreEqual(1000, response.SuperAmount);
        }
Esempio n. 3
0
        public void TaxSlab_87k_60k()
        {
            EmployeeSalaryDetail      empTestCase  = new EmployeeSalaryDetail(new PaySlip());
            EmployeeSalaryDetailModel requestModel = new EmployeeSalaryDetailModel();

            requestModel.FirstName        = "Andrew";
            requestModel.LastName         = "Smith";
            requestModel.AnnualSalary     = 60050;
            requestModel.SuperRate        = 9;
            requestModel.PaymentStartDate = "01 March – 31 March";
            EmployeeSalaryDetailDTO response = empTestCase.GetEmployeeSalaryDetaill(requestModel);

            Assert.AreEqual(5004, response.GrossIncome);
            Assert.AreEqual(922, response.IncomeTax);
            Assert.AreEqual(4082, response.NetIncome);
            Assert.AreEqual(450, response.SuperAmount);
        }
Esempio n. 4
0
        public void TaxSlab_37k_25k()
        {
            EmployeeSalaryDetail      empTestCase  = new EmployeeSalaryDetail(new PaySlip());
            EmployeeSalaryDetailModel requestModel = new EmployeeSalaryDetailModel();

            requestModel.FirstName        = "Andrew";
            requestModel.LastName         = "Smith";
            requestModel.AnnualSalary     = 25000;
            requestModel.SuperRate        = 9;
            requestModel.PaymentStartDate = "01 March – 31 March";
            EmployeeSalaryDetailDTO response = empTestCase.GetEmployeeSalaryDetaill(requestModel);

            Assert.AreEqual(2083, response.GrossIncome);
            Assert.AreEqual(108, response.IncomeTax);
            Assert.AreEqual(1975, response.NetIncome);
            Assert.AreEqual(187, response.SuperAmount);
        }
        public EmployeeSalaryDetailDTO GetEmployeeSalaryDetaill(EmployeeSalaryDetailModel Requestmodel)
        {
            EmployeeSalaryDetailDTO response = null;

            try
            {
                if (Requestmodel.AnnualSalary > 0)
                {
                    response             = new EmployeeSalaryDetailDTO();
                    response.Name        = string.Format("{0} {1}", Requestmodel.FirstName, Requestmodel.LastName);
                    response.GrossIncome = Math.Round(_paySlip.GrossInCome(Requestmodel.AnnualSalary));
                    response.IncomeTax   = Math.Round(_paySlip.TotalIncomeTax(Requestmodel.AnnualSalary));
                    response.PayPeriod   = Requestmodel.PaymentStartDate;
                    response.NetIncome   = Math.Round(response.GrossIncome - response.IncomeTax);
                    response.SuperAmount = Requestmodel.SuperRate > 0 ? Math.Round(response.GrossIncome * Requestmodel.SuperRate / 100) : 0;
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(response);
        }