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
Showing only changes of commit 5dbf43bfa8 - Show all commits

View File

@ -132,7 +132,7 @@ namespace MarcoBMS.Services.Controllers
[HttpGet]
[Route("list/{projectid?}")]
public async Task<IActionResult> GetEmployeesByProject(Guid? projectid)
public async Task<IActionResult> GetEmployeesByProject(Guid? projectid, [FromQuery] bool ShowInactive)
{
if (!ModelState.IsValid)
{
@ -142,7 +142,7 @@ namespace MarcoBMS.Services.Controllers
.ToList();
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));

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
{
@ -87,6 +87,11 @@ namespace MarcoBMS.Services.Helpers
.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
{
result = await _context.Employees.Where(c => c.TenantId == TenentId && c.IsActive == true).Include(fp => fp.JobRole)