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(); } }
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(); } }