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); } } }