diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index beb582d0..74821d20 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -79,10 +79,17 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests public override async Task UpdateAsync(LeaveRequest entity) { - _dbContext.Attatch(entity.LeaveCancelDocument); - _dbContext.Attatch(entity.LeaveDraftDocument); - _dbContext.Attatch(entity.LeaveDocument); - _dbContext.Attatch(entity.Type); + if (entity.LeaveCancelDocument != null) + _dbContext.Attatch(entity.LeaveCancelDocument); + + if (entity.LeaveDraftDocument != null) + _dbContext.Attatch(entity.LeaveDraftDocument); + + if (entity.LeaveDocument != null) + _dbContext.Attatch(entity.LeaveDocument); + + if (entity.Type != null) + _dbContext.Attatch(entity.Type); return await base.UpdateAsync(entity); } @@ -301,7 +308,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests throw new Exception(GlobalMessages.DataNotFound); } - if (rawData.ApproveStep != "st1") + if (rawData.ApproveStep != "st2") { throw new Exception("คำขอนี้ยังไม่ได้รับการอนุมัติจากเจ้าหน้าที่ ไม่สามารถทำรายการได้"); } diff --git a/BMA.EHR.Domain/Extensions/DateTimeExtension.cs b/BMA.EHR.Domain/Extensions/DateTimeExtension.cs index e5bc7a18..985327de 100644 --- a/BMA.EHR.Domain/Extensions/DateTimeExtension.cs +++ b/BMA.EHR.Domain/Extensions/DateTimeExtension.cs @@ -18,7 +18,7 @@ namespace BMA.EHR.Domain.Extensions { throw new ArgumentException("End Date must greater than start date."); } - return (int)(endDate.Date - startDate.Date).TotalDays; + return (int)(endDate.Date - startDate.Date).TotalDays + 1; } public static double DiffYear(this DateTime currentDate)