private async void ButtonPull_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e) { string errorString = null; // Prevent extra clicking while Pull is in progress ButtonPull.Focus(FocusState.Programmatic); ButtonPull.IsEnabled = false; try { // We only want to pull completed todoitems. If someone made other changes, // we don't care in this example scenario. We only want a sync of items that // are completed. Text changes before or after completion don't concern us. await todoTable.PullAsync(todoTable.Where(todoItem => todoItem.Complete == true)); await RefreshTodoItems(); } catch (MobileServicePushFailedException ex) { errorString = "Internal Push operation during pull request failed because of sync errors: " + ex.PushResult.Errors.Count + " errors, message: " + ex.Message; } catch (Exception ex) { errorString = "Pull failed: " + ex.Message + "\n\nIf you are still in an offline scenario, " + "you can try your Pull again when connected with your Mobile Serice."; } if (errorString != null) { MessageDialog d = new MessageDialog(errorString); await d.ShowAsync(); } ButtonPull.IsEnabled = true; }
private async void ButtonPull_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e) { string errorString = null; // Prevent extra clicking while Pull is in progress ButtonPull.Focus(FocusState.Programmatic); ButtonPull.IsEnabled = false; try { // All items should be synced since other clients might mark an item as complete // The first parameter is a query ID that uniquely identifies the query. // This is used in incremental sync to get only newer items the next time PullAsync is called await todoTable.PullAsync("allTodoItems", todoTable.CreateQuery()); await RefreshTodoItems(); } catch (MobileServicePushFailedException ex) { errorString = "Internal Push operation during pull request failed because of sync errors: " + ex.PushResult.Errors.Count + " errors, message: " + ex.Message; } catch (Exception ex) { errorString = "Pull failed: " + ex.Message + "\n\nIf you are still in an offline scenario, " + "you can try your Pull again when connected with your Mobile Serice."; } if (errorString != null) { MessageDialog d = new MessageDialog(errorString); await d.ShowAsync(); } ButtonPull.IsEnabled = true; }