public async Task <IActionResult> UpdateLecture(int lectureId, [FromBody] LectureUpdateRequestDto request) { try { var result = await _lectureServices.UpdateLectureAsync(lectureId, request); if (result == null) { return(NotFound("no lecture found")); } return(Ok(result)); } catch (NotFoundException error) { return(BadRequest(error.Message)); } catch (CourseValidateException error) { return(BadRequest(error.Message)); } catch (Exception ex) { _logger.LogCritical($"UpdateLecture() Error: {ex}"); return(StatusCode(500, "Internal Server Error")); } }
public async Task <LectureDto> UpdateLectureAsync(int lectureId, LectureUpdateRequestDto request) { var user = await GetCurrentUser(); if (user == null) { throw new NotFoundException("user not found"); } var lecture = await _lectureRepository.GetLectureAsync(lectureId); if (lecture == null) { throw new NotFoundException("lecture not found"); } lecture.Update(user, request.Title, request.IsAllowPreview); await _lectureRepository.SaveAsync(); return(Mapper.Map <LectureDto>(lecture)); }