getting the employee list filtered by tenant

This commit is contained in:
ashutosh.nehete 2025-09-08 15:07:30 +05:30
parent 73318060ec
commit aa2a370467
2 changed files with 8 additions and 9 deletions

View File

@ -143,14 +143,14 @@ namespace MarcoBMS.Services.Controllers
else if (hasViewTeamMembersPermission && !ShowInactive) else if (hasViewTeamMembersPermission && !ShowInactive)
{ {
var employeeIds = await _context.ProjectAllocations var employeeIds = await _context.ProjectAllocations
.Where(pa => projectIds.Contains(pa.ProjectId) && pa.IsActive) .Where(pa => projectIds.Contains(pa.ProjectId) && pa.IsActive && pa.TenantId == tenantId)
.Select(pa => pa.EmployeeId) .Select(pa => pa.EmployeeId)
.Distinct() .Distinct()
.ToListAsync(); .ToListAsync();
result = await _context.Employees result = await _context.Employees
.Include(fp => fp.JobRole) .Include(fp => fp.JobRole)
.Where(e => employeeIds.Contains(e.Id) && e.IsActive) .Where(e => employeeIds.Contains(e.Id) && e.IsActive && e.TenantId == tenantId)
.Select(e => e.ToEmployeeVMFromEmployee()) .Select(e => e.ToEmployeeVMFromEmployee())
.Distinct() .Distinct()
.ToListAsync(); .ToListAsync();

View File

@ -71,31 +71,30 @@ namespace MarcoBMS.Services.Helpers
} }
} }
public async Task<List<EmployeeVM>> GetEmployeeByProjectId(Guid TenentId, Guid? ProjectId, bool ShowInActive) public async Task<List<EmployeeVM>> GetEmployeeByProjectId(Guid tenantId, Guid? projectId, bool ShowInActive)
{ {
try try
{ {
List<EmployeeVM> result = new List<EmployeeVM>(); List<EmployeeVM> result = new List<EmployeeVM>();
if (ProjectId.HasValue) if (projectId.HasValue)
{ {
result = await _context.ProjectAllocations result = await _context.ProjectAllocations
.Include(pa => pa.Employee) .Include(pa => pa.Employee)
.ThenInclude(e => e!.JobRole) .ThenInclude(e => e!.JobRole)
.Where(c => c.ProjectId == ProjectId.Value && c.IsActive && c.Employee != null) .Where(pa => pa.ProjectId == projectId.Value && pa.IsActive && pa.Employee != null && pa.TenantId == tenantId)
.Select(pa => pa.Employee!.ToEmployeeVMFromEmployee()) .Select(pa => pa.Employee!.ToEmployeeVMFromEmployee())
.Distinct()
.ToListAsync(); .ToListAsync();
} }
else if (ShowInActive) else if (ShowInActive)
{ {
result = await _context.Employees.Where(c => c.TenantId == TenentId && c.IsActive == false).Include(fp => fp.JobRole) result = await _context.Employees.Where(c => c.TenantId == tenantId && c.IsActive == false).Include(fp => fp.JobRole)
.Select(c => c.ToEmployeeVMFromEmployee()).ToListAsync(); .Select(c => c.ToEmployeeVMFromEmployee()).ToListAsync();
} }
else else
{ {
result = await _context.Employees.Where(c => c.TenantId == TenentId && c.IsActive == true).Include(fp => fp.JobRole) result = await _context.Employees.Where(c => c.TenantId == tenantId && c.IsActive == true).Include(fp => fp.JobRole)
.Select(c => c.ToEmployeeVMFromEmployee()).ToListAsync(); .Select(c => c.ToEmployeeVMFromEmployee()).ToListAsync();
} }
@ -103,7 +102,7 @@ namespace MarcoBMS.Services.Helpers
} }
catch (Exception ex) catch (Exception ex)
{ {
_logger.LogError(ex, "Error occured while featching list of employee by project ID {ProjectId}", ProjectId ?? Guid.Empty); _logger.LogError(ex, "Error occured while featching list of employee by project ID {ProjectId}", projectId ?? Guid.Empty);
return new List<EmployeeVM>(); return new List<EmployeeVM>();
} }
} }