public void CopyImage(IFilenameResolver destinationImageFilenameResolver)
{
if (!Directory.Exists(destinationImageFilenameResolver.DataFolder))
{
Directory.CreateDirectory(destinationImageFilenameResolver.DataFolder);
}
File.Copy(this.filenameResolver.MasterImageInfoFilename, destinationImageFilenameResolver.MasterImageInfoFilename);
File.Copy(this.filenameResolver.MasterImageFilename, destinationImageFilenameResolver.MasterImageFilename);
var imageStateData = this.LoadImageStateData();
int end = imageStateData.FirstSavePoint == 0 ? imageStateData.LastSavePoint : imageStateData.MaxUndoRedoCount - 1;
for (int count = 0; count <= end; count++)
{
File.Copy(this.filenameResolver.ImageSavePointFilename(count), destinationImageFilenameResolver.ImageSavePointFilename(count));
File.Copy(this.filenameResolver.MasterCanvasRecorderFilename(count), destinationImageFilenameResolver.MasterCanvasRecorderFilename(count));
}
}