/// <summary> /// Open project from archived project file /// </summary> /// <param name="projectFilePath">Archived project file path</param> /// <returns>Opened flat project</returns> public FlatProject OpenProject(string projectFilePath) { log.In(projectFilePath); string tempDirectory = CreateTempDirectory(); Archiver.Decompress(projectFilePath, tempDirectory); currentProject = DeserializeProject(CreateProjectFilePath(tempDirectory)); currentProject.WorkingDirectory = tempDirectory; string logFileName = CreateDatabaseFilePath(currentProject); reader = new IntermediateLogReader(logFileName, currentProject.PatternDefinition); log.Out(currentProject); return(currentProject); }
/// <summary> /// Save project to archived project file /// </summary> /// <param name="projectFilePath">Project file path</param> public void SaveProject(string projectFilePath) { log.In(projectFilePath); if (File.Exists(projectFilePath)) { File.Delete(projectFilePath); } reader.Close(); SerializeProject(currentProject, CreateProjectFilePath(currentProject.WorkingDirectory)); Archiver.CompressDirectory(currentProject.WorkingDirectory, projectFilePath); string logFileName = CreateDatabaseFilePath(currentProject); reader = new IntermediateLogReader(logFileName, currentProject.PatternDefinition); log.Out(); }