Showing the list of all attendance even if user have selfattendance permissons

This commit is contained in:
ashutosh.nehete 2025-10-08 14:16:24 +05:30
parent d180d5d60e
commit c47b0da7b8

View File

@ -856,10 +856,10 @@ namespace MarcoBMS.Services.Controllers
lstAttendanceQuery = lstAttendanceQuery.Where(a => a.ProjectID == projectId); lstAttendanceQuery = lstAttendanceQuery.Where(a => a.ProjectID == projectId);
} }
Attendance lstAttendance = await lstAttendanceQuery.FirstOrDefaultAsync() ?? new Attendance(); List<Attendance> lstAttendances = await lstAttendanceQuery.ToListAsync() ?? new List<Attendance>();
var project = await _context.Projects.FirstOrDefaultAsync(p => p.Id == lstAttendance.ProjectID && p.TenantId == tenantId);
var projectIds = lstAttendances.Select(a => a.ProjectID).ToList();
var projects = await _context.Projects.Where(p => projectIds.Contains(p.Id) && p.TenantId == tenantId).ToListAsync();
var employee = await _context.Employees var employee = await _context.Employees
.Include(e => e.Organization) .Include(e => e.Organization)
@ -868,21 +868,24 @@ namespace MarcoBMS.Services.Controllers
if (employee != null && employee.JobRole != null && employee.Organization != null) if (employee != null && employee.JobRole != null && employee.Organization != null)
{ {
EmployeeAttendanceVM result1 = new EmployeeAttendanceVM foreach (var lstAttendance in lstAttendances)
{ {
Id = lstAttendance.Id, EmployeeAttendanceVM result1 = new EmployeeAttendanceVM
EmployeeAvatar = null, {
EmployeeId = employee.Id, Id = lstAttendance.Id,
FirstName = employee.FirstName, EmployeeAvatar = null,
OrganizationName = employee.Organization.Name, EmployeeId = employee.Id,
ProjectName = project?.Name, FirstName = employee.FirstName,
LastName = employee.LastName, OrganizationName = employee.Organization.Name,
JobRoleName = employee.JobRole.Name, ProjectName = projects.Where(p => p.Id == lstAttendance.ProjectID).Select(p => p.Name).FirstOrDefault(),
CheckInTime = lstAttendance.InTime, LastName = employee.LastName,
CheckOutTime = lstAttendance.OutTime, JobRoleName = employee.JobRole.Name,
Activity = lstAttendance.Activity CheckInTime = lstAttendance.InTime,
}; CheckOutTime = lstAttendance.OutTime,
result.Add(result1); Activity = lstAttendance.Activity
};
result.Add(result1);
}
} }
return result; return result;