private async void Process_Click(object sender, RoutedEventArgs e) { var cursor = this.Cursor; try { if (!SyncProfiles.Any(s => s.Selected)) { MessageBox.Show(_globalizer.GetResourceString("ProfileSyncWindow_Process_NoProfilesSelectedLabel"), _globalizer.GetResourceString("ProfileSyncWindow_Process_Title"), MessageBoxButton.OK, MessageBoxImage.Error); return; } if (!SyncSections.Any(s => s.Selected)) { MessageBox.Show(_globalizer.GetResourceString("ProfileSyncWindow_Process_NoSectionsSelectedLabel"), _globalizer.GetResourceString("ProfileSyncWindow_Process_Title"), MessageBoxButton.OK, MessageBoxImage.Error); return; } if (MessageBox.Show(_globalizer.GetResourceString("ProfileSyncWindow_Process_ConfirmLabel"), _globalizer.GetResourceString("ProfileSyncWindow_Process_Title"), MessageBoxButton.YesNo, MessageBoxImage.Warning) != MessageBoxResult.Yes) { return; } Application.Current.Dispatcher.Invoke(() => this.Cursor = System.Windows.Input.Cursors.Wait); OverlayProfile.Content = string.Empty; OverlaySection.Content = string.Empty; OverlayGrid.Visibility = Visibility.Visible; await Task.Delay(100); await PerformProfileSync(); MessageBox.Show(_globalizer.GetResourceString("ProfileSyncWindow_Process_SuccessLabel"), _globalizer.GetResourceString("ProfileSyncWindow_Process_Title"), MessageBoxButton.OK, MessageBoxImage.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, _globalizer.GetResourceString("ProfileSyncWindow_Process_FailedTitle"), MessageBoxButton.OK, MessageBoxImage.Error); } finally { OverlayGrid.Visibility = Visibility.Collapsed; Application.Current.Dispatcher.Invoke(() => this.Cursor = cursor); } }
private void CreateSyncProfileList() { SyncProfiles.Clear(); if (this.ServerManager == null || this.ServerManager.Servers == null) { return; } foreach (var server in this.ServerManager.Servers) { if (server.Profile == ServerProfile) { continue; } SyncProfiles.Add(new SyncProfile() { Selected = false, Profile = server.Profile, ProfileName = server.Profile.ProfileName }); } }
public Settings() { SyncProfiles = new SyncProfiles(); }