public IHttpActionResult AddCourse([FromBody] AddCourseDetailViewModel course) { if (!ModelState.IsValid) { return(BadRequest("Course model is not valid!")); } try { var newCourse = _service.AddCourse(course); return(Created(Url.Link("GetCourseByID", new { id = newCourse.ID }), newCourse)); } catch (DbException) { return(InternalServerError()); } }
/// <summary> /// Add a new course to the db. Throws Db Exceptions. /// </summary> /// <param name="addCourse">A valid course view model</param> /// <returns>The newly created course entry</returns> public CourseDetailDTO AddCourse(AddCourseDetailViewModel addCourse) { try { var course = _db.Courses.Add(new Course { TemplateID = addCourse.TemplateID, Semester = addCourse.Semester, StartDate = addCourse.StartDate, EndDate = addCourse.EndDate, MaxStudents = addCourse.MaxStudents }); _db.SaveChanges(); return(GetCourseById(course.ID)); } catch (Exception e) { throw new DbException(e); } }