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