public void InitializeNavigation() { try { SettingsView = new SettingsView(); SettingsViewModel = new SettingsViewModel(ApplicationModel); SettingsView.DataContext = SettingsViewModel; DownloadView = new DownloadView(); DownloadsViewModel = new DownloadsViewModel(ApplicationModel); DownloadView.DataContext = DownloadsViewModel; SpotifyView = new SpotifyView(); SpotifyViewModel = new SpotifyViewModel(ApplicationModel); SpotifyView.DataContext = SpotifyViewModel; YouTubeView = new YouTubeView(); YouTubeViewModel = new YouTubeViewModel(ApplicationModel); YouTubeView.DataContext = YouTubeViewModel; ContentWindow = SpotifyView; } catch (Exception ex) { new LogException(ex); } }
public ActionResult GetChannelInfo(YouTubeViewModel model) { if (!ModelState.IsValid) { model.Message = "You must fill all the required fields."; return(View(model)); } List <YouTubeData> youTubeDataList = new List <YouTubeData>(); try { var yt = new YouTubeService(new BaseClientService.Initializer() { ApiKey = model.YoutubeApiKey }); var channelsListRequest = yt.Channels.List("contentDetails"); channelsListRequest.Id = model.ChannelId; var channelsListResponse = channelsListRequest.Execute(); //< -----this is where trouble starts foreach (var channel in channelsListResponse.Items) { // of videos uploaded to the authenticated user's channel. var uploadsListId = channel.ContentDetails.RelatedPlaylists.Uploads; var nextPageToken = ""; while (nextPageToken != null) { var playlistItemsListRequest = yt.PlaylistItems.List("snippet"); playlistItemsListRequest.PlaylistId = uploadsListId; playlistItemsListRequest.MaxResults = 8; playlistItemsListRequest.PageToken = nextPageToken; // Retrieve the list of videos uploaded to the authenticated user's channel. var playlistItemsListResponse = playlistItemsListRequest.Execute(); foreach (var playlistItem in playlistItemsListResponse.Items) { YouTubeData objYouTubeData = new YouTubeData(); objYouTubeData.VideoId = "https://www.youtube.com/embed/" + playlistItem.Snippet.ResourceId.VideoId; objYouTubeData.Title = playlistItem.Snippet.Title; objYouTubeData.Descriptions = playlistItem.Snippet.Description; objYouTubeData.ImageUrl = playlistItem.Snippet.Thumbnails.High.Url; objYouTubeData.IsValid = true; youTubeDataList.Add(objYouTubeData); } nextPageToken = playlistItemsListResponse.NextPageToken; } } } catch (Exception e) { string errorMessage = "Some exception occured" + e.Data.ToString() + e.Message.ToString() + e.GetBaseException().ToString(); model.Message = errorMessage; return(View(model)); } model.YouTubeDataList = youTubeDataList; return(View(model)); }
public ActionResult GetChannelInfo() { var model = new YouTubeViewModel { YoutubeApiKey = "YOUR_YOUTUBE_APIKEY" }; return(View(model)); }
protected override void OnNavigatedTo(NavigationEventArgs e) { YouTubeModel = NavigationServices.CurrentViewModel as YouTubeViewModel; if (e.NavigationMode == NavigationMode.New && NavigationContext.QueryString.ContainsKey("id")) { string id = NavigationContext.QueryString["id"]; if (!String.IsNullOrEmpty(id)) { _isDeepLink = true; YouTubeModel = new YouTubeViewModel(); NavigationServices.CurrentViewModel = YouTubeModel; YouTubeModel.LoadItem(id); } } if (YouTubeModel != null) { YouTubeModel.ViewType = ViewTypes.Detail; } DataContext = YouTubeModel; base.OnNavigatedTo(e); }