public static ProjectBase AddSyncedProject(string fileName)
{
bool doesProjectAlreadyExist = false;
ProjectBase syncedProject = null;
string standardizedFileName = FileManager.Standardize(fileName.ToLowerInvariant());
if (FileManager.Standardize(ProjectManager.ProjectBase.FullFileName.ToLowerInvariant(), null, false) == standardizedFileName)
{
doesProjectAlreadyExist = true;
}
if (!doesProjectAlreadyExist)
{
foreach (var project in mSyncedProjects)
{
string existingFileName = FileManager.Standardize(project.FullFileName.ToLowerInvariant(), null, false);
if (existingFileName == standardizedFileName)
{
doesProjectAlreadyExist = true;
break;
}
}
}
if (!doesProjectAlreadyExist)
{
syncedProject = ProjectCreator.CreateProject(fileName);
syncedProject.OriginalProjectBaseIfSynced = ProjectManager.ProjectBase;
syncedProject.Load(fileName);
lock (ProjectManager.SyncedProjects)
{
mSyncedProjects.Add(syncedProject);
}
mHaveNewProjectsBeenSyncedSinceSave = true;
}
return syncedProject;
}