diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index 18641ec8..bcd650ef 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -555,7 +555,14 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests // TODO : Update ไปตาราง beginning if (data.ApproveStep == "st4") // ถ้ามีการอนุมัติจากผู้มีอำนาจแล้ว { - await _leaveBeginningRepository.UpdateLeaveUsageAsync(data.LeaveStartDate.Year, data.Type.Id, data.KeycloakUserId, -1 * data.LeaveTotal); + + var toDay = data.LeaveStartDate.Date; + var thisYear = data.LeaveStartDate.Year; + if(toDay >= new DateTime(thisYear,10,1) && toDay <= new DateTime(thisYear,12,31)) + { + thisYear = thisYear + 1; + } + await _leaveBeginningRepository.UpdateLeaveUsageAsync(thisYear, data.Type.Id, data.KeycloakUserId, -1 * data.LeaveTotal); var _baseAPI = _configuration["API"]; var apiUrlSalary = $"{_baseAPI}/org/profile/leave/cancel/{data.Id}"; @@ -620,7 +627,15 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests // TODO : Update ไปตาราง beginning if (rawData.ApproveStep == "st4") // ถ้ามีการอนุมัติจากผู้มีอำนาจแล้ว { - await _leaveBeginningRepository.UpdateLeaveUsageAsync(rawData.LeaveStartDate.Year, rawData.Type.Id, rawData.KeycloakUserId, -1 * rawData.LeaveTotal); + + var toDay = rawData.LeaveStartDate.Date; + var thisYear = rawData.LeaveStartDate.Year; + if(toDay >= new DateTime(thisYear,10,1) && toDay <= new DateTime(thisYear,12,31)) + { + thisYear = thisYear + 1; + } + + await _leaveBeginningRepository.UpdateLeaveUsageAsync(thisYear, rawData.Type.Id, rawData.KeycloakUserId, -1 * rawData.LeaveTotal); var _baseAPI = _configuration["API"]; var apiUrlSalary = $"{_baseAPI}/org/profile/leave/cancel/{rawData.Id}"; @@ -1079,8 +1094,15 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests await UpdateWithTrackingAsync(rawData); + var toDay = rawData.LeaveStartDate.Date; + var thisYear = rawData.LeaveStartDate.Year; + if(toDay >= new DateTime(thisYear,10,1) && toDay <= new DateTime(thisYear,12,31)) + { + thisYear = thisYear + 1; + } + // TODO : Update ไปตาราง beginning - await _leaveBeginningRepository.UpdateLeaveUsageAsync(rawData.LeaveStartDate.Year, rawData.Type.Id, rawData.KeycloakUserId, rawData.LeaveTotal); + await _leaveBeginningRepository.UpdateLeaveUsageAsync(thisYear, rawData.Type.Id, rawData.KeycloakUserId, rawData.LeaveTotal); var _baseAPI = _configuration["API"];