Exemplo n.º 1
0
 public void GeneratePayslip(ITaxCalculator calculator, PaySlip payslip, uint annualIncome, double superRate)
 {
     try
     {
         payslip.GrossIncome = calculator.GrossIncome(annualIncome);
         payslip.IncomeTax   = calculator.IncomeTax(annualIncome);
         payslip.NetIncome   = payslip.GrossIncome - payslip.IncomeTax;
         payslip.Super       = calculator.Super(annualIncome, superRate);
         payslip.Generated   = true;
     }
     catch (NegativeNumberException)
     {
         throw;
     }
     catch (Exception ex)
     {
         throw new PayslipGenerationException(ex.Message, ex);
     }
 }