private async Task <IEnumerable <LastArtist> > LoadTopArtists() { if (TopArtistsLF.Any()) { return(new List <LastArtist>()); } int itemsPerPage = 8; #if WINDOWS_UWP itemsPerPage = 11; #endif var response = await _lfClient.Chart.GetTopArtistsAsync(itemsPerPage : itemsPerPage); if (response.Success) { #if WINDOWS_UWP var artists = new List <LastArtist>(response.Content); artists.Add(new LastArtist { Name = VKSAVER_SEE_ALSO_TEXT }); return(artists); #else TryLoadTopArtistBackground(response.First()); return(response); #endif } else { throw new Exception("LFChartArtistsResponse isn't valid."); } }
public override async void OnNavigatedTo(NavigatedToEventArgs e, Dictionary <string, object> viewModelState) { _backgroundLoaded = false; if (viewModelState.Count > 0) { #if !WINDOWS_UWP FirstTrack = JsonConvert.DeserializeObject <VKAudioWithImage>( viewModelState[nameof(FirstTrack)].ToString()); #endif UserTracks = JsonConvert.DeserializeObject <SimpleStateSupportCollection <Audio> >( viewModelState[nameof(UserTracks)].ToString()); TopArtistsLF = JsonConvert.DeserializeObject <SimpleStateSupportCollection <LastArtist> >( viewModelState[nameof(TopArtistsLF)].ToString(), _lastImageSetConverter); RecommendedTracksVK = JsonConvert.DeserializeObject <SimpleStateSupportCollection <Audio> >( viewModelState[nameof(RecommendedTracksVK)].ToString()); UserTracks.LoadItems = LoadUserTracks; TopArtistsLF.LoadItems = LoadTopArtists; RecommendedTracksVK.LoadItems = LoadRecommendedTracks; } else { UserTracks = new SimpleStateSupportCollection <Audio>(LoadUserTracks); TopArtistsLF = new SimpleStateSupportCollection <LastArtist>(LoadTopArtists); RecommendedTracksVK = new SimpleStateSupportCollection <Audio>(LoadRecommendedTracks); } UserTracks.Load(); TopArtistsLF.Load(); RecommendedTracksVK.Load(); #if !WINDOWS_UWP TryLoadBackground(FirstTrack); #endif base.OnNavigatedTo(e, viewModelState); await Task.Delay(2000); _adsService.ActivateAds(); }
public override void OnNavigatingFrom(NavigatingFromEventArgs e, Dictionary <string, object> viewModelState, bool suspending) { if (e.NavigationMode == NavigationMode.New) { #if !WINDOWS_UWP viewModelState[nameof(FirstTrack)] = JsonConvert.SerializeObject(FirstTrack); #endif viewModelState[nameof(UserTracks)] = JsonConvert.SerializeObject(UserTracks.ToList()); viewModelState[nameof(TopArtistsLF)] = JsonConvert.SerializeObject(TopArtistsLF.ToList(), _lastImageSetConverter); viewModelState[nameof(RecommendedTracksVK)] = JsonConvert.SerializeObject(RecommendedTracksVK.ToList()); } base.OnNavigatingFrom(e, viewModelState, suspending); }