diff --git a/Marco.Pms.Services/Controllers/DashboardController.cs b/Marco.Pms.Services/Controllers/DashboardController.cs index cf7927e..eee93bd 100644 --- a/Marco.Pms.Services/Controllers/DashboardController.cs +++ b/Marco.Pms.Services/Controllers/DashboardController.cs @@ -206,6 +206,14 @@ namespace Marco.Pms.Services.Controllers return Ok(ApiResponse.SuccessResponse(dashboardVM, "Project counts fetched successfully.", 200)); } + [HttpGet("project-completion-status")] + public async Task GetAllProjectsAsync() + { + var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync(); + var response = await _projectServices.GetAllProjectsAsync(string.Empty, 0, 0, loggedInEmployee, tenantId); + return StatusCode(response.StatusCode, response); + } + /// /// Retrieves a dashboard summary of total employees and today's attendance. /// If a projectId is provided, it returns totals for that project; otherwise, for all accessible active projects. diff --git a/Marco.Pms.Services/Service/ProjectServices.cs b/Marco.Pms.Services/Service/ProjectServices.cs index 2370016..9be8957 100644 --- a/Marco.Pms.Services/Service/ProjectServices.cs +++ b/Marco.Pms.Services/Service/ProjectServices.cs @@ -220,6 +220,12 @@ namespace Marco.Pms.Services.Service _logger.LogInfo("Cache HIT. All {ProjectCount} projects found in cache.", projectIds.Count); } + if (pageNumber <= 0 || pageSize <= 0) + { + _logger.LogInfo("Successfully retrieved a total of {ProjectCount} projects.", responseVms.Count); + return ApiResponse.SuccessResponse(responseVms, "Projects retrieved successfully.", 200); + } + var totalEntites = responseVms.Count; var totalPages = (int)Math.Ceiling((double)totalEntites / pageSize);