diff --git a/.vscode/launch.json b/.vscode/launch.json index 205e817c..fd9cf53a 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,35 +1,35 @@ { - "version": "0.2.0", - "configurations": [ - { - // Use IntelliSense to find out which attributes exist for C# debugging - // Use hover for the description of the existing attributes - // For further information visit https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md. - "name": ".NET Core Launch (web)", - "type": "coreclr", - "request": "launch", - "preLaunchTask": "build", - // If you have changed target frameworks, make sure to update the program path. - "program": "${workspaceFolder}/BMA.EHR.Leave/bin/Debug/net7.0/BMA.EHR.Leave.dll", - "args": [], - "cwd": "${workspaceFolder}/BMA.EHR.Leave", - "stopAtEntry": false, - // Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser - "serverReadyAction": { - "action": "openExternally", - "pattern": "\\bNow listening on:\\s+(https?://\\S+)" - }, - "env": { - "ASPNETCORE_ENVIRONMENT": "Development" - }, - "sourceFileMap": { - "/Views": "${workspaceFolder}/Views" - } - }, - { - "name": ".NET Core Attach", - "type": "coreclr", - "request": "attach" - } - ] -} + "version": "0.2.0", + "configurations": [ + { + // Use IntelliSense to find out which attributes exist for C# debugging + // Use hover for the description of the existing attributes + // For further information visit https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md. + "name": ".NET Core Launch (web)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + // If you have changed target frameworks, make sure to update the program path. + "program": "${workspaceFolder}/BMA.EHR.Leave.Service/bin/Debug/net7.0/BMA.EHR.Leave.Service.dll", + "args": [], + "cwd": "${workspaceFolder}/BMA.EHR.Leave.Service", + "stopAtEntry": false, + // Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser + "serverReadyAction": { + "action": "openExternally", + "pattern": "\\bNow listening on:\\s+(https?://\\S+)" + }, + "env": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "sourceFileMap": { + "/Views": "${workspaceFolder}/Views" + } + }, + { + "name": ".NET Core Attach", + "type": "coreclr", + "request": "attach" + } + ] +} \ No newline at end of file diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index 3e0c1d54..7dafb605 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -2591,8 +2591,6 @@ namespace BMA.EHR.Leave.Service.Controllers //var rawData = await _additionalCheckRequestRepository.GetAdditionalCheckRequests(year, month); var rawData = await _additionalCheckRequestRepository.GetAdditionalCheckRequestsByAdminRole(year, month, role, nodeId, profileAdmin?.Node); - var total = rawData.Count; - var getDefaultRound = await _dutyTimeRepository.GetDefaultAsync(); if (getDefaultRound == null) { @@ -2601,65 +2599,7 @@ namespace BMA.EHR.Leave.Service.Controllers var result = new List(); - - if (!string.IsNullOrWhiteSpace(sortBy)) - { - switch (sortBy.ToUpper()) - { - case "FULLNAME": - if (descending == true) - rawData = rawData.OrderByDescending(x => x.Prefix) - .ThenByDescending(x => x.FirstName) - .ThenByDescending(x => x.LastName) - .ToList(); - else - rawData = rawData.OrderBy(x => x.Prefix) - .ThenBy(x => x.FirstName) - .ThenBy(x => x.LastName) - .ToList(); - break; - case "CREATEDAT": - if (descending == true) - rawData = rawData.OrderByDescending(x => x.CreatedAt).ToList(); - else - rawData = rawData.OrderBy(x => x.CreatedAt).ToList(); - break; - case "CHECKDATE": - if (descending == true) - rawData = rawData.OrderByDescending(x => x.CheckDate).ToList(); - else - rawData = rawData.OrderBy(x => x.CheckDate).ToList(); - break; - // case "STARTTIMEMORNING": - // if (descending == true) - // rawData = rawData.OrderByDescending(x => x.StartTimeMorning).ToList(); - // else - // result = result.OrderBy(x => x.StartTimeMorning).ToList(); - // break; - // case "STARTTIMEAFTERNOON": - // if (descending == true) - // result = result.OrderByDescending(x => x.StartTimeAfternoon).ToList(); - // else - // result = result.OrderBy(x => x.StartTimeAfternoon).ToList(); - // break; - case "DESCRIPTION": - if (descending == true) - rawData = rawData.OrderByDescending(x => x.Description).ToList(); - else - rawData = rawData.OrderBy(x => x.Description).ToList(); - break; - default: - rawData = rawData.OrderBy(x => - x.Status.Trim().ToLower() == "pending" ? 1 : - x.Status.Trim().ToLower() == "approve" ? 2 : 3).ToList(); - break; - } - } - - var rawDataPaged = rawData.Skip((page - 1) * pageSize).Take(pageSize) - .ToList(); - - foreach (var data in rawDataPaged) + foreach (var data in rawData) { var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken); if (profile == null) @@ -2738,69 +2678,69 @@ namespace BMA.EHR.Leave.Service.Controllers result.Add(resObj); } - // if (keyword != "") - // { - // result = result.Where(x => x.FullName.Contains(keyword)).ToList(); - // } - // if (string.IsNullOrWhiteSpace(sortBy)) - // { - // sortBy = "default"; - // } - // if (!string.IsNullOrWhiteSpace(sortBy)) - // { - // switch (sortBy.ToUpper()) - // { - // case "FULLNAME": - // if (descending == true) - // result = result.OrderByDescending(x => x.Prefix) - // .ThenByDescending(x => x.FirstName) - // .ThenByDescending(x => x.LastName) - // .ToList(); - // else - // result = result.OrderBy(x => x.Prefix) - // .ThenBy(x => x.FirstName) - // .ThenBy(x => x.LastName) - // .ToList(); - // break; - // case "CREATEDAT": - // if (descending == true) - // result = result.OrderByDescending(x => x.CreatedAt).ToList(); - // else - // result = result.OrderBy(x => x.CreatedAt).ToList(); - // break; - // case "CHECKDATE": - // if (descending == true) - // result = result.OrderByDescending(x => x.CheckDate).ToList(); - // else - // result = result.OrderBy(x => x.CheckDate).ToList(); - // break; - // case "STARTTIMEMORNING": - // if (descending == true) - // result = result.OrderByDescending(x => x.StartTimeMorning).ToList(); - // else - // result = result.OrderBy(x => x.StartTimeMorning).ToList(); - // break; - // case "STARTTIMEAFTERNOON": - // if (descending == true) - // result = result.OrderByDescending(x => x.StartTimeAfternoon).ToList(); - // else - // result = result.OrderBy(x => x.StartTimeAfternoon).ToList(); - // break; - // case "DESCRIPTION": - // if (descending == true) - // result = result.OrderByDescending(x => x.Description).ToList(); - // else - // result = result.OrderBy(x => x.Description).ToList(); - // break; - // default: - // result = result.OrderBy(x => x.StatusSort).ToList(); - // break; - // } - // } - // var pageResult = result.Skip((page - 1) * pageSize).Take(pageSize) - // .ToList(); + if (keyword != "") + { + result = result.Where(x => x.FullName.Contains(keyword)).ToList(); + } + if (string.IsNullOrWhiteSpace(sortBy)) + { + sortBy = "default"; + } + if (!string.IsNullOrWhiteSpace(sortBy)) + { + switch (sortBy.ToUpper()) + { + case "FULLNAME": + if (descending == true) + result = result.OrderByDescending(x => x.Prefix) + .ThenByDescending(x => x.FirstName) + .ThenByDescending(x => x.LastName) + .ToList(); + else + result = result.OrderBy(x => x.Prefix) + .ThenBy(x => x.FirstName) + .ThenBy(x => x.LastName) + .ToList(); + break; + case "CREATEDAT": + if (descending == true) + result = result.OrderByDescending(x => x.CreatedAt).ToList(); + else + result = result.OrderBy(x => x.CreatedAt).ToList(); + break; + case "CHECKDATE": + if (descending == true) + result = result.OrderByDescending(x => x.CheckDate).ToList(); + else + result = result.OrderBy(x => x.CheckDate).ToList(); + break; + case "STARTTIMEMORNING": + if (descending == true) + result = result.OrderByDescending(x => x.StartTimeMorning).ToList(); + else + result = result.OrderBy(x => x.StartTimeMorning).ToList(); + break; + case "STARTTIMEAFTERNOON": + if (descending == true) + result = result.OrderByDescending(x => x.StartTimeAfternoon).ToList(); + else + result = result.OrderBy(x => x.StartTimeAfternoon).ToList(); + break; + case "DESCRIPTION": + if (descending == true) + result = result.OrderByDescending(x => x.Description).ToList(); + else + result = result.OrderBy(x => x.Description).ToList(); + break; + default: + result = result.OrderBy(x => x.StatusSort).ToList(); + break; + } + } + var pageResult = result.Skip((page - 1) * pageSize).Take(pageSize) + .ToList(); - return Success(new { data = result, total = total }); + return Success(new { data = pageResult, total = result.Count }); } /// @@ -3230,7 +3170,10 @@ namespace BMA.EHR.Leave.Service.Controllers result.Add(resObj); } - + if (keyword != "") + { + result = result.Where(x => x.EditReason!.Contains(keyword) || x.CheckInLocation!.Contains(keyword) || x.CheckOutLocation!.Contains(keyword)).ToList(); + } var pageResult = result.Skip((page - 1) * pageSize).Take(pageSize) .ToList();