private async void RemoveFiles() { var dialog = new MetroDialogSettings { AffirmativeButtonText = "OK" }; var result = await _mainWindow.ShowMessageAsync("Please confirm", "Are you sure you want to remove this files?", MessageDialogStyle.AffirmativeAndNegative, dialog); if (result == MessageDialogResult.Affirmative) { var selectedLocations = MultiTermLocationCollection.Where(s => s.IsSelected).ToList(); var controller = await _mainWindow.ShowProgressAsync("Please wait...", "We are removing selected files"); controller.SetIndeterminate(); var locationsToClear = new List <string>(); controller.SetIndeterminate(); var selectedMultiTermVersions = MultiTermVersionsCollection.Where(s => s.IsSelected).ToList(); var selectedMultiTermLocations = MultiTermLocationCollection.Where(f => f.IsSelected).ToList(); if (selectedMultiTermVersions.Any()) { var documentsFolderLocation = await FoldersPath.GetMultiTermFoldersPath(_userName, selectedMultiTermVersions, selectedMultiTermLocations); locationsToClear.AddRange(documentsFolderLocation); } //to close the message //await controller.CloseAsync(); } }
private async void RemoveFiles() { var dialog = new MetroDialogSettings { AffirmativeButtonText = "OK" }; var result = await _mainWindow.ShowMessageAsync("Please confirm", "Are you sure you want to remove this files?", MessageDialogStyle.AffirmativeAndNegative, dialog); if (result == MessageDialogResult.Affirmative) { if (!MultiTermIsRunning()) { var controller = await _mainWindow.ShowProgressAsync("Please wait...", "We are removing selected files"); controller.SetIndeterminate(); var foldersToClearOrRestore = new List <LocationDetails>(); controller.SetIndeterminate(); var selectedMultiTermVersions = MultiTermVersionsCollection.Where(s => s.IsSelected).ToList(); var selectedMultiTermLocations = MultiTermLocationCollection.Where(f => f.IsSelected).ToList(); if (selectedMultiTermVersions.Any()) { var documentsFolderLocation = await FoldersPath.GetMultiTermFoldersPath(_userName, selectedMultiTermVersions, selectedMultiTermLocations); foldersToClearOrRestore.AddRange(documentsFolderLocation); } //save settings _persistence.SaveSettings(foldersToClearOrRestore, false); await Remove.BackupFiles(foldersToClearOrRestore); await Remove.FromSelectedLocations(foldersToClearOrRestore); //to close the message await controller.CloseAsync(); } else { await _mainWindow.ShowMessageAsync("MultiTerm is running", "Please close MultiTerm in order to remove selected folders.", MessageDialogStyle.Affirmative, dialog); } } }
private void MultiTermLocation_PropertyChanged(object sender, PropertyChangedEventArgs e) { var lastSelectedItem = sender as MultiTermLocationListItem; var selectedLocations = MultiTermLocationCollection.Where(s => s.IsSelected).ToList(); if (lastSelectedItem != null) { if (lastSelectedItem.IsSelected) { FolderDescription = lastSelectedItem.Description; } else { if (selectedLocations.Any()) { FolderDescription = selectedLocations.First().Description; } } } if (!selectedLocations.Any()) { FolderDescription = string.Empty; } }