예제 #1
0
        public string MakeStudentReport(string firstName, string lastName,
                                        Func <IEnumerable <Attendance>, string> serializer = null)
        {
            var students = _studentService.Find(s =>
                                                s.FirstName == firstName && s.LastName == lastName).ToList();

            if (students.Count == 0)
            {
                _logger?.LogWarning($"Entered student {firstName} {lastName} doesn't exist");
                throw new ValidationException($"Entered student {firstName} {lastName} doesn't exist");
            }

            if (serializer == null)
            {
                var jsonSerializer = new JsonAttendanceSerializer();
                serializer = jsonSerializer.Serialize;
            }

            var attendance = from student in students
                             from homework in student.StudentHomework
                             select new Attendance()
            {
                LectureName   = _lectureService.GetAsync(homework.LectureId).Result.Name,
                ProfessorName = $"{_professorService.GetAsync(_lectureService.GetAsync(homework.LectureId).Result.ProfessorId).Result.FirstName} " +
                                $"{_professorService.GetAsync(_lectureService.GetAsync(homework.LectureId).Result.ProfessorId).Result.LastName}",
                StudentName      = $"{student.FirstName} {student.LastName}",
                StudentPresence  = homework.StudentPresence,
                HomeworkPresence = homework.HomeworkPresence,
                Mark             = homework.Mark,
                Date             = homework.Date
            };

            return(serializer(attendance));
        }
예제 #2
0
        public async Task <ActionResult <LectureDTO> > Get(int?id)
        {
            if (id == null)
            {
                return(BadRequest());
            }

            var lecture = await _db.GetAsync(id);

            return(Ok(lecture));
        }
예제 #3
0
        public async Task <IHttpActionResult> GetAsync(int id)
        {
            var result = await _lectureService.GetAsync(id);

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

            return(Ok(result));
        }
예제 #4
0
        public async Task <ActionResult <LectureModel> > GetByUrl(string url)
        {
            var lecture = await lectureService.GetAsync(url);

            return(Ok(lecture));
        }