Beispiel #1
0
        void VkAuthorization(VkPlayerPosition pp = null, bool SourceSelected = true)
        {
            ApiAuthParams Ap = null;

            if (DM.Get_VkUserAuth(out var UserAuth))
            {
                Ap      = UserAuth.ApiAuthParams;
                VkLogin = UserAuth.Login;
                VkPass  = UserAuth.Pass;

                if (DM.Get_VkToken(out var token))
                {
                    try
                    {
                        _vk.Authorize(new ApiAuthParams {
                            AccessToken = token, UserId = Ap.UserId
                        });
                        OnVkAuthorized(pp, SourceSelected);
                        return;
                    }
                    catch
                    {
                        if (Ap != null)
                        {
                            _vk.Authorize(Ap);
                            DM.VkToken = _vk.Token;
                            OnVkAuthorized(pp, SourceSelected);
                            return;
                        }
                    }
                }
                else
                {
                    if (Ap != null)
                    {
                        _vk.Authorize(Ap);
                        DM.VkToken = _vk.Token;
                        OnVkAuthorized(pp, SourceSelected);
                        return;
                    }
                }
            }
            if (SourceSelected)
            {
                Awaited();
            }
        }
Beispiel #2
0
        void OnVkAuthorized(VkPlayerPosition pp = null, bool SourceSelected = true)
        {
            AwaitMessage = "Загрузка плейлистов ВК";

            _vk.Audio.GetPlaylists(_vk.UserId.Value).Select(p => new Playlist(p)).ToList();
            if (SourceSelected)
            {
                Playlists = new ObservableCollection <Playlist>(Playlist.VkPlaylists.Where(p => p.Id != null));
            }
            DefaultPlaylist = new Playlist();

            if (pp != null)
            {
                AwaitMessage = "Восстановление проигрывателя";
                var pls = Playlist.VkPlaylists.Where(p => p.Id == pp.PlaylistId?.ToString()).ToList();
                if (pls.Count > 0)
                {
                    SelectedPlaylist = pls.First();

                    var msics = SelectedPlaylist.Musics;
                    if (msics.Count > pp.MusicIndex)
                    {
                        __shuffleMode = pp.Shuffle;
                        msics[pp.MusicIndex].Play(pp.ShiftMS);
                    }
                    else
                    {
                        PlaylistGrdIsVisible = true;
                    }
                }
                else
                {
                    PlaylistGrdIsVisible = true;
                }
            }

            VkAuthorized = true;
            if (SourceSelected)
            {
                Awaited();
            }
        }