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)); } } }
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; }