private void RenameUnmatchedFolders() { var result = System.Windows.MessageBox.Show("Sure you want to rename all folders checked?", "Rename folders", System.Windows.MessageBoxButton.YesNo); if (result == System.Windows.MessageBoxResult.Yes) { var foldersToRemove = new List <UnMatchedFolder>(); //Add folders to Matched (CurrentGames) foreach (var folder in UnmatchedFolders.Where(x => x.Rename)) { try { Directory.Move(Path.Combine(CurrentMediaFolder, folder.FolderName), Path.Combine(CurrentMediaFolder, folder.RecommendedName)); foldersToRemove.Add(folder); CurrentGames.Add(new TempGame { HasFolder = true, RomName = folder.RecommendedName }); } catch (Exception) { } } //remove folders from unmatched foreach (var item in foldersToRemove) { UnmatchedFolders.Remove(item); } } }
public async Task LoadAndScanFolders() { IsBusy = false; try { CurrentGames.Clear(); await Task.Run(() => { Directories = _rlScan.GetAllFolders(CurrentMediaFolder); Results = _rlScan.MatchFoldersToGames(Directories, _games); }); Results.UnMatchedFolders.ForEach(folder => { UnmatchedFolders.Add(new UnMatchedFolder { FolderName = folder }); }); var games = _games.Select(x => new TempGame { RomName = x.RomName, HasFolder = Results.MatchedFolders.Any(y => y == x.RomName) }); foreach (var game in games) { CurrentGames.Add(game); } } catch { } finally { IsBusy = true; } }