Пример #1
0
        private static void DemoMapCopy(SimpleMutableCategoryNode root)
        {
            var newRoot = new ReadOnlyCategoryNode(new DualStateCategoryItem(root.Item));

            root.MapCopyTo(newRoot, node => new DualStateCategoryItem(node.Item));

            WriteLine("\n\n*** MAP-COPIED ***");
            Display(newRoot);
        }
        public ReadOnlyCategoryNode GetReadOnlyCategoryTree()
        {
            var dataRoot = GetCategoryDataRoot();

            var root = new ReadOnlyCategoryNode(new DualStateCategoryItem(dataRoot.CategoryId, dataRoot.Name));

            root.Build(dataRoot, n => new DualStateCategoryItem(n.CategoryId, n.Name));
            return(root);
        }
Пример #3
0
        private static void DemoMapCompress(SimpleMutableCategoryNode root)
        {
            var newRoot = new ReadOnlyCategoryNode(new DualStateCategoryItem(root.Item));

            root.MapCompressTo(newRoot,
                               n => n.Error != IdentityError.None,
                               n => new DualStateCategoryItem(n.Item));

            WriteLine("\n\n*** MAP-COMPRESSED ***");
            Display(newRoot);
        }
Пример #4
0
        private static void DemoMapCompressRenderDepthLimited(SimpleMutableCategoryNode root)
        {
            var newRoot = new ReadOnlyCategoryNode(new DualStateCategoryItem(root.Item));

            root.MapCompressTo(newRoot,
                               n => n.Item.Name.StartsWith("c", StringComparison.OrdinalIgnoreCase),
                               n => new DualStateCategoryItem(n.Item),
                               null, 2);

            WriteLine("\n\n*** MAP-COMPRESSED (RENDER TO LEVEL 2) ***");
            Display(newRoot);
        }
        private static void Start(ReadOnlyCategoryNode root)
        {
            Display(root);

            var copied = new ReadOnlyCategoryNode(root.Item);

            root.CompressTo(copied, n => n.Item.Name.StartsWith("M"));
            Display(copied);

            var mapCopied = new SimpleMutableCategoryNode(root.Item);

            root.MapCopyTo(mapCopied, n => n.Item as CategoryItem);
            Display(mapCopied);
        }