public void Handle(BaseInvalidPayslip baseInvalidPayslip)
        {
            InvalidEmployeeInformationEntity invalidEmployeeEmpInfo = (InvalidEmployeeInformationEntity)baseInvalidPayslip;

            Console.WriteLine("Input: " + invalidEmployeeEmpInfo.PayslipInformation);
            Console.WriteLine("Error: " + invalidEmployeeEmpInfo.ErrorMessage);
            Console.WriteLine();
        }
Beispiel #2
0
        public virtual (BaseValidPayslip validPayslip, BaseInvalidPayslip invalidPayslip) Calculate(BasePayslipInformation basePayslipInformation)
        {
            var           employeeDetails = (EmployeeInformationEntity)basePayslipInformation;
            PayslipEntity payslip         = null;
            InvalidEmployeeInformationEntity invalidEmployeeInfo = null;

            try
            {
                var grossIncome    = CalculateGrossIncome(employeeDetails.AnnualSalary);
                var incomeTax      = CalculateIncomeTax(employeeDetails.AnnualSalary);
                var netIncome      = CalculateNetIncome(grossIncome, incomeTax);
                var superAnnuation = CalculateSuperAnnuation(grossIncome, employeeDetails.SuperRate);
                payslip = new PayslipEntity(employeeDetails.FirstName, employeeDetails.LastName, employeeDetails.PaymentPeriod, grossIncome, incomeTax, netIncome, superAnnuation);
            }
            catch (InvalidPayslipException ex)
            {
                invalidEmployeeInfo = new InvalidEmployeeInformationEntity(employeeDetails.ToString(), ex.Message);
            }
            return(payslip, invalidEmployeeInfo);
        }
 public InvalidPayslipException(string invalidObject, string errorMessage)
 {
     BaseInvalidPayslip = new InvalidEmployeeInformationEntity(invalidObject, errorMessage);
 }