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));
                }
            }
        }
Exemplo n.º 2
0
 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;
 }