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(); } }
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; }
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(); } }