コード例 #1
0
        public SubjectTeacherSubjectDTOItems GetTeacherDTOListBySubjectId(int subjectId)
        {
            Subject foundSubject = db.SubjectsRepository.GetByID(subjectId);

            if (foundSubject == null)
            {
                throw new HttpException("Subject with id: " + subjectId + " was not found");
            }

            IEnumerable <TeacherToSubject> subjectsTeachers = foundSubject.SubjectsTeachers;

            SubjectTeacherSubjectDTOItems dto = new SubjectTeacherSubjectDTOItems
            {
                SubjectId = foundSubject.Id,
                Name      = foundSubject.Name,
                Grade     = foundSubject.Grade,
                NumberOfClassesPerWeek = foundSubject.NumberOfClassesPerWeek,
                Teachers = new List <TeacherSubjectDTOItemForSubject>()
            };

            foreach (var ts in subjectsTeachers)
            {
                TeacherSubjectDTOItemForSubject teacherDTO = ConvertToTeacherSubjectDTOItemForSubject(ts);
                dto.Teachers.Add(teacherDTO);
            }

            dto.Teachers = dto.Teachers.OrderBy(x => x.Teacher).ToList();
            return(dto);
        }
コード例 #2
0
        public HttpResponseMessage GetTeacherDTOListBySubjectId(int subjectId)
        {
            string userId   = ((ClaimsPrincipal)RequestContext.Principal).FindFirst(x => x.Type == "UserId").Value;
            string userRole = ((ClaimsPrincipal)RequestContext.Principal).FindFirst(x => x.Type == ClaimTypes.Role).Value;

            logger.Info("UserRole: " + userRole + ", UserId: " + userId + ": Requesting Subject Collection By Subject Id" + subjectId);

            try
            {
                SubjectTeacherSubjectDTOItems teachers = teachersToSubjectsService.GetTeacherDTOListBySubjectId(subjectId);

                if (teachers == null)
                {
                    logger.Info("Failed!");
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Failed!"));
                }

                logger.Info("Success!");
                return(Request.CreateResponse(HttpStatusCode.OK, teachers));
            }
            catch (Exception e)
            {
                logger.Error(e);
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e));
            }
        }