From 21029ca9ced559238dfbcebe3796c236efd6a891 Mon Sep 17 00:00:00 2001 From: Bright Date: Tue, 6 May 2025 19:04:17 +0700 Subject: [PATCH] =?UTF-8?q?fix=20=E0=B8=A3=E0=B8=B2=E0=B8=A2=E0=B8=81?= =?UTF-8?q?=E0=B8=B2=E0=B8=A3=E0=B8=A5=E0=B8=B2=E0=B8=A2=E0=B8=B1=E0=B8=87?= =?UTF-8?q?=E0=B9=84=E0=B8=A1=E0=B9=88=E0=B9=81=E0=B8=AA=E0=B8=94=E0=B8=87?= =?UTF-8?q?=E0=B8=95=E0=B8=B2=E0=B8=A1=E0=B8=AA=E0=B8=B4=E0=B8=97=E0=B8=98?= =?UTF-8?q?=E0=B8=B4=E0=B9=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Leaves/LeaveRequests/LeaveRequestRepository.cs | 13 ++++++++++--- BMA.EHR.Leave/Controllers/LeaveRequestController.cs | 4 ++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index aeee3a7e..21b08c88 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -331,18 +331,25 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests if (endDate != DateTime.MinValue) rawData = rawData.Where(x => x.LeaveEndDate <= endDate); + if (role == "OWNER") + { + node = null; + } if (role == "OWNER" || role == "CHILD") { rawData = rawData .Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))))); } - else + else if (role == "ROOT") { rawData = rawData - //.Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId) : (node == null ? true : true)))))) - //.Where(x => node == 0 ? x.Child1DnaId == null : (node == 1 ? x.Child2DnaId == null : (node == 2 ? x.Child3DnaId == null : (node == 3 ? x.Child4DnaId == null : true)))); .Where(x => x.RootDnaId == Guid.Parse(nodeId!)); } + else if (role == "NORMAL") + { + rawData = rawData + .Where(x => node == 0 ? x.Child1DnaId == null : (node == 1 ? x.Child2DnaId == null : (node == 2 ? x.Child3DnaId == null : (node == 3 ? x.Child4DnaId == null : true)))); + } return await rawData.ToListAsync(); diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index d6c38b39..613eaa9a 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -1586,7 +1586,7 @@ namespace BMA.EHR.Leave.Service.Controllers var nodeId = string.Empty; var profileAdmin = new GetUserOCAllDto(); profileAdmin = await _userProfileRepository.GetUserOCAll(Guid.Parse(UserId!), AccessToken); - if (role == "OWNER" || role == "CHILD") + if (role == "NORMAL" || role == "CHILD") { nodeId = profileAdmin?.Node == 4 ? profileAdmin?.Child4DnaId @@ -1600,7 +1600,7 @@ namespace BMA.EHR.Leave.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else + else if (role == "ROOT") { nodeId = profileAdmin?.RootDnaId; }