/// <summary> /// Method to get Staff details - SS /// </summary> /// <param name="getStaffAttendance">query data</param> /// <param name="loggedInUser">logged in user</param> /// <returns>list of Staff attendance</returns> public async Task <List <StaffAttendance> > GetStaffAttendanceAsync(GetStaffAttendanceManagementAc getStaffAttendance, ApplicationUser loggedInUser) { var instituteId = await _instituteUserMappingHelperService.GetUserCurrentSelectedInstituteIdAsync(loggedInUser.Id, true); var academicYear = await _iMSDbContext.SelectedAcademicYears.FirstOrDefaultAsync(x => x.AcademicYear.InstituteId == instituteId && x.UserId == loggedInUser.Id); var attendances = await _iMSDbContext.StaffAttendances.Where(x => x.AttendanceDate >= getStaffAttendance.StartDate && x.AttendanceDate <= getStaffAttendance.EndDate).ToListAsync(); if (academicYear != null) { attendances = attendances.Where(x => x.AcademicYearId == academicYear.AcademicYearId).ToList(); } attendances.ForEach(x => x.AttendanceTypeDescription = EnumHelperService.GetDescription(x.AttendanceType)); return(attendances); }
public async Task <IActionResult> GetStaffAttendanceAsync([FromBody] GetStaffAttendanceManagementAc getStaff) { var user = await _userManager.FindByNameAsync(User.Identity.Name); return(Ok(await _staffAttendanceManagementRepository.GetStaffAttendanceAsync(getStaff, user))); }