示例#1
0
        public async Task <IActionResult> GetVideoPostInfo(int videoPostId, string videoId, byte isGoogleDriveVideo)
        {
            if (videoPostId <= 0 || string.IsNullOrWhiteSpace(videoId))
            {
                return(NotFound());
            }

            var videoPost = _vpRepository.GetSingle(vp => vp.VideoPostId == videoPostId, vp => vp.Uploader);

            if (videoPost == null)
            {
                return(NotFound());
            }

            VideoPostInfoVM videoPostInfoVM = null;

            if (isGoogleDriveVideo == 1)
            {
                videoPostInfoVM = new VideoPostInfoVM
                {
                    Likes = videoPost.Likes,
                    Owner = videoPost.Uploader.Name,
                    Title = videoPost.Title
                };

                return(new OkObjectResult(videoPostInfoVM));
            }

            var youTubeInfoVM = await _youTube.GetYouTubeInfoByVideoId(videoId);

            //if (youTubeInfoVM == null)
            //{
            //    string subject = "[탈조선] 404 유튜브 오류";
            //    string body = "VideoPostId: " + videoPost.VideoPostId + "\r\n\r\n"
            //                   + "YouTubeVideoId: " + videoPost.YouTubeVideoId + "\r\n\r\n";

            //    await _email.SendEmailAsync("*****@*****.**", "*****@*****.**", subject, body, null);

            //    return NotFound("youtube");
            //}

            videoPostInfoVM = new VideoPostInfoVM
            {
                //Likes = videoPost.Likes + youTubeInfoVM.Likes,
                Likes = videoPost.Likes,
                Owner = youTubeInfoVM.Owner,
                Title = youTubeInfoVM.Title
            };

            return(new OkObjectResult(videoPostInfoVM));
        }
        public async Task <IActionResult> GetYouTubeInfo(string youTubeId)
        {
            if (string.IsNullOrWhiteSpace(youTubeId))
            {
                return(NotFound());
            }

            var user = await _userManager.FindByIdAsync(User.Identity.Name);

            if (user == null)
            {
                return(NotFound());
            }

            if (await _userManager.IsInRoleAsync(user, "Admin"))
            {
                var youTubeInfoVM = await _youTube.GetYouTubeInfoByVideoId(youTubeId);

                if (youTubeInfoVM == null)
                {
                    return(NotFound());
                }

                var videoPostInfoVM = new VideoPostInfoVM
                {
                    Likes     = (long)Math.Ceiling((double)youTubeInfoVM.Likes / 10),
                    Title     = youTubeInfoVM.Title,
                    Owner     = youTubeInfoVM.Owner,
                    ChannelId = youTubeInfoVM.ChannelId
                };

                return(new OkObjectResult(videoPostInfoVM));
            }

            return(StatusCode(401));
        }