public async Task Selected(object sender, SelectionChangedEventArgs e) { var homeFeedItem = (IHomeItemVM)((ListView)sender).SelectedItem; if (homeFeedItem is ItemVM) { var item = homeFeedItem as ItemVM; var set = await _quizApi.GetPrivateSet(item.SetId); NavigationService.Navigate(typeof(Views.SetDetailPage), set); } if (homeFeedItem is ClassFeedVM) { var item = homeFeedItem as ClassFeedVM; var theClass = await _quizApi.GetClass(item.ClassId); NavigationService.Navigate(typeof(Views.ClassDetailPage), theClass); } if (homeFeedItem is StudySessionItemVM) { var item = homeFeedItem as StudySessionItemVM; var set = await _quizApi.GetPrivateSet(item.SetId); NavigationService.Navigate(typeof(Views.SetDetailPage), set); } }
public async void SubmitClicked(object sender, RoutedEventArgs e) { var tempDialog = new MessageDialog("Sorry, this feature isn't available yet due to Quizlet API limitations"); await tempDialog.ShowAsync(); return; //todo: get scope from Quizlet to allow this... if (string.IsNullOrEmpty(Password)) { var dialog = new MessageDialog("Please type in a password."); await dialog.ShowAsync(); } else { var result = await _quizApi.GetPrivateSet(SetId, Password); if (result) { var set = _quizApi.GetPublicSet(SetId); } else { Password = string.Empty; } } }
public async Task <Set> GetPrivateSet(long id, string password) { var ok = await _quizletRESTApi.GetPrivateSet(id, password); if (ok) { var set = await _quizletRESTApi.GetPrivateSet(id); await _setsLocalStorage.AddSet(set); await _setsLocalStorage.SaveSets(); return(set); } return(null); }
private async Task UpdateSets() { try { if (_settingsService.AuthenticatedUser != null) { var remoteSets = await _quizApi.GetCreatedSets(); var sets = new List <Set>(); foreach (var set in remoteSets.Items) { Set remoteSet = null; if (SetIsPrivate(set.ItemData.Visibility)) { remoteSet = await _quizApi.GetPrivateSet(set.ItemData.Id); } else { remoteSet = await _quizApi.GetPublicSet(set.ItemData.Id); } sets.Add(remoteSet); await _setStorage.AddSet(remoteSet); } await _setStorage.SaveSets(); if (sets.Any()) { Sets.Clear(); ContainsData = true; ShowNothingHere = false; foreach (var set in sets) { Sets.Add(new SetViewModel(set)); } } } } catch (Exception e) { var dialog = new MessageDialog($"Error: {e.Message}"); await dialog.ShowAsync(); return; } }