private Attendance <DateSplitAttRecord> SetDaysOfAttendance(Attendance <DateSplitAttRecord> attendance)
 {
     //累加器,符合条件+1
     attendance.DaysOfAtt = attendance.Details.Aggregate(0, (count, next) =>
     {
         var result = 0;
         //非异常,计实际出勤
         if (next.AttType != AttendanceType.Exception)
         {
             result = 1;
         }
         else
         {
             result = AttendanceRole.AttRole(next, attendance.ValidOfAtt) == true ? 1 : 0;
             if (result == 1)
             {
                 next.AttType = AttendanceType.Normal;
             }
         }
         return(count + result);
     });
     return(attendance);
 }
 private Attendance <DateSplitAttRecord> SetDaysOfEarly(Attendance <DateSplitAttRecord> attendance)
 {
     //累加器,符合条件+1
     attendance.DaysOfEarly = attendance.Details.Aggregate(0, (count, next) => count + AttendanceRole.EarlyRole(next, attendance.ValidOfAtt, attendance.TimesOfCheck, attendance.StaffAttenType));
     return(attendance);
 }