refactor LeaveReportController to sort employees by check-in time and remark #2193

This commit is contained in:
Suphonchai Phoonsawat 2026-01-16 16:01:07 +07:00
parent 094789bfb1
commit 83a915f92c

View file

@ -2251,7 +2251,8 @@ namespace BMA.EHR.Leave.Service.Controllers
}
//employees = employees.OrderBy(x => x.checkInDate).ThenBy(x => x.checkInTimeRaw ?? DateTime.MaxValue).ThenBy(x => x.checkOutTimeRaw ?? DateTime.MaxValue).ToList();
employees = employees
.OrderBy(x => x.remark.Trim() == "" ? 0 : 1) // ข้อมูลที่ไม่มี remark ให้ขึ้นก่อน
.OrderBy(x => x.checkInTime.Trim() == "" ? 1 : 0) // เรียงตามวันที่ลงเวลา
.ThenBy(x => x.remark.Trim() == "" ? 0 : 1) // ข้อมูลที่ไม่มี remark ให้ขึ้นก่อน
.ThenBy(x => x.checkInTimeRaw ?? DateTime.MaxValue).ThenBy(x => x.checkOutTimeRaw ?? DateTime.MaxValue)
.ThenBy(x => x.remark) // จากนั้นจัดเรียงตาม remark
.ToList();