Ejemplo n.º 1
0
 public TestCopyPasteProperties()
 {
     propertyGraphContainer = new AssetPropertyGraphContainer(new AssetNodeContainer {
         NodeBuilder = { NodeFactory = new AssetNodeFactory() }
     });
     service = TestHelper.CreateCopyPasteService(propertyGraphContainer);
 }
Ejemplo n.º 2
0
        private static string Copy([NotNull] ICopyPasteService service, [NotNull] EntityHierarchyPropertyGraph assetGraph, [NotNull] IEnumerable <EntityDesign> commonRoots)
        {
            // copy selected hierarchy
            var hierarchy = EntityHierarchyPropertyGraph.CloneSubHierarchies(assetGraph.Container.NodeContainer, assetGraph.Asset, commonRoots.Select(r => r.Entity.Id), SubHierarchyCloneFlags.None, out _);
            // visitor on this temporary asset
            var text = service.CopyFromAsset(assetGraph, assetGraph.Id, hierarchy, false);

            return(text);
        }
Ejemplo n.º 3
0
        private static void Paste([NotNull] ICopyPasteService service, string text, [NotNull] EntityHierarchyPropertyGraph assetGraph, EntityDesign target, string folderName)
        {
            var data = service.DeserializeCopiedData(text, assetGraph.Asset, typeof(Entity));

            Assert.NotNull(data);
            Assert.NotNull(data.Items);
            Assert.Equal(1, data.Items.Count);

            var item = data.Items[0];

            Assert.NotNull(item);
            Assert.NotNull(item.Data);
            Assert.NotNull(item.Processor);

            var targetNode = target != null?assetGraph.Container.NodeContainer.GetNode(target.Entity) : assetGraph.RootNode;

            var nodeAccessor      = new NodeAccessor(targetNode, NodeIndex.Empty);
            var propertyContainer = new PropertyContainer {
                { EntityHierarchyPasteProcessor.TargetFolderKey, folderName }
            };

            item.Processor.Paste(item, assetGraph, ref nodeAccessor, ref propertyContainer);
        }