public CETI(string name, VCaseItem caseItem, VProjectItem projectItem, Guid id, Guid parentId, string image) { Image = image; Id = id; ParentId = parentId; Name = name; CaseItem = caseItem; ProjectItem = projectItem; }
public static VCase ReadFrom(string filePath, IProjectConfiguration config) { var vCase = new VCase(); using (var stream = new StreamReader(filePath, Encoding.UTF8)) using (var xml = new XmlTextReader(stream)) { xml.ReadToFollowing("Case"); if (xml.ReadToFollowing("Name")) { vCase.Name = xml.ReadElementContentAsString(); } if (xml.ReadToFollowing("CaseItems")) { while (xml.ReadToFollowing("CaseItem")) { VCaseItem item = null; xml.ReadToFollowing("Id"); var id = xml.ReadElementContentAsString(); xml.ReadToFollowing("DisplayName"); var displayName = xml.ReadElementContentAsString(); xml.ReadToFollowing("RelativePath"); var relativePath = xml.ReadElementContentAsString(); xml.ReadToFollowing("Type"); var type = xml.ReadElementContentAsString(); if (type == ProjectItem) { item = ProjectHandler.ReadFrom(xml, config); } Debug.Assert(item != null); item.Id = new Guid(id); item.DisplayName = displayName; item.RelativePath = relativePath; vCase.Items.Add(item); } } } return(vCase); }
public void AddCaseItem(VCaseItem caseItem) { var vProject = caseItem as VProject; if (vProject == null) { return; } var projectNode = new CETI(caseItem.DisplayName, caseItem, null, Guid.NewGuid(), Guid.Empty, null); _items.Add(projectNode); if (vProject.ProjectDescriptor.ProductType != ProductType.CFD) { foreach (var item in vProject.Items) { var d = item.Descriptor; _items.Add(new CETI(d.NodeName, caseItem, item, Guid.NewGuid(), projectNode.Id, null)); } } else { //var parentNodesMap = new Dictionary<CaseItemType, CETI>(); //parentNodesMap[CaseItemType.Project] = projectNode; //if (vProject.Items.Any(i => i.Descriptor.CaseItemType == CaseItemType.Preprocessor)) //{ // parentNodesMap[CaseItemType.Preprocessor] = new CETI("preprocessing", caseItem, null, Guid.NewGuid(), // projectNode.Id, null); // _items.Add(parentNodesMap[CaseItemType.Preprocessor]); //} //if (vProject.Items.Any(i => i.Descriptor.CaseItemType == CaseItemType.SolverTimeZero)) //{ // parentNodesMap[CaseItemType.SolverTimeZero] = new CETI("0.original", caseItem, null, Guid.NewGuid(), // projectNode.Id, null); // _items.Add(parentNodesMap[CaseItemType.SolverTimeZero]); //} //if (vProject.Items.Any(i => i.Descriptor.CaseItemType == CaseItemType.SolverConstant)) //{ // parentNodesMap[CaseItemType.SolverConstant] = new CETI("constant", caseItem, null, Guid.NewGuid(), // projectNode.Id, null); // _items.Add(parentNodesMap[CaseItemType.SolverConstant]); //} //if (vProject.Items.Any(i => i.Descriptor.CaseItemType == CaseItemType.SolverSystem)) //{ // parentNodesMap[CaseItemType.SolverSystem] = new CETI("system", caseItem, null, Guid.NewGuid(), // projectNode.Id, null); // _items.Add(parentNodesMap[CaseItemType.SolverSystem]); //} foreach (var item in vProject.Items) { var d = item.Descriptor; if (d.NodeInvisible) { continue; } //if (!parentNodesMap.ContainsKey(d.CaseItemType)) //{ // Debug.Fail("Unexpected value: " + d.CaseItemType); // continue; //} //var targetNode = parentNodesMap[d.CaseItemType]; _items.Add(new CETI(d.NodeName, caseItem, item, Guid.NewGuid(), projectNode.Id, null)); } } }