Checking the if employee is actively assigned to the project when getting list of emplyees when assigning task

This commit is contained in:
ashutosh.nehete 2025-12-09 18:59:07 +05:30
parent 7459876a20
commit 4853613efd

View File

@ -1434,8 +1434,7 @@ namespace Marco.Pms.Services.Service
return ApiResponse<object>.SuccessResponse(result, "Employee list fetched successfully", 200); return ApiResponse<object>.SuccessResponse(result, "Employee list fetched successfully", 200);
} }
public async Task<ApiResponse<object>> GetProjectTeamByServiceAndOrganizationAsync( public async Task<ApiResponse<object>> GetProjectTeamByServiceAndOrganizationAsync(Guid projectId, Guid? serviceId, Guid? organizationId, Employee loggedInEmployee, Guid tenantId)
Guid projectId, Guid? serviceId, Guid? organizationId, Employee loggedInEmployee, Guid tenantId)
{ {
_logger.LogDebug("Started fetching project team. ProjectId: {ProjectId}, ServiceId: {ServiceId}, OrganizationId: {OrganizationId}, TenantId: {TenantId}, EmployeeId: {EmployeeId}", _logger.LogDebug("Started fetching project team. ProjectId: {ProjectId}, ServiceId: {ServiceId}, OrganizationId: {OrganizationId}, TenantId: {TenantId}, EmployeeId: {EmployeeId}",
projectId, serviceId ?? Guid.Empty, organizationId ?? Guid.Empty, tenantId, loggedInEmployee.Id); projectId, serviceId ?? Guid.Empty, organizationId ?? Guid.Empty, tenantId, loggedInEmployee.Id);
@ -1513,7 +1512,8 @@ namespace Marco.Pms.Services.Service
.ThenInclude(e => e!.JobRole) .ThenInclude(e => e!.JobRole)
.Where(pa => pa.ProjectId == projectId .Where(pa => pa.ProjectId == projectId
&& pa.Employee != null && pa.Employee != null
&& organizationIds.Contains(pa.Employee.OrganizationId)); && organizationIds.Contains(pa.Employee.OrganizationId)
&& pa.IsActive);
if (serviceId.HasValue) if (serviceId.HasValue)
{ {
@ -1530,6 +1530,8 @@ namespace Marco.Pms.Services.Service
var employeeList = projectAllocations var employeeList = projectAllocations
.Select(pa => _mapper.Map<EmployeeVM>(pa.Employee)) .Select(pa => _mapper.Map<EmployeeVM>(pa.Employee))
.Distinct() .Distinct()
.OrderBy(e => e.FirstName)
.ThenBy(e => e.LastName)
.ToList(); .ToList();
_logger.LogInfo("Fetched {EmployeeCount} employees for Project {ProjectId}.", employeeList.Count, projectId); _logger.LogInfo("Fetched {EmployeeCount} employees for Project {ProjectId}.", employeeList.Count, projectId);