コード例 #1
0
        /// <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);
        }
コード例 #2
0
        public async Task <IActionResult> GetStaffAttendanceAsync([FromBody] GetStaffAttendanceManagementAc getStaff)
        {
            var user = await _userManager.FindByNameAsync(User.Identity.Name);

            return(Ok(await _staffAttendanceManagementRepository.GetStaffAttendanceAsync(getStaff, user)));
        }