public async Task <ActionResult <CourseDto> > PartiallyEditCourse(int courseId, JsonPatchDocument <CourseForEditDto> patchDocument) { var courseFromRepo = await _coursesRepo.GetCourseByIdAsync(courseId); if (courseFromRepo == null) { return(NotFound()); } //create coursetoEditDto to patch apples to apples var courseToPatch = new CourseForEditDto(); patchDocument.ApplyTo(courseToPatch, ModelState); if (!TryValidateModel(courseToPatch)) { return(ValidationProblem(ModelState)); } _mapper.Map(courseToPatch, courseFromRepo); _coursesRepo.UpdateCourse(courseFromRepo); await _coursesRepo.SaveAsync(); return(Ok(_mapper.Map <CourseDto>(courseFromRepo))); }
public async Task <ActionResult <CourseDto> > EditCourse([FromRoute] int courseId, [FromBody] CourseForEditDto course) { var courseToEdit = await _coursesRepo.GetCourseByIdAsync(courseId); if (courseToEdit == null) { return(NotFound()); } _mapper.Map(course, courseToEdit); _coursesRepo.UpdateCourse(courseToEdit); await _coursesRepo.SaveAsync(); return(Ok(_mapper.Map <CourseDto>(courseToEdit))); }