public YoutubePlaylistItem(PlaylistItem response)
        {
            if (response == null)
            {
                return;
            }

            RawData = response;
            Id      = response.Id;
            Kind    = response.Kind;

            if (response.Snippet == null)
            {
                return;
            }

            ItemKind     = (response.Snippet.ResourceId?.Kind).GetValueOrDefault();
            ItemId       = response.Snippet.ResourceId?.Id();
            PublishedAt  = response.Snippet.PublishedAt.GetValueOrDefault();
            ChannelId    = response.Snippet.ChannelId;
            Title        = response.Snippet.Title;
            Description  = response.Snippet.Description;
            ChannelTitle = response.Snippet.ChannelTitle;
            PlaylistId   = response.Snippet.PlaylistId;
            Position     = response.Snippet.Position;
            Thumbnails   = response.Snippet.Thumbnails?.Clone();

            Thumbnail defaultThumbnail = null;

            Thumbnails?.TryGetValue(ThumbnailSize.Default, out defaultThumbnail);
            DefaultThumbnail = defaultThumbnail;

            switch (ItemKind)
            {
            case ResourceKind.Channel: Url = YoutubeChannel.GetUrl(Id); break;

            case ResourceKind.Playlist: Url = YoutubePlaylist.GetUrl(Id); break;

            case ResourceKind.Video: Url = YoutubeVideo.GetUrl(Id); break;

            default: throw new InvalidOperationException();
            }
        }
Beispiel #2
0
        public YoutubeSearchResult(SearchResult response)
        {
            if (response == null)
            {
                return;
            }

            RawData    = response;
            Kind       = response.Kind;
            ResultKind = response.Id.Kind;
            Id         = response.Id.Id();

            switch (ResultKind)
            {
            case ResourceKind.Channel: Url = YoutubeChannel.GetUrl(Id); break;

            case ResourceKind.Playlist: Url = YoutubePlaylist.GetUrl(Id); break;

            case ResourceKind.Video: Url = YoutubeVideo.GetUrl(Id); break;

            default: throw new InvalidOperationException();
            }

            if (response.Snippet == null)
            {
                return;
            }

            PublishedAt  = response.Snippet.PublishedAt.GetValueOrDefault();
            ChannelId    = response.Snippet.ChannelId;
            Title        = response.Snippet.Title;
            Description  = response.Snippet.Description;
            ChannelTitle = response.Snippet.ChannelTitle;
            Thumbnails   = response.Snippet.Thumbnails?.Clone();

            Thumbnail defaultThumbnail = null;

            Thumbnails?.TryGetValue(ThumbnailSize.Default, out defaultThumbnail);
            DefaultThumbnail = defaultThumbnail;
        }
Beispiel #3
0
        protected override void SetProperties(Video response)
        {
            if (response == null)
            {
                return;
            }

            _rawData = response;
            _id      = response.Id;
            _kind    = response.Kind;
            _url     = GetUrl(response.Id);

            if (response.Snippet != null)
            {
                _publishedAt  = response.Snippet.PublishedAt.GetValueOrDefault();
                _channelId    = response.Snippet.ChannelId;
                _title        = response.Snippet.Title;
                _description  = response.Snippet.Description;
                _channelTitle = response.Snippet.ChannelTitle;
                int.TryParse(response.Snippet.CategoryId, out _categoryId);
                _thumbnails = response.Snippet.Thumbnails?.Clone();
                _thumbnails?.TryGetValue(ThumbnailSize.Default, out _defaultThumbnail);
                _channelUrl = YoutubeChannel.GetUrl(_channelId);
            }

            if (response.Statistics != null)
            {
                _commentCount = response.Statistics.CommentCount.GetValueOrDefault();
                _dislikeCount = response.Statistics.DislikeCount.GetValueOrDefault();
                _likeCount    = response.Statistics.LikeCount.GetValueOrDefault();
                _viewCount    = response.Statistics.ViewCount.GetValueOrDefault();
            }

            if (response.ContentDetails != null)
            {
                _duration   = response.ContentDetails.Duration.GetValueOrDefault();
                _definition = response.ContentDetails.Definition.GetValueOrDefault();
                _dimension  = response.ContentDetails.Dimension.GetValueOrDefault();
            }
        }