Exemple #1
0
        public IActionResult GetVideoReviews([FromQuery] GetList query)
        {
            var reviews = VideoReviewService.GetAll()
                          .Select(x => new ClientVideoReviewViewModel(x))
                          .ToList();

            return(Ok(new DataResponse <List <ClientVideoReviewViewModel> >
            {
                Data = reviews
            }));
        }
Exemple #2
0
        public IActionResult EditVideoReview([FromBody] CreateVideoReviewRequest request, long videoID)
        {
            var review = VideoReviewService.Get(videoID);

            if (review == null)
            {
                return(NotFound(new ResponseModel
                {
                    Success = false,
                    Message = "Отзыв не найден"
                }));
            }

            if (review.Text != request.Text)
            {
                if (request.Text.Length > 150)
                {
                    return(BadRequest(new ResponseModel
                    {
                        Success = false,
                        Message = "Максимальная длина 150 символов"
                    }));
                }

                review.Text = request.Text;
            }

            if (review.FullName != request.FullName)
            {
                review.FullName = request.FullName;
            }

            var video = FileService.Get(request.VideoID);

            if (video != null)
            {
                if (review.LinkYouTube != video.Url)
                {
                    review.LinkYouTube = video.Url;
                }
            }

            VideoReviewService.Update(review);

            return(Ok(new DataResponse <ClientVideoReviewViewModel>
            {
                Data = new ClientVideoReviewViewModel(review)
            }));
        }
Exemple #3
0
        public IActionResult DeleteVideoReview(long videoID)
        {
            var review = VideoReviewService.Get(videoID);

            if (review == null)
            {
                return(NotFound(new ResponseModel
                {
                    Success = false,
                    Message = "Отзыв не найден"
                }));
            }

            VideoReviewService.Delete(review);

            return(Ok(new ResponseModel()));
        }
Exemple #4
0
        public IActionResult CreateVideoReview([FromBody] CreateVideoReviewRequest request)
        {
            if (request.Text.Length > 150)
            {
                return(BadRequest(new ResponseModel
                {
                    Success = false,
                    Message = "Максимальная длина 150 символов"
                }));
            }

            var video = FileService.Get(request.VideoID);

            if (video == null)
            {
                return(NotFound(new ResponseModel
                {
                    Success = false,
                    Message = "Видео не найдено"
                }));
            }

            var review = new ClientVideoReview
            {
                FullName    = request.FullName,
                Text        = request.Text,
                LinkYouTube = video.Url,
                ReviewDate  = DateTime.UtcNow
            };

            VideoReviewService.Create(review);

            return(Ok(new DataResponse <ClientVideoReviewViewModel>
            {
                Data = new ClientVideoReviewViewModel(review)
            }));
        }