private int getLatestVersion(string file) { int version = 0; FilenameAndVersion original = new FilenameAndVersion(Path.GetFileNameWithoutExtension(file), 0); string dir = Path.GetDirectoryName(file); foreach (string f in Directory.GetFiles(dir)) { FilenameAndVersion current = new FilenameAndVersion(f); if (original.filename != current.filename) { continue; } if (current.version > version) { version = current.version; } } return(version); }
private void createVersion(string file) { int latestVersion = getLatestVersion(file); string fnm = Path.GetFileNameWithoutExtension(file); string ext = Path.GetExtension(file); string dir = Path.GetDirectoryName(file); string cpy = null; if (latestVersion == 0) { cpy = Path.Combine(dir, fnm + ".1" + ext); } else { FilenameAndVersion fileVersionned = new FilenameAndVersion(file); cpy = Path.Combine(dir, fileVersionned.filename + '.' + (latestVersion + 1) + ext); } File.Copy(file, cpy, true); }