From 3882e11454ff38917d13d2cce177007df4679342 Mon Sep 17 00:00:00 2001 From: AdisakKanthawilang Date: Thu, 6 Mar 2025 10:24:56 +0700 Subject: [PATCH] fix and add filter leaveRequest --- BMA.EHR.Leave/Controllers/LeaveRequestController.cs | 8 ++++++-- .../DTOs/LeaveRequest/GetLeaveCancelRequestResultDto.cs | 2 ++ .../DTOs/LeaveRequest/GetLeaveRequestForAdminDto.cs | 3 +++ .../DTOs/LeaveRequest/GetLeaveRequestForAdminResultDto.cs | 2 ++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index ffbb104b..c919d7cd 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -1378,6 +1378,7 @@ namespace BMA.EHR.Leave.Service.Controllers LeaveTypeId = item.Type.Id, LeaveTypeName = item.Type.Name, FullName = $"{item.Prefix}{item.FirstName} {item.LastName}", + ProfileType = item.ProfileType ?? "-", DateSendLeave = item.CreatedAt.Date, Status = item.LeaveStatus, CitizenId = item.CitizenId ?? "", @@ -1396,7 +1397,8 @@ namespace BMA.EHR.Leave.Service.Controllers if (req.Keyword != "") result = result.Where(x => x.FullName.Contains(req.Keyword)).ToList(); - + if (!string.IsNullOrEmpty(req.ProfileType) && req.ProfileType.ToUpper() != "ALL") + result = result.Where(x => x.ProfileType.ToUpper().Contains(req.ProfileType.ToUpper())).ToList(); var pageResult = result.Skip((req.Page - 1) * req.PageSize).Take(req.PageSize).ToList(); return Success(new { data = pageResult, total = result.Count }); @@ -1487,6 +1489,7 @@ namespace BMA.EHR.Leave.Service.Controllers Id = item.Id, LeaveTypeId = item.Type.Id, LeaveTypeName = item.Type.Name, + ProfileType = item.ProfileType ?? "-", FullName = $"{item.Prefix}{item.FirstName} {item.LastName}", DateSendLeave = item.CreatedAt.Date, Status = item.LeaveCancelStatus ?? "" @@ -1496,7 +1499,8 @@ namespace BMA.EHR.Leave.Service.Controllers if (req.Keyword != "") result = result.Where(x => x.FullName.Contains(req.Keyword)).ToList(); - + if (!string.IsNullOrEmpty(req.ProfileType) && req.ProfileType.ToUpper() != "ALL") + result = result.Where(x => x.ProfileType.ToUpper().Contains(req.ProfileType.ToUpper())).ToList(); var pageResult = result.Skip((req.Page - 1) * req.PageSize).Take(req.PageSize).ToList(); return Success(new { data = pageResult, total = result.Count }); diff --git a/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveCancelRequestResultDto.cs b/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveCancelRequestResultDto.cs index 20e5510b..a8023f5e 100644 --- a/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveCancelRequestResultDto.cs +++ b/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveCancelRequestResultDto.cs @@ -13,5 +13,7 @@ public DateTime DateSendLeave { get; set; } public string Status { get; set; } + + public string ProfileType { get; set; } = string.Empty; } } diff --git a/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestForAdminDto.cs b/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestForAdminDto.cs index f1bb40a8..2a8e4acf 100644 --- a/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestForAdminDto.cs +++ b/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestForAdminDto.cs @@ -25,5 +25,8 @@ namespace BMA.EHR.Leave.Service.DTOs.LeaveRequest public DateTime StartDate { get; set; } = DateTime.MinValue; public DateTime EndDate { get; set; } = DateTime.MinValue; + + public string ProfileType { get; set; } = string.Empty; + } } diff --git a/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestForAdminResultDto.cs b/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestForAdminResultDto.cs index 97ce6b64..b5873f22 100644 --- a/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestForAdminResultDto.cs +++ b/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestForAdminResultDto.cs @@ -31,5 +31,7 @@ public string LeaveRange { get; set; } = string.Empty; public bool? HajjDayStatus { get; set; } + + public string? ProfileType { get; set; } } }