public async Task <ActionResult <CourseResource> > UpdateCourse(int id, [FromBody] SaveCourseResource saveCourseResource) { var validator = new SaveCourseResourceValidator(); var validationResult = await validator.ValidateAsync(saveCourseResource); var requestIsInvalid = id <= 0 || !validationResult.IsValid; if (requestIsInvalid) { _logger.LogError(DateTime.Now + "\nUpdating course failed, validation isn't valid\n" + validationResult.Errors.ToString()); return(BadRequest(validationResult.Errors)); } var courseToBeUpdate = await _courseService.GetCourseWithLecturerById(id); var course = _mapper.Map <SaveCourseResource, Course>(saveCourseResource); course.Id = id; await _courseService.UpdateCourse(course); var updatedCourse = await _courseService.GetCourseWithLecturerById(id); var updatedCourseResource = _mapper.Map <Course, SaveCourseResource>(updatedCourse); return(Ok(updatedCourseResource)); }
public async Task CreateCourse_LecturerIdEmptyValidationError_Test() { // Arrange var newCourse = new SaveCourseResource { Name = "New" }; // Act var result = await Controller.CreateCourse(newCourse); var badRequest = result.Result as BadRequestObjectResult; // Assert Assert.That(badRequest is BadRequestObjectResult); }
public async Task UpdateCourse_IdLowerThanOneValidationError_Test(int id) { // Arrange var updateCourse = new SaveCourseResource { Name = "Update" }; // Act var result = await Controller.UpdateCourse(id, updateCourse); var badRequest = result.Result as BadRequestObjectResult; // Assert Assert.That(badRequest is BadRequestObjectResult); }
public async Task <IActionResult> Create([FromBody] SaveCourseResource courseResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var course = mapper.Map <SaveCourseResource, Course>(courseResource); unitOfWork.Courses.Add(course); await unitOfWork.CompleteAsync(); var result = mapper.Map <Course, SaveCourseResource>(course); return(Ok(result)); }
public async Task <IActionResult> PostAsync([FromBody] SaveCourseResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var course = _mapper.Map <SaveCourseResource, Course>(resource); var result = await _courseService.SaveAsync(course); if (!result.Success) { return(BadRequest(result.Message)); } var courseResource = _mapper.Map <Course, CourseResource>(result.Resource); return(Ok(courseResource)); }
public async Task <IActionResult> Update(int id, [FromBody] SaveCourseResource resouce) { var course = await unitOfWork.Courses.Get(id); if (course == null) { return(NotFound()); } resouce.Id = course.Id; mapper.Map <SaveCourseResource, Course>(resouce, course); await unitOfWork.CompleteAsync(); var result = mapper.Map <Course, CourseResource>(course); return(Ok(result)); }
public async Task CreateCourse_NormalConditions_Test() { // Arrange var newCourse = new SaveCourseResource { Name = "New", LecturerId = 1 }; // Act await Controller.CreateCourse(newCourse); var result = await Controller.GetAllCourses(); var okObject = result.Result as OkObjectResult; var collection = okObject.Value as IEnumerable <CourseResource>; // Assert Service.Verify(x => x.CreateCourse(It.IsAny <Course>()), Times.Once); Assert.That(collection.ElementAt(2).Name, Is.EqualTo("New")); }
public async Task <ActionResult <CourseResource> > CreateCourse([FromBody] SaveCourseResource saveCourseResource) { var validator = new SaveCourseResourceValidator(); var validationResult = await validator.ValidateAsync(saveCourseResource); if (!validationResult.IsValid) { _logger.LogError(DateTime.Now + "\nCreating course failed, validation isn't valid\n" + validationResult.Errors); return(BadRequest(validationResult.Errors)); } var courseToCreate = _mapper.Map <SaveCourseResource, Course>(saveCourseResource); var result = await _courseService.CreateCourse(courseToCreate); var createdCourse = _mapper.Map <Course, CourseResource>(result); return(Ok(createdCourse)); }
[HttpPut("{courseId}")] //TAMPOCO public async Task <IActionResult> PutAsync([FromRoute] int inscriptionProcessId, int courseId, [FromBody] SaveCourseResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var course = _mapper.Map <SaveCourseResource, Course>(resource); var result = await _courseService.UpdateAsync(inscriptionProcessId, courseId, course); if (!result.Success) { return(BadRequest(result.Message)); } var courseResource = _mapper.Map <Course, CourseResource>(result.Resource); return(Ok(courseResource)); }