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)
{
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)
.Distinct()
.ToListAsync();
result = await _context.Employees
.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())
.Distinct()
.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
{
List<EmployeeVM> result = new List<EmployeeVM>();
if (ProjectId.HasValue)
if (projectId.HasValue)
{
result = await _context.ProjectAllocations
.Include(pa => pa.Employee)
.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())
.Distinct()
.ToListAsync();
}
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();
}
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();
}
@ -103,7 +102,7 @@ namespace MarcoBMS.Services.Helpers
}
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>();
}
}