Ejemplo n.º 1
0
        public async Task <IHttpActionResult> GetStudentAttendance(int id)
        {
            var model = await _studentAttendanceService.GetStudentAttendanceAsync(id);

            if (model == null)
            {
                return(NotFound());
            }

            return(Ok(model));
        }
        public async Task <StudentDetailModel> GetStudentDetailAsync(int studentUsi, string recipientUniqueId, int recipientTypeId)
        {
            var student = await _studentRepository.GetStudentDetailAsync(studentUsi);

            if (student == null)
            {
                return(null);
            }
            // Add ABCs
            student.ImageUrl = await _imageUrlProvider.GetStudentImageUrlAsync(student.StudentUniqueId);

            student.Attendance = await _studentAttendanceService.GetStudentAttendanceAsync(student.StudentUsi);

            student.Behavior = await _studentBehaviorService.GetStudentBehaviorAsync(student.StudentUsi);

            student.CourseGrades = await _studentCourseGradesService.GetStudentCourseGradesAsync(student.StudentUsi);

            student.MissingAssignments = await _studentAssignmentService.GetStudentMissingAssignments(student.StudentUsi);

            student.Schedule = await _studentScheduleService.GetStudentScheduleAsync(student.StudentUsi);

            student.Assessment = await _studentAssessmentService.GetStudentAssessmentsAsync(student.StudentUsi);

            student.Programs = await _studentProgramService.GetStudentProgramsAsync(student.StudentUsi);

            student.Indicators = await _studentIndicatorService.GetStudentIndicatorsAsync(student.StudentUsi);

            student.SuccessTeamMembers = await _studentSuccessTeamService.GetStudentSuccessTeamAsync(student.StudentUsi, recipientUniqueId, recipientTypeId);

            student.OnTrackToGraduate = await _studentGraduationReadinessService.IsStudentOnTrackToGraduateAsync(student.StudentUsi);

            student.UnreadMessageCount = await _communicationsService.UnreadMessageCount(student.StudentUsi, recipientUniqueId, recipientTypeId, null, null);

            student.ExternalLinks = await _spotlightIntegrationsService.GetStudentExternalLinks(student.StudentUniqueId);

            student.StaarAssessmentHistory = await _studentAssessmentService.GetStudentStaarAssessmentHistoryAsync(student.StudentUsi);

            student.StudentDomainMastery = await _studentAssessmentService.GetStudentDomainMasteryAsync(student.StudentUsi);

            student.StudentGoals = await _studentGoalService.GetStudentGoals(student.StudentUsi);

            student.StudentAllAboutMe = await _studentAllAboutService.GetStudentAllAbout(student.StudentUsi);

            return(student);
        }
        public async Task <StudentCalendar> GetStudentCalendar(int studentUsi)
        {
            StudentAttendance studentAttendance = await _studentAtttendanceRepository.GetStudentAttendanceAsync(studentUsi);

            var descriptors = _customParametersProvider.GetParameters().descriptors;
            var days        = await _studentRepository.GetStudentCalendarDays(studentUsi);

            var calendar = new StudentCalendar();

            calendar.InstructionalDays    = days.Where(x => x.Event.Description.Contains(descriptors.instructionalDayDescriptorCodeValue)).ToList();
            calendar.NonInstructionalDays = days.Where(x => x.Event.Description.Contains(descriptors.nonInstrunctionalDayDescriptorCodeValue)).ToList();
            calendar.Holidays             = days.Where(x => x.Event.Description.Contains(descriptors.holiDayDescriptorCodeValue)).ToList();
            calendar.TeacherOnlyDays      = days.Where(x => x.Event.Description.Contains(descriptors.teacherOnlyDayDescriptorCodeValue)).ToList();
            calendar.AttendanceEventDays  = new List <StudentCalendarDay>();
            calendar.AttendanceEventDays.AddRange(studentAttendance.ExcusedAttendanceEvents.Select(x => new StudentCalendarDay
            {
                Date  = x.DateOfEvent,
                Event = new StudentCalendarEvent {
                    Name = x.EventCategory, Description = string.Format("{0}{1}", x.EventDescription, x.Reason != null ? ": " + x.Reason : "")
                }
            }).ToList());
            calendar.AttendanceEventDays.AddRange(studentAttendance.UnexcusedAttendanceEvents.Select(x => new StudentCalendarDay
            {
                Date  = x.DateOfEvent,
                Event = new StudentCalendarEvent {
                    Name = x.EventCategory, Description = x.EventDescription
                }
            }).ToList());
            calendar.AttendanceEventDays.AddRange(studentAttendance.TardyAttendanceEvents.Select(x => new StudentCalendarDay
            {
                Date  = x.DateOfEvent,
                Event = new StudentCalendarEvent {
                    Name = x.EventCategory, Description = x.EventDescription
                }
            }).ToList());

            return(calendar);
        }