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); }