public static bool RenameProject( string oldProjectName, string newProjectName )
{
bool projectRenamed = false;
ProjectManager pm = Instance;
TestProgramSet ts = pm.CurrentTestProgramSet;
if (ts != null)
{
string oldPath = Path.Combine( ATMLContext.TESTSET_PATH, oldProjectName );
string newPath = Path.Combine( ATMLContext.TESTSET_PATH, newProjectName );
try
{
if (Directory.Exists( newPath ))
{
LogManager.Warn( "Project {0} already exists.", newProjectName );
}
else
{
CloseProject();
FileManager.CopyFolder( oldPath, newPath, true );
OpenProject( newProjectName );
FileManager.DeleteDirectory( oldPath, true );
ProjectInfo pi = ProjectInfo;
pi.ProjectName = newProjectName;
SaveProjectInfo( pi, Instance.CurrentTestProgramSet );
LogManager.Trace( "Project {0} renamed to {1}.", oldProjectName, newProjectName );
//Loop through file looking for old project name - rename with new file names
FileManager.RenameProjectFiles( newPath, oldProjectName, newProjectName );
projectRenamed = true;
}
}
catch (Exception e)
{
LogManager.Error( e, "Failed to rename folder {0}\n{1}", newProjectName, e.Message );
}
}
return projectRenamed;
}