public static async Task <ReadOnlyCollection <PlaylistItemResource.PlaylistItemResource> > GetAllPlaylistItemsAsync( this IYouTubeClient client, PlaylistItemListRequest request, CancellationToken cancellationToken ) { // Validate parameters. if (client == null) { throw new ArgumentNullException(nameof(client)); } if (request == null) { throw new ArgumentNullException(nameof(request)); } // The response. PlaylistItemListResponse?response = null; // The items. var items = new List <PlaylistItemResource.PlaylistItemResource>(); // Cycle once. do { // Create a new request. var newRequest = new PlaylistItemListRequest( request.PlaylistId, maxResults: MaxResults.MaxValue, pageToken: response?.NextPageToken ).AddParts(request.Parts); // Make the request. response = await client.GetPlaylistItemsAsync(newRequest, cancellationToken).ConfigureAwait(false); // Append. items.AddRange(response.Items); } while (!string.IsNullOrWhiteSpace(response.NextPageToken)); // Wrap the result and return. return(new ReadOnlyCollection <PlaylistItemResource.PlaylistItemResource>(items)); }
public MainYouTubeViewModel(IYouTubeClient youTubeService, ISystemControlClient systemService) { if (youTubeService == null) { throw new ArgumentNullException("youTubeService"); } if (systemService == null) { throw new ArgumentNullException("systemService"); } _youTubeService = youTubeService; _systemService = systemService; VolumeValue = _systemService.GetVolume(); _youTubeService.OpenYoutube(); Task.Run(async() => { IsBusy = true; await RefreshData(4000); }); }
public YoutubeService(IYouTubeClient youtubeClient) { _youtubeClient = youtubeClient; }
public YouTubeService() { _client = new YouTubeClient(); }