From ecf5ada7edaf242c76f2ebf4a6e609a272d76ca4 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 23 Jan 2026 20:55:21 +0700 Subject: [PATCH] Update LeaveController to conditionally set check-out time based on existing value and duty schedule --- BMA.EHR.Leave/Controllers/LeaveController.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index ebfd5c96..3346a4a4 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -3655,7 +3655,12 @@ namespace BMA.EHR.Leave.Service.Controllers if (req.CheckOutStatus == "NORMAL" ) { var checkOutTime = data.CheckOut != null ? data.CheckOut.Value : data.CheckIn; - data.CheckOut = DateTime.Parse($"{checkOutTime.Date.ToString("yyyy-MM-dd")} {duty.EndTimeAfternoon}"); + var oldCheckOutTime = data.CheckOut != null ? data.CheckOut.Value : DateTime.Now; + var roundCheckOutTime = DateTime.Parse($"{checkOutTime.Date.ToString("yyyy-MM-dd")} {duty.EndTimeAfternoon}"); + if (oldCheckOutTime < roundCheckOutTime) + { + data.CheckOut = roundCheckOutTime; + } } }