/// <summary> /// Method to get student details - SS /// </summary> /// <param name="getStudentAttendance">query data</param> /// <returns>list of student attendance</returns> public async Task <List <StudentAttendance> > GetStudentAttendanceAsync(GetStudentAttendanceManagementAc getStudentAttendance, 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.StudentAttendances.Where(x => x.AttendanceDate >= getStudentAttendance.StartDate && x.AttendanceDate <= getStudentAttendance.EndDate && x.Student.CurrentClassId == getStudentAttendance.ClassId && x.Student.SectionId == getStudentAttendance.SectionId && x.PeriodOrderId == getStudentAttendance.PeriodOrderId).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> GetStudentAttendanceAsync([FromBody] GetStudentAttendanceManagementAc getStudent) { var user = await _userManager.FindByNameAsync(User.Identity.Name); return(Ok(await _studentAttendanceManagementRepository.GetStudentAttendanceAsync(getStudent, user))); }