示例#1
0
        public async Task <IActionResult> GetAttendanceToDisplay(TutorAttendanceDtoForDisplay model)
        {
            var responseUsers = await _repo.GetUsersForAttendance(model.subjectId, model.className);

            _response = await _repo.GetAttendanceToDisplay(responseUsers.Data, model);

            return(Ok(_response));
        }
示例#2
0
        public async Task <ServiceResponse <object> > GetAttendanceToDisplay(List <UsersForAttendanceListDto> list, TutorAttendanceDtoForDisplay model)
        {
            //OnInIt();
            DateTime DTdate   = DateTime.ParseExact(model.date, "MM/dd/yyyy", null);
            var      ToReturn = (from user in list
                                 join attendance in _context.TutorAttendances
                                 on user.StudentId equals attendance.StudentId

                                 where attendance.CreatedDatetime.Date == DTdate.Date
                                 select new TutorAttendanceDtoForList
            {
                Id = attendance.Id,
                StudentId = attendance.StudentId,
                SubjectId = Convert.ToInt32(attendance.SubjectId),
                FullName = user.FullName,
                CreatedDatetime = DateFormat.ToDate(attendance.CreatedDatetime.ToString()),
                Present = attendance.Present,
                Absent = attendance.Absent,
                Late = attendance.Late,
                Comments = attendance.Comments,
                AbsentCount = user.AbsentCount,
                LateCount = user.LateCount,
                PresentCount = user.PresentCount,
                Photos = user.Photos
            }).ToList();

            ToReturn.AddRange(list.Where(m => !ToReturn.Select(m => m.StudentId).Contains(m.StudentId)).Select(o => new TutorAttendanceDtoForList
            {
                StudentId       = o.StudentId,
                SubjectId       = o.SubjectId,
                FullName        = o.FullName,
                CreatedDatetime = "",
                Present         = false,
                Absent          = false,
                Late            = false,
                Comments        = "",
                AbsentCount     = o.AbsentCount,
                LateCount       = o.LateCount,
                PresentCount    = o.PresentCount,
                Photos          = o.Photos
            }).ToList());

            _serviceResponse.Data    = ToReturn;
            _serviceResponse.Success = true;
            return(_serviceResponse);
        }