splited the logic to get employee by projecr id
This commit is contained in:
parent
aa2a370467
commit
ecabf52f2f
@ -4,6 +4,7 @@ using Marco.Pms.Model.Employees;
|
||||
using Marco.Pms.Model.Mapper;
|
||||
using Marco.Pms.Model.ViewModels.Employee;
|
||||
using MarcoBMS.Services.Service;
|
||||
using Microsoft.CodeAnalysis;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace MarcoBMS.Services.Helpers
|
||||
@ -78,12 +79,17 @@ namespace MarcoBMS.Services.Helpers
|
||||
List<EmployeeVM> result = new List<EmployeeVM>();
|
||||
if (projectId.HasValue)
|
||||
{
|
||||
var employeeIds = await _context.ProjectAllocations
|
||||
.Where(pa => projectId == pa.ProjectId && pa.IsActive && pa.TenantId == tenantId)
|
||||
.Select(pa => pa.EmployeeId)
|
||||
.Distinct()
|
||||
.ToListAsync();
|
||||
|
||||
result = await _context.ProjectAllocations
|
||||
.Include(pa => pa.Employee)
|
||||
.ThenInclude(e => e!.JobRole)
|
||||
.Where(pa => pa.ProjectId == projectId.Value && pa.IsActive && pa.Employee != null && pa.TenantId == tenantId)
|
||||
.Select(pa => pa.Employee!.ToEmployeeVMFromEmployee())
|
||||
result = await _context.Employees
|
||||
.Include(fp => fp.JobRole)
|
||||
.Where(e => employeeIds.Contains(e.Id) && e.IsActive && e.TenantId == tenantId)
|
||||
.Select(e => e.ToEmployeeVMFromEmployee())
|
||||
.Distinct()
|
||||
.ToListAsync();
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user