コード例 #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)
            {
                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();
            }
        }
コード例 #2
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);
                }
            }
        }
コード例 #3
0
        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;
            }
        }