Example #1
0
 /// <summary>
 /// Create EmployeePayrollManager object by passing all dependency injections and run GetDeductionChargeDetailInfo method to get all Deduction Charge on each item level.
 /// </summary>
 /// <param name="hours">Hours</param>
 /// <param name="rate">Rate</param>
 /// <param name="location">Location Name</param>
 private static void PrintEmployeePayroll(decimal hours, decimal rate, string location)
 {
     try
     {
         EmployeePayroll employeePayroll                       = new EmployeePayroll(hours, rate, location);
         ILocationItemRatesProvider_Get rateProvider           = new LocationItemRatesProvider();
         IDeductionChargeCalculator     chargeCalculator       = new DeductionChargeCalculator();
         EmployeePayrollManager         employeePayrollManager = new EmployeePayrollManager(employeePayroll, rateProvider, chargeCalculator);
         string payrollDetailInfo = employeePayrollManager.GetDeductionChargeDetailInfo();
         Console.WriteLine("------------------------------------------");
         Console.WriteLine(payrollDetailInfo);
         Console.WriteLine("------------------------------------------");
     }
     catch (Exception ex)
     {
         Console.WriteLine("Error:" + ex.Message);
     }
 }
Example #2
0
 /// <summary>
 /// Construnctor: Dependency Injection. Can use 3rd party DI container like Unity.
 /// </summary>
 /// <param name="employeePayroll">EmployeePayroll object</param>
 /// <param name="rateProvider">ILocationItemRatesProvider type object</param>
 /// <param name="chargeCalculator">IDeductionChargeCalculator type object </param>
 public EmployeePayrollManager(EmployeePayroll employeePayroll, ILocationItemRatesProvider_Get rateProvider, IDeductionChargeCalculator chargeCalculator)
 {
     _employeePayroll  = employeePayroll;
     _rateProvider     = rateProvider;
     _chargeCalculator = chargeCalculator;
 }