public void PayslipToString_DataRow_ReturnExpectedResult()
        {
            var context = NewContextService();
            var payslip = new PayslipSummary()
            {
                EmployeeInfo = new Employee()
                {
                    FirstName = "David", LastName = "Rudd"
                },
                GrossIncome = 10000,
                IncomeTax   = 100,
                NetIncome   = 9900,
                Super       = 100,
                PayPeriod   = "01-03-2018 - 31-03-2018"
            };

            Assert.Equal("David Rudd,01-03-2018 - 31-03-2018,10000,100,9900,100", context.PayslipToString(payslip));
        }
        public override PayslipSummary CreatePayslipSummary(PaymentSummary payment)
        {
            var payslip = new PayslipSummary()
            {
                Id           = $"Payslip_{PayslipType}_{payment.Id}",
                EmployeeInfo = payment.EmployeeInfo,
                PayPeriod    = GetPayPeriod(payment.PaymentStartDate),
                GrossIncome  = CalGrossIncome(payment.AnnualSalary),
            };

            var incomeTax = CalIncomeTax(payment.AnnualSalary);

            if (incomeTax < 0)
            {
                LogService.LogError($"Cannot find tax formula for employee {payment.EmployeeInfo.FullName} {payment.AnnualSalary}.");
                return(null);
            }
            payslip.IncomeTax = incomeTax;
            payslip.NetIncome = CalNetIncome(payslip.GrossIncome, payslip.IncomeTax);
            payslip.Super     = CalSuper(payslip.GrossIncome, payment.SuperRate);

            return(payslip);
        }
Esempio n. 3
0
 public string PayslipToString(PayslipSummary payslip)
 {
     return($"{payslip.EmployeeInfo.FullName},{payslip.PayPeriod},{payslip.GrossIncome},{payslip.IncomeTax},{payslip.NetIncome},{payslip.Super}");
 }