internal ApplicationNode(DesignTree tree, ApplicationModel model) { Model = model; Text = model.Name; //添加各模型类型的根节点 var modelRoot = new ModelRootNode(ModelType.Entity); Nodes.Add(modelRoot); tree.BindCheckoutInfo(modelRoot, false); modelRoot = new ModelRootNode(ModelType.Service); Nodes.Add(modelRoot); tree.BindCheckoutInfo(modelRoot, false); modelRoot = new ModelRootNode(ModelType.View); Nodes.Add(modelRoot); tree.BindCheckoutInfo(modelRoot, false); modelRoot = new ModelRootNode(ModelType.Workflow); Nodes.Add(modelRoot); tree.BindCheckoutInfo(modelRoot, false); modelRoot = new ModelRootNode(ModelType.Report); Nodes.Add(modelRoot); tree.BindCheckoutInfo(modelRoot, false); modelRoot = new ModelRootNode(ModelType.Enum); Nodes.Add(modelRoot); tree.BindCheckoutInfo(modelRoot, false); modelRoot = new ModelRootNode(ModelType.Event); Nodes.Add(modelRoot); tree.BindCheckoutInfo(modelRoot, false); modelRoot = new ModelRootNode(ModelType.Permission); Nodes.Add(modelRoot); tree.BindCheckoutInfo(modelRoot, false); //添加BlobStoreNode var blobNode = new BlobStoreNode(); Nodes.Add(blobNode); }
private static void FindNewModelParentNodeInternal(DesignNode node, ref DesignNode target, ref uint appID, ModelType newModelType) { if (node == null) { return; } switch (node.NodeType) { case DesignNodeType.FolderNode: if (target == null) { target = node; } break; case DesignNodeType.ModelRootNode: ModelRootNode modelRootNode = (ModelRootNode)node; if (newModelType == modelRootNode.TargetType) { if (target == null) { target = node; } appID = modelRootNode.AppID; return; } break; case DesignNodeType.ApplicationNode: target = ((ApplicationNode)node).FindModelRootNode(newModelType); appID = ((ApplicationNode)node).Model.Id; return; } FindNewModelParentNodeInternal(node.Parent, ref target, ref appID, newModelType); }