public static List <Paycheck> BuildPaychecks(Employee e, int year) { decimal annual = e.AnnualGrossPay ?? Paycheck.DefaultAnnualGrossPay; decimal paycheckAmount = 1.0M * annual / Paycheck.PaychecksPerYear; List <Paycheck> result = new List <Paycheck>(Paycheck.PaychecksPerYear); var dateFrom = new DateTime(year, 1, 1); int daysPerCheck = (int)365 / Paycheck.PaychecksPerYear; DateTime dateTo; for (int i = 0; i < Paycheck.PaychecksPerYear; i++) { dateTo = dateFrom.AddDays(daysPerCheck - 1); var paycheck = new Paycheck() { GrossAmount = paycheckAmount, StartDate = dateFrom, EndDate = dateTo, Index = i + 1, Year = year, Employee = e }; result.Add(paycheck); paycheck.AdjustResidualGrossAmount(); dateFrom = dateFrom.AddDays(daysPerCheck); } return(result); }
public PaycheckBenefitCost(Benefit benefit, Person benefitReceiver, Paycheck paycheck) { BenefitReceiver = benefitReceiver; Paycheck = paycheck; Benefit = benefit; CalculateAmount(); }