コード例 #1
0
        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());
            }
        }
コード例 #2
0
        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"
            });
        }