Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }