public void ApplyChanges() { if (SourceSearchResults.Any(s => s.TuSelected)) { var progressDialogSettings = new ProgressDialogSettings(_window, true, true, false); var result = ProgressDialog.Execute(StringResources.Applying_changes, () => { var selectedSearchResult = SourceSearchResults.Where(s => s.TuSelected).ToList(); List <AnonymizeTranslationMemory> anonymizeTranslationMemories; //file base tms var fileBasedSearchResult = selectedSearchResult.Where(t => !t.IsServer).ToList(); if (fileBasedSearchResult.Count > 0) { anonymizeTranslationMemories = GetTranslationUnitsToAnonymize(ProgressDialog.Current, fileBasedSearchResult); if (ProgressDialog.Current != null && ProgressDialog.Current.CheckCancellationPending()) { ProgressDialog.Current.ThrowIfCancellationPending(); } _model.TmService.AnonymizeFileBasedTm(ProgressDialog.Current, anonymizeTranslationMemories); } //server based tms var serverBasedSearchResult = selectedSearchResult.Where(t => t.IsServer).ToList(); if (serverBasedSearchResult.Count > 0) { anonymizeTranslationMemories = GetTranslationUnitsToAnonymize(ProgressDialog.Current, serverBasedSearchResult); if (ProgressDialog.Current != null && ProgressDialog.Current.CheckCancellationPending()) { ProgressDialog.Current.ThrowIfCancellationPending(); } _model.TmService.AnonymizeServerBasedTm(ProgressDialog.Current, anonymizeTranslationMemories); } }, progressDialogSettings); if (result.Cancelled) { System.Windows.Forms.MessageBox.Show(StringResources.Process_cancelled_by_user, System.Windows.Forms.Application.ProductName); _window.Close(); } if (result.OperationFailed) { System.Windows.Forms.MessageBox.Show(StringResources.Process_failed + Environment.NewLine + Environment.NewLine + result.Error.Message, System.Windows.Forms.Application.ProductName); } RemoveSelectedTusToAnonymize(); _model.Refresh(); } else { System.Windows.Forms.MessageBox.Show(StringResources.ApplyChanges_Please_select_at_least_one_translation_unit_to_apply_the_changes, System.Windows.Forms.Application.ProductName); } }
private async void ApplyChanges() { if (SourceSearchResults.Any(s => s.TuSelected)) { System.Windows.Application.Current.Dispatcher.Invoke(delegate { _waitWindow = new WaitWindow(); _waitWindow.Show(); }); var selectedSearchResult = SourceSearchResults.Where(s => s.TuSelected).ToList(); List <AnonymizeTranslationMemory> tusToAnonymize; //file base tms var fileBasedSearchResult = selectedSearchResult.Where(t => !t.IsServer).ToList(); if (fileBasedSearchResult.Count > 0) { BackupFileBasedTm(); tusToAnonymize = GetTranslationUnitsToAnonymize(fileBasedSearchResult); Tm.AnonymizeFileBasedTu(tusToAnonymize); } //server based tms var serverBasedSearchResult = selectedSearchResult.Where(t => t.IsServer).ToList(); if (serverBasedSearchResult.Count > 0) { tusToAnonymize = GetTranslationUnitsToAnonymize(serverBasedSearchResult); var uri = new Uri(_tmViewModel.Credentials.Url); var translationProvider = new TranslationProviderServer(uri, false, _tmViewModel.Credentials.UserName, _tmViewModel.Credentials.Password); BackupServerBasedTm(translationProvider, tusToAnonymize); Tm.AnonymizeServerBasedTu(translationProvider, tusToAnonymize); } RemoveSelectedTusToAnonymize(); _waitWindow?.Close(); } else { await _dialogCoordinator.ShowMessageAsync(this, "", "Please select at least one translation unit to apply the changes"); } }