Advertisement
Guest User

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHH

a guest
Jan 12th, 2016
2,954
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.56 KB | None | 0 0
  1. decimal amount = 0;    
  2. DateTime previousPayrollPeriodStart = employee.paymentDate != DateTime.MinValue ? employee.paymentDate.AddMonths(-1) : DateTime.MinValue;
  3. DateTime previousPayrollPeriodEnd = employee.paymentDate != DateTime.MinValue ? employee.paymentDate.AddDays(-1) : DateTime.MinValue;
  4. int previousPayrollPeriodDays = DateTime.DaysInMonth(previousPayrollPeriodStart.Year, previousPayrollPeriodStart.Month);
  5. DateTime previousPayrollMidPeriod = GetPreviousPayrollMidPeriod(employee.paymentDate);
  6.  
  7. if (scenario == AmountCases.AllEmployee)
  8. {
  9.     amount = employee.monthlyCostEmployee;
  10. }
  11. else if (scenario == AmountCases.AllEmployer)
  12. {
  13.     amount = employee.monthlyCostEmployer;
  14. }
  15. else if (scenario == AmountCases.CompanyLeaver)
  16. {
  17.     amount = employee.constantValueZero;
  18. }
  19. else if (scenario == AmountCases.FitnessSubsidyEr)
  20. {
  21.     if(employee.periodEndDate.Month == 1)
  22.         amount = employee.annualCostEmployer - employee.h_annualCostEmployer;
  23. }
  24. else if (scenario == AmountCases.HealthCareFullEr)
  25. {
  26.     return employee.monthlyCostEmployerNoFee;
  27. }
  28. else if (scenario == AmountCases.HealthCareChangeEe && previousPayrollPeriodEnd != DateTime.MinValue && employee.elementBeginDate != DateTime.MinValue && previousPayrollPeriodStart != DateTime.MinValue)
  29. {
  30.     amount = employee.monthlyCostEmployee + ((employee.monthlyCostEmployee / previousPayrollPeriodDays) * (previousPayrollPeriodEnd - employee.elementBeginDate).Days)
  31.                                           + ((employee.h_monthlyCostEmployee / previousPayrollPeriodDays) * (employee.elementBeginDate - previousPayrollPeriodStart.AddDays(-1)).Days)
  32.                                           - employee.h_monthlyCostEmployee;
  33. }
  34. else if (scenario == AmountCases.HealthCareChangeEr && previousPayrollPeriodEnd != DateTime.MinValue && employee.elementBeginDate != DateTime.MinValue && previousPayrollPeriodStart != DateTime.MinValue)
  35. {
  36.     amount = employee.monthlyCostEmployer + ((employee.monthlyCostEmployer / previousPayrollPeriodDays) * (previousPayrollPeriodEnd - employee.elementBeginDate).Days)
  37.                                           + ((employee.h_monthlyCostEmployer / previousPayrollPeriodDays) * (employee.elementBeginDate - previousPayrollPeriodStart.AddDays(-1)).Days)
  38.                                           - employee.h_monthlyCostEmployer;
  39. }
  40. else if (scenario == AmountCases.HealthCareLeaverEe && employee.leavingDate != DateTime.MinValue && previousPayrollPeriodStart != DateTime.MinValue)
  41. {
  42.     amount = ((employee.h_monthlyCostEmployee / previousPayrollPeriodDays) * (employee.leavingDate - previousPayrollPeriodStart.AddDays(-1)).Days) - employee.h_monthlyCostEmployee;
  43. }
  44. else if (scenario == AmountCases.HealthCareLeaverEr && employee.leavingDate != DateTime.MinValue && previousPayrollPeriodStart != DateTime.MinValue)
  45. {
  46.     amount = ((employee.h_monthlyCostEmployer / previousPayrollPeriodDays) * (employee.leavingDate - previousPayrollPeriodStart.AddDays(-1)).Days) - employee.h_monthlyCostEmployer;
  47. }
  48. else if (scenario == AmountCases.HealthCareJoinerEe && previousPayrollPeriodEnd != DateTime.MinValue)
  49. {
  50.     amount = employee.monthlyCostEmployee + ((employee.monthlyCostEmployee / previousPayrollPeriodDays) * (previousPayrollPeriodEnd - employee.elementBeginDate).Days);
  51. }
  52. else if (scenario == AmountCases.HealthCareJoinerEr && previousPayrollPeriodEnd != DateTime.MinValue)
  53. {
  54.     amount = employee.monthlyCostEmployer + ((employee.monthlyCostEmployer / previousPayrollPeriodDays) * (previousPayrollPeriodEnd - employee.elementBeginDate).Days);
  55. }
  56. else if (scenario == AmountCases.LaLtdFullEr)
  57. {
  58.     amount = employeeInputList.Where(x => AreEqual(x.benefit, lifeAssurance) || AreEqual(x.benefit, longTermDisability)).Sum(y => y.monthlyCostEmployer);
  59. }
  60. else if (scenario == AmountCases.LaLtdPreJoinerEr && previousPayrollPeriodEnd != DateTime.MinValue)
  61. {
  62.     amount = employeeInputList.Where(x => AreEqual(x.benefit, lifeAssurance) || AreEqual(x.benefit, longTermDisability))
  63.         .Sum(y => (y.monthlyCostEmployer + ((y.monthlyCostEmployer / previousPayrollPeriodDays) * (previousPayrollPeriodEnd - previousPayrollMidPeriod).Days)));
  64. }
  65. else if (scenario == AmountCases.LaLtdPostLeaverEr && previousPayrollMidPeriod != DateTime.MinValue && previousPayrollPeriodStart != DateTime.MinValue)
  66. {
  67.     amount = employeeInputList.Where(x => AreEqual(x.benefit, lifeAssurance) || AreEqual(x.benefit, longTermDisability))
  68.         .Sum(y => (((y.h_monthlyCostEmployer / previousPayrollPeriodDays) * (previousPayrollMidPeriod - previousPayrollPeriodStart.AddDays(-1)).Days) - y.h_monthlyCostEmployer));
  69. }
  70.  
  71. return amount;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement