public void copyProject(IFCProjectInfo ProjectInfo, string Export, CopyDetails IFCInfo) { foreach (var Folder in ProjectInfo.Folders) { if (Folder.Export == Export || Folder.Export == "") { string IFCPath = IFCInfo.To + "\\" + Export + ".ifc"; //Sjekker om det er en eksisterende ifc og sletter den if (File.Exists(IFCPath)) { File.Delete(IFCPath); } //Kopierer inn ny tom.ifc FileInfo file = new FileInfo(IFCInfo.From); file.CopyTo(IFCPath, true); //Kopierer Modellfilene for gjeldende f*g DirectoryCopy(Folder.From, Folder.To, true); } } //Kopierer eventuelle enkeltstående filer som f.eks. mep- og QPD-filer. Hvis "Export" attributten står tom skal denne kopieres hver gang. foreach (var File in ProjectInfo.Files) { if (File.Export == Export || File.Export == "") { FileInfo file = new FileInfo(File.From); file.CopyTo(File.To, true); } } }
public CopyDetails GetIFCFileData(IFCProjectInfo ProjectInfo) { CopyDetails currentIFC = new CopyDetails(); foreach (var File in ProjectInfo.Files) { if (File.Export == "tomIFC") { currentIFC = File; } } return(currentIFC); }
public IFCProjectInfo GetprojectInfo(string _XMLPath) { XDocument xDoc = XDocument.Load(_XMLPath); var ProjectInfo = new IFCProjectInfo { Files = new List <CopyDetails>(), Folders = new List <CopyDetails>(), StartFiles = new List <StartFile>() }; var Folders = xDoc.Element("Project").Element("Folders").Elements("Folder"); var Files = xDoc.Element("Project").Element("Files").Elements("File"); var StartFiles = xDoc.Element("Project").Element("StartFiles").Elements("StartFile"); foreach (var Folder in Folders) { ProjectInfo.Folders.Add(new CopyDetails { From = Folder.Attribute("From").Value, To = Folder.Attribute("To").Value, Export = Folder.Attribute("Export").Value, Discipline = Folder.Attribute("Discipline").Value }); } foreach (var File in Files) { ProjectInfo.Files.Add(new CopyDetails { From = File.Attribute("From").Value, To = File.Attribute("To").Value, Export = File.Attribute("Export").Value }); } foreach (var StartFile in StartFiles) { ProjectInfo.StartFiles.Add(new StartFile { Path = StartFile.Attribute("Path").Value, Discipline = StartFile.Attribute("Discipline").Value }); } return(ProjectInfo); }