private void RenameFile()
        {
            var currentFileName = SysIOProps["Name"].ToString();
            var newFileName     = TagLibProps["Title"].ToString() + SysIOProps["Extension"].ToString();
            var validFileName   = StringCleaner.RemoveInvalidFileNameCharacters(newFileName);

            if (currentFileName != validFileName)
            {
                FileManipulator.RenameFile(Filepath, validFileName);
                SysIOProps["Name"] = validFileName;
            }
            Filepath = Path.Combine(SysIOProps["Directory"].ToString(), SysIOProps["Name"].ToString());
        }
        private void MoveToCorrectAlbumLocation()
        {
            Regex directoryAlbumRegex    = new Regex(@"([^\\]+)\\([^\\]+)$");
            var   currentAlbumFolderName = directoryAlbumRegex.Match(Filepath).Groups[1].ToString();
            var   validAlbumFolderName   = StringCleaner.RemoveInvalidDirectoryChars(TagLibProps["Album"].ToString());

            if (currentAlbumFolderName != validAlbumFolderName)
            {
                var currentDirectory = SysIOProps["Directory"].ToString();
                var newDirectory     = currentDirectory.Replace(currentAlbumFolderName, validAlbumFolderName);
                FileManipulator.RenameFolder(this, currentDirectory, newDirectory);
                FileManipulator.DeleteEmptyFolders(new DirectoryInfo(currentDirectory));
            }
        }