示例#1
0
        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"));
            }
        }
示例#2
0
        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));
        }