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 List <LocationDetails> LocationsForSelectedVersions() { var allFolders = _persistence.Load(false); var selectedVersions = MultiTermVersionsCollection.Where(s => s.IsSelected).ToList(); var locationsForSelectedVersion = new List <LocationDetails>(); if (selectedVersions.Any()) { foreach (var version in selectedVersions) { var locations = allFolders.Where(v => v.Version.Equals(version.DisplayName)).ToList(); locationsForSelectedVersion.AddRange(locations); } return(locationsForSelectedVersion); } return(allFolders); }
private async void RepairMultiTerm() { var dialog = new MetroDialogSettings { AffirmativeButtonText = "OK" }; if (!MultiTermIsRunning()) { if (Directory.Exists(_packageCache)) { var selectedVersions = MultiTermVersionsCollection.Where(s => s.IsSelected).ToList(); foreach (var selectedVersion in selectedVersions) { RunRepair(selectedVersion); } } } else { await _mainWindow.ShowMessageAsync(Constants.MultitermRun, Constants.MultitermRepairMessage, MessageDialogStyle.Affirmative, dialog); } }