diff --git a/Marco.Pms.Services/Controllers/MasterController.cs b/Marco.Pms.Services/Controllers/MasterController.cs index 510c2df..ff2c18e 100644 --- a/Marco.Pms.Services/Controllers/MasterController.cs +++ b/Marco.Pms.Services/Controllers/MasterController.cs @@ -40,7 +40,7 @@ namespace Marco.Pms.Services.Controllers #region =================================================================== Job Status APIs =================================================================== [HttpGet("job-status/list")] - public async Task GetJobStatusAsync([FromQuery] Guid? statusId, [FromQuery] Guid? projectId) + public async Task GetJobStatus([FromQuery] Guid? statusId, [FromQuery] Guid? projectId) { var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync(); var response = await _masterService.GetJobStatusAsync(statusId, projectId, loggedInEmployee, tenantId); @@ -48,6 +48,16 @@ namespace Marco.Pms.Services.Controllers } #endregion + #region =================================================================== Job Status APIs =================================================================== + [HttpGet("team-roles/list")] + public async Task GetTeamRoles() + { + var loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync(); + var response = await _masterService.GetTeamRolesAsync(loggedInEmployee, tenantId); + return StatusCode(response.StatusCode, response); + } + #endregion + #region =================================================================== Recurring Payment Status APIs =================================================================== [HttpGet("recurring-status/list")] diff --git a/Marco.Pms.Services/Service/MasterService.cs b/Marco.Pms.Services/Service/MasterService.cs index f4d5da3..fe8b1bc 100644 --- a/Marco.Pms.Services/Service/MasterService.cs +++ b/Marco.Pms.Services/Service/MasterService.cs @@ -129,6 +129,29 @@ namespace Marco.Pms.Services.Service #endregion + #region =================================================================== Team Roles APIs =================================================================== + + public async Task> GetTeamRolesAsync(Employee loggedInEmployee, Guid tenantId) + { + _logger.LogDebug("GetTeamRolesAsync called"); + + try + { + // Step 1: Fetch global team roles + var status = await _context.TeamRoleMasters.OrderBy(rps => rps.Name).ToListAsync(); + + _logger.LogInfo("Fetched {Count} team roles records for tenantId: {TenantId}", status.Count, tenantId); + + return ApiResponse.SuccessResponse(status, $"{status.Count} record(s) of team roles fetched successfully", 200); + } + catch (Exception ex) + { + _logger.LogError(ex, "Error fetching team roles"); + return ApiResponse.ErrorResponse("An error occurred while fetching team roles", ex.Message, 500); + } + } + #endregion + #region =================================================================== Recurring Payment Status APIs =================================================================== public async Task> GetRecurringPaymentStatusAsync(Employee loggedInEmployee, Guid tenantId) diff --git a/Marco.Pms.Services/Service/ServiceInterfaces/IMasterService.cs b/Marco.Pms.Services/Service/ServiceInterfaces/IMasterService.cs index 87f4d65..d5eb10c 100644 --- a/Marco.Pms.Services/Service/ServiceInterfaces/IMasterService.cs +++ b/Marco.Pms.Services/Service/ServiceInterfaces/IMasterService.cs @@ -14,6 +14,10 @@ namespace Marco.Pms.Services.Service.ServiceInterfaces Task> GetJobStatusAsync(Guid? statusId, Guid? projectId, Employee loggedInEmployee, Guid tenantId); #endregion + #region =================================================================== Job Status APIs =================================================================== + Task> GetTeamRolesAsync(Employee loggedInEmployee, Guid tenantId); + #endregion + #region =================================================================== Recurring Payment Status APIs =================================================================== Task> GetRecurringPaymentStatusAsync(Employee loggedInEmployee, Guid tenantId); #endregion