コード例 #1
0
        private async void SearchExecute()
        {
            await RunAsyncMethod(() =>
            {
                System.Windows.Application.Current.Dispatcher.Invoke(() => FoldersToDelete.Clear());

                var folders = _steamFolderService.Search(FoldersToSearch.ToList()).OrderBy(x => x.Path);

                System.Windows.Application.Current.Dispatcher.Invoke(() => FoldersToDelete.AddRange(folders));
            });
        }
コード例 #2
0
        private async void DeletePackagesExecute()
        {
            await RunAsyncMethod(() =>
            {
                var itemsToDelete = FoldersToDelete.Where(x => x.Selected).ToList();

                if (!itemsToDelete.Any())
                {
                    FlexibleMessageBox.Show("You must select some files or folders to delete!",
                                            "No files or folders to delete.",
                                            MessageBoxButtons.OK,
                                            MessageBoxIcon.Warning);

                    return;
                }

                var deletedFolders = _steamFolderService.Delete(itemsToDelete);

                if (!deletedFolders.Any())
                {
                    FlexibleMessageBox.Show("None of your selected items were deleted!",
                                            "No files or folders deleted.",
                                            MessageBoxButtons.OK,
                                            MessageBoxIcon.Error);

                    return;
                }

                var totalSaved = 0L;
                var builder    = new StringBuilder("Files/Folders deleted:\r\n\r\n");

                deletedFolders.ForEach(x =>
                {
                    System.Windows.Application.Current.Dispatcher.Invoke(() => FoldersToDelete.Remove(x));

                    totalSaved += x.SizeInBytes;

                    builder.AppendLine(x.Path);
                });

                var size = _sizeService.GetDisplaySize(totalSaved);

                FlexibleMessageBox.Show($"You saved {size}!\r\n\r\n{builder}",
                                        "Files or folders were deleted.",
                                        MessageBoxButtons.OK,
                                        MessageBoxIcon.Information);
            });
        }
コード例 #3
0
 private bool CanDeletePackages()
 {
     return(CanUseControls && FoldersToDelete.Any() && FoldersToDelete.Any(x => x.Selected));
 }