Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }