private void WireCommands() { TrailerPageLoaded = new RelayCommand(async() => { if (_navigationService.IsNetworkAvailable && !_dataLoaded) { SetProgressBar("Getting trailer details..."); try { Log.Info("Getting information for trailer [{0}] ({1})", SelectedTrailer.Name, SelectedTrailer.Id); SelectedTrailer = await _apiClient.GetItemAsync(SelectedTrailer.Id, AuthenticationService.Current.LoggedInUser.Id); CastAndCrew = Utils.GroupCastAndCrew(SelectedTrailer.People); _dataLoaded = true; } catch (HttpException ex) { Log.ErrorException("TrailerPageLoaded", ex); App.ShowMessage("Unable to get the trailer information."); } SetProgressBar(); } }); }
private async Task GetItemDetails() { if (!_navigationService.IsNetworkAvailable || _dataLoaded || SelectedItem == null) { return; } var item = await _apiClient.GetItemAsync(SelectedItem.Id, AuthenticationService.Current.LoggedInUserId); SelectedItem = item; }
private async Task GetArtistInfo() { try { Log.Info("Getting information for Artist [{0}] ({1})", SelectedArtist.Name, SelectedArtist.Id); var artistQuery = new ArtistsQuery { }; SelectedArtist = await _apiClient.GetItemAsync(SelectedArtist.Id, AuthenticationService.Current.LoggedInUser.Id); } catch (HttpException ex) { Log.ErrorException("GetArtistInfo()", ex); } _gotAlbums = await GetAlbums(); await GetArtistTracks(); await SortTracks(); }
private async Task <bool> GetMovieDetails() { bool result; try { Log.Info("Getting details for movie [{0}] ({1})", SelectedMovie.Name, SelectedMovie.Id); var item = await _apiClient.GetItemAsync(SelectedMovie.Id, AuthenticationService.Current.LoggedInUser.Id); SelectedMovie = item; CastAndCrew = Utils.GroupCastAndCrew(item.People); result = true; } catch (HttpException ex) { Log.ErrorException("GetMovieDetails()", ex); App.ShowMessage(AppResources.ErrorGettingExtraInfo); result = false; } return(result); }
private void WireCommands() { TvSeriesPageLoaded = new RelayCommand(async() => { DummyFolder = new BaseItemDto { Type = "folder", Name = string.Format(AppResources.TvShowRecentItemsTitle, SelectedTvSeries.Name.ToLower()), Id = SelectedTvSeries.Id }; if (_navService.IsNetworkAvailable && !ShowDataLoaded) { if (SelectedTvSeries != null) { SetProgressBar(AppResources.SysTrayGettingShowInformation); try { Log.Info("Getting information for TV Series [{0}] ({1})", SelectedTvSeries.Name, SelectedTvSeries.Id); SelectedTvSeries = await _apiClient.GetItemAsync(SelectedTvSeries.Id, AuthenticationService.Current.LoggedInUser.Id); CastAndCrew = Utils.GroupCastAndCrew(SelectedTvSeries.People); } catch (HttpException ex) { Log.ErrorException("TvSeriesPageLoaded", ex); } bool seasonsLoaded = await GetSeasons(); SetProgressBar(AppResources.SysTrayGettingRecentItems); bool recentItems = await GetRecentItems().ConfigureAwait(true); SetProgressBar(); ShowDataLoaded = (seasonsLoaded && recentItems); } } }); SeasonPageLoaded = new RelayCommand(async() => { if (_navService.IsNetworkAvailable && !SeasonDataLoaded) { if (SelectedSeason != null) { SetProgressBar(AppResources.SysTrayGettingEpisodes); SeasonDataLoaded = await GetEpisodes(); SetProgressBar(); } } }); EpisodePageLoaded = new RelayCommand(async() => { }); NextEpisodeCommand = new RelayCommand(() => { SelectedEpisode = SelectedEpisode.IndexNumber + 1 > Episodes.Count ? Episodes[0] : Episodes[SelectedEpisode.IndexNumber.Value]; }); PreviousEpisodeCommand = new RelayCommand(() => { SelectedEpisode = SelectedEpisode.IndexNumber - 1 == 0 ? Episodes[Episodes.Count - 1] : Episodes[SelectedEpisode.IndexNumber.Value - 2]; }); AddRemoveFavouriteCommand = new RelayCommand <BaseItemDto>(async item => { try { SetProgressBar(AppResources.SysTrayAddingToFavourites); CanUpdateFavourites = false; item.UserData = await _apiClient.UpdateFavoriteStatusAsync(item.Id, AuthenticationService.Current.LoggedInUser.Id, !item.UserData.IsFavorite); } catch (HttpException ex) { Log.ErrorException("AddRemoveFavouriteCommand (TV)", ex); App.ShowMessage("Error making your changes"); } SetProgressBar(); CanUpdateFavourites = true; }); NavigateTo = new RelayCommand <BaseItemDto>(_navService.NavigateTo); }