Added a flag in the Employee List API to retrieve active and inactive employees separately. #38

Merged
vikas.nale merged 1 commits from Ashutosh_Enhancement#172_Show_InactiveEmployees into Issues_May_2W 2025-05-08 05:38:16 +00:00
2 changed files with 8 additions and 3 deletions

View File

@ -132,7 +132,7 @@ namespace MarcoBMS.Services.Controllers
[HttpGet] [HttpGet]
[Route("list/{projectid?}")] [Route("list/{projectid?}")]
public async Task<IActionResult> GetEmployeesByProject(Guid? projectid) public async Task<IActionResult> GetEmployeesByProject(Guid? projectid, [FromQuery] bool ShowInactive)
{ {
if (!ModelState.IsValid) if (!ModelState.IsValid)
{ {
@ -142,7 +142,7 @@ namespace MarcoBMS.Services.Controllers
.ToList(); .ToList();
return BadRequest(ApiResponse<object>.ErrorResponse("Invalid data", errors, 400)); return BadRequest(ApiResponse<object>.ErrorResponse("Invalid data", errors, 400));
} }
var result = await _employeeHelper.GetEmployeeByProjectId(GetTenantId(), projectid); var result = await _employeeHelper.GetEmployeeByProjectId(GetTenantId(), projectid, ShowInactive);
return Ok(ApiResponse<object>.SuccessResponse(result, "Filter applied.", 200)); return Ok(ApiResponse<object>.SuccessResponse(result, "Filter applied.", 200));

View File

@ -71,7 +71,7 @@ namespace MarcoBMS.Services.Helpers
} }
} }
public async Task<List<EmployeeVM>> GetEmployeeByProjectId(Guid TenentId, Guid? ProjectId) public async Task<List<EmployeeVM>> GetEmployeeByProjectId(Guid TenentId, Guid? ProjectId, bool ShowInActive)
{ {
try try
{ {
@ -87,6 +87,11 @@ namespace MarcoBMS.Services.Helpers
.ToListAsync(); .ToListAsync();
} }
else if (ShowInActive)
{
result = await _context.Employees.Where(c => c.TenantId == TenentId && c.IsActive == false).Include(fp => fp.JobRole)
.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 == TenentId && c.IsActive == true).Include(fp => fp.JobRole)