Esempio n. 1
0
        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.");
            }
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
        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);
        }