예제 #1
0
        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());
            }
        }
예제 #2
0
        /// <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);
            }
        }