public ActionResult <CourseDto> CreateCourseForAuthor( Guid authorId, [FromBody] CourseCreationDto courseCreationDto) { if (!_repository.AuthorExists(authorId)) { return(NotFound()); } var course = _mapper.Map <Course>(courseCreationDto); _repository.AddCourse(authorId, course); var isSaved = _repository.Save(); if (!isSaved) { throw new InvalidOperationException("Error occurred: Unable to create course"); } var courseDto = _mapper.Map <CourseDto>(course); return(CreatedAtAction( "GetCourseForAuthor", new { authorId, courseId = courseDto.Id }, courseDto)); }
public async Task <ActionResult> PostCourse([FromBody] CourseCreationDto course) { _logger.LogInformation(ConstantVarriables.CourseApiPostCourseEnterMessage); ObjectResult response; if (course == null) { response = BadRequest(ConstantVarriables.ModelEmpty); } else { try { var courseEntity = _mapper.Map <Course>(course); await _courseService.CreateCourse(courseEntity); response = Ok(ConstantVarriables.DataSaved); } catch (Exception ex) { _logger.LogError(ex, ex.Message); response = BadRequest(ConstantVarriables.GenericExeptionMessage); } } _logger.LogInformation(ConstantVarriables.CourseApiPostCourseExitMessage); return(response); }
public ActionResult <CourseDto> CreateCourseForAuthor(Guid authorId, CourseCreationDto course) { if (!_coursesLibraryRepository.AuthorExists(authorId)) { return(NotFound()); } var courseEntity = _mapper.Map <Entities.Course>(course); _coursesLibraryRepository.AddCourse(authorId, courseEntity); _coursesLibraryRepository.Save(); var courseToReturn = _mapper.Map <CourseDto>(courseEntity); return(CreatedAtRoute("GetCourseForAuthor", new { authorId = authorId, courseId = courseToReturn.Id }, courseToReturn)); }
public async Task Course_Post_Test() { CourseCreationDto course = new CourseCreationDto() { CourseName = "Test Course", ProgramId = 1 }; var results = await _courseApiController.PostCourse(course); var objectResult = results as ObjectResult; Assert.NotNull(results); Assert.NotNull(objectResult); Assert.AreEqual(200, objectResult.StatusCode); }
public async Task <IActionResult> CreateCourseForAuthor(Guid authorId, CourseCreationDto course) { if (!await _courseLibraryRepository.AuthorExistsAsync(authorId)) { return(NotFound()); } var courseEntity = _mapper.Map <Course>(course); _courseLibraryRepository.AddCourse(authorId, courseEntity); await _courseLibraryRepository.SaveAsync(); var courseToReturn = _mapper.Map <CourseDto>(courseEntity); return(CreatedAtRoute("GetCourseForAuthor", new { authorId, courseId = courseToReturn.Id }, courseToReturn)); }