// PUT api/universities/{universityCode}/students/{studentId}/programs/{programCode} public HttpResponseMessage PutStudentProgram(string universityCode, string studentId, string programCode, EIStudentEnrolledProgram studentProgram) { if (ModelState.IsValid && programCode == studentProgram.ProgramCode) { EIStudentEnrolledProgram existingStudentProgram = GetStudentProgram(universityCode, studentId, programCode); existingStudentProgram.EndDate = studentProgram.EndDate; existingStudentProgram.StartDate = studentProgram.StartDate; existingStudentProgram.Status = studentProgram.Status; existingStudentProgram.CGPA = studentProgram.CGPA; //db.Entry(existingStudent).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } return(Request.CreateResponse(HttpStatusCode.OK, existingStudentProgram)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState.Values)); } }
// GET api/universities/{universityCode}/students/{studentId}/programs/{programCode} public EIStudentEnrolledProgram GetStudentProgram(string universityCode, string studentId, string programCode) { EIStudentEnrolledProgram studentProgram = db.StudentPrograms.FirstOrDefault(sp => sp.Student.EducationalInstitute.Code == universityCode && sp.Student.StudentId == studentId && sp.ProgramCode == programCode); if (studentProgram == null) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound)); } return(studentProgram); }
// DELETE api/universities/{universityCode}/students/{studentId}/programs/{programCode} public HttpResponseMessage DeleteStudentProgram(string universityCode, string studentId, string programCode) { EIStudentEnrolledProgram studentProgram = GetStudentProgram(universityCode, studentId, programCode); if (studentProgram == null) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } db.StudentPrograms.Remove(studentProgram); try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } return(Request.CreateResponse(HttpStatusCode.OK, studentProgram)); }
// POST api/universities/{universityCode}/students/ public HttpResponseMessage PostStudentProgram(string universityCode, string studentId, EIStudentEnrolledProgram studentProgram) { if (ModelState.IsValid) { studentProgram.Student = db.Students.First(s => s.EducationalInstitute.Code == universityCode && s.StudentId == studentId); db.StudentPrograms.Add(studentProgram); db.SaveChanges(); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, studentProgram); response.Headers.Location = new Uri(Url.Link("ProgramsOfStudentOfEducationalInstitute", new { universityCode = universityCode, studentId = studentProgram.Id, programCode = studentProgram.ProgramCode })); return(response); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState.Values)); } }