public async Task <ActionResult <LectureWithCourseResource> > UpdateLecture(int id, [FromBody] SaveLectureResource saveLectureResource) { var validator = new SaveLectureResourceValidator(); var validationResult = await validator.ValidateAsync(saveLectureResource); var requestIsInvalid = id <= 0 || !validationResult.IsValid; if (requestIsInvalid) { _logger.LogError(DateTime.Now + $"\nUpdating lecture with {id} id failed, validation isn't valid " + validationResult.Errors.ToString()); return(BadRequest(validationResult.Errors)); } var lectureToBeUpdate = await _lectureService.GetLectureWithCourseById(id); var lecture = _mapper.Map <SaveLectureResource, Lecture>(saveLectureResource); lecture.Id = id; await _lectureService.UpdateLecture(lecture); var updatedLecture = await _lectureService.GetLectureWithCourseById(id); var updatedLectureResource = _mapper.Map <Lecture, LectureWithCourseResource>(updatedLecture); return(Ok(updatedLectureResource)); }
public async Task <ActionResult <LectureWithCourseResource> > CreateLecture([FromBody] SaveLectureResource saveLectureResource) { var validator = new SaveLectureResourceValidator(); var validationResult = await validator.ValidateAsync(saveLectureResource); if (!validationResult.IsValid) { _logger.LogError(DateTime.Now + $"\nCreating lecture failed, validation isn't valid " + validationResult.Errors.ToString()); return(BadRequest(validationResult.Errors)); } var lectureToCreate = _mapper.Map <SaveLectureResource, Lecture>(saveLectureResource); var result = await _lectureService.CreateLecture(lectureToCreate); var createdLecture = _mapper.Map <Lecture, LectureWithCourseResource>(result); return(Ok(createdLecture)); }