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); }
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)); } }