コード例 #1
0
        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);
                }
            }
        }