public IActionResult SetStudentToCourse(int courseId, [FromBody] SetStudentViewModel student) { if (!ModelState.IsValid) { return(BadRequest()); } var setStudent = _service.SetStudentToCourse(courseId, student); string httpAnswer = setStudent.HttpAnswer; if (httpAnswer == "Created") { return(Created("", setStudent)); } else if (httpAnswer == "Conflict") { // There is no Conflict response in core it seems return(BadRequest()); } else { return(NotFound()); } }
public SetStudentDTO SetStudentToCourse(int courseId, SetStudentViewModel student) { var setCourse = _db.Courses.SingleOrDefault(x => x.ID == courseId); var setStudent = _db.Students.SingleOrDefault(x => x.SSN == student.SSN); if (setCourse == null || setStudent == null) { return(new SetStudentDTO { HttpAnswer = "NotFound" }); } var existingEntry = (from cs in _db.CoursesStudents where cs.CourseID == setCourse.ID && cs.StudentID == setStudent.ID select cs).SingleOrDefault(); if (existingEntry != null) { return(new SetStudentDTO { HttpAnswer = "Conflict" }); } var courseStudent = new CourseStudent { CourseID = setCourse.ID, StudentID = setStudent.ID }; _db.CoursesStudents.Add(courseStudent); _db.SaveChanges(); return(new SetStudentDTO { ID = courseStudent.ID, SSN = setStudent.SSN, HttpAnswer = "Created" }); }