Esempio n. 1
0
        /// <summary>
        /// Updates the given course.
        /// </summary>
        /// <exception cref="AppObjectNotFoundException">Thrown if we can't find the course.</exception>
        /// <param name="ID">The ID of the course to update.</param>
        /// <param name="courseVM">The course update viewmodel.</param>
        /// <returns>Returns a course DTO for the updated course.</returns>
        public CourseDTO UpdateCourse(int ID, CourseUpdateViewModel courseVM)
        {
            Course courseToUpdate = _context.Courses.Where(c => c.ID == ID).SingleOrDefault();

            if (courseToUpdate == null)
            {
                throw new AppObjectNotFoundException();
            }

            courseToUpdate.StartDate   = courseVM.StartDate;
            courseToUpdate.EndDate     = courseVM.EndDate;
            courseToUpdate.MaxStudents = courseVM.MaxStudents;
            _context.SaveChanges();

            //Create the return object
            string courseName = _context.CourseTemplates.Where(c => c.TemplateID == courseToUpdate.TemplateID).Select(c => c.Name).SingleOrDefault();

            CourseDTO courseDTO = new CourseDTO
            {
                ID           = courseToUpdate.ID,
                Name         = courseName,
                MaxStudents  = courseToUpdate.MaxStudents,
                Semester     = courseToUpdate.Semester,
                StartDate    = courseToUpdate.StartDate,
                StudentCount = _context.StudentEnrollment.Count(se => se.CourseID == courseToUpdate.ID)
            };

            return(courseDTO);
        }
Esempio n. 2
0
        public async Task <IHttpActionResult> PutCourse(CourseUpdateViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var course = await _courses.Find(model.Id);

            course.Title        = model.Title;
            course.Credits      = model.Credits;
            course.DepartmentId = model.DepartmentId;

            try
            {
                await _courses.Update(course);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!_courses.Exists(course.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Esempio n. 3
0
        /// <summary>
        /// Updates the given course.
        /// </summary>
        /// <param name="ID">The ID of the course to update.</param>
        /// <param name="courseVM">The course update viewmodel.</param>
        /// <returns>Returns true if the update was successful, otherwise false (if not found).</returns>
        public bool UpdateCourse(int ID, CourseUpdateViewModel courseVM)
        {
            Course courseToUpdate = _context.Courses.Where(c => c.ID == ID).SingleOrDefault();

            if (courseToUpdate == null)
            {
                return(false);
            }

            courseToUpdate.StartDate = courseVM.StartDate;
            courseToUpdate.EndDate   = courseVM.EndDate;
            _context.SaveChanges();
            return(true);
        }
Esempio n. 4
0
        public IHttpActionResult UpdateCourse(int ID, CourseUpdateViewModel courseVM)
        {
            if (!ModelState.IsValid)
            {
                throw new HttpResponseException(HttpStatusCode.PreconditionFailed);
            }

            bool updateSuccessful = _service.UpdateCourse(ID, courseVM);

            if (!updateSuccessful)
            {
                return(NotFound());
            }

            return(Ok()); //Skila líklega Ok(object) eða content(StatusCode.Ok, CourseDTO);
        }
Esempio n. 5
0
        public IActionResult Update([FromBody] CourseUpdateViewModel updatedCourse)
        {
            var course = CourseRepository.Get(updatedCourse.Id);

            if (course == null)
            {
                return(BadRequest("Course does not exist"));
            }

            course.Name    = updatedCourse.Course.Name;
            course.Credits = updatedCourse.Course.Credits;

            CourseRepository.Update(course);
            CourseRepository.SaveChanges();

            return(Ok());
        }
Esempio n. 6
0
        public IHttpActionResult UpdateCourse(int ID, CourseUpdateViewModel courseVM)
        {
            if (!ModelState.IsValid)
            {
                throw new HttpResponseException(HttpStatusCode.PreconditionFailed);
            }

            CourseDTO courseDTO = null;

            try
            {
                courseDTO = _service.UpdateCourse(ID, courseVM);
            }
            catch (AppObjectNotFoundException)
            {
                return(NotFound());
            }

            return(Ok(courseDTO));
        }