コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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));
        }