// GET api/universities/{universityCode}/programs/{programCode}/courses/{courseCode} public EIProgramRequiredCourse GetProgramCourse(string universityCode, string programCode, string courseCode) { EIProgramRequiredCourse programcourse = db.ProgramCourses.FirstOrDefault(pc => pc.Program.EducationalInstitute.Code == universityCode && pc.Program.Code == programCode && pc.Code == courseCode); if (programcourse == null) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound)); } return(programcourse); }
// DELETE api/universities/{universityCode}/programs/{programCode}/courses/{courseCode} public HttpResponseMessage DeleteProgramCourse(string universityCode, string programCode, string courseCode) { EIProgramRequiredCourse programcourse = GetProgramCourse(universityCode, programCode, courseCode); if (programcourse == null) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } db.ProgramCourses.Remove(programcourse); try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } return(Request.CreateResponse(HttpStatusCode.OK, programcourse)); }
// POST api/universities/{universityCode}/programs/{programCode}/courses public HttpResponseMessage PostProgramCourse(string universityCode, string programCode, [FromBody] EIProgramRequiredCourse programcourse) { if (ModelState.IsValid) { programcourse.Program = db.Programs.First(p => p.EducationalInstitute.Code == universityCode && p.Code == programCode); db.ProgramCourses.Add(programcourse); db.SaveChanges(); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, programcourse); response.Headers.Location = new Uri(Url.Link("CoursesOfProgramsOfEducationalInstitute", new { universityCode = universityCode, programCode = programCode, courseCode = programcourse.Code })); return(response); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState.Values)); } }
// PUT api/universities/{universityCode}/programs/{programCode}/courses/{courseCode} public HttpResponseMessage PutProgramCourse(string universityCode, string programCode, string courseCode, [FromBody] EIProgramRequiredCourse programcourse) { if (ModelState.IsValid && courseCode == programcourse.Code) { var pc = GetProgramCourse(universityCode, programCode, courseCode); //db.Entry(programcourse).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState.Values)); } }