示例#1
0
        public void ProcessNodeData(ITreeNodeViewModel node)
        {
            var storage   = node?.InnerStorage ?? throw new NullReferenceException("Invalid Node was passed");
            var iterator  = new IIteratorCLI();
            var subHandle = new SubHandleCLI();

            storage.EnumStorages(ref iterator);
            while (true)
            {
                bool isDone = iterator?.ProcessNext(ref subHandle) ?? false;
                var  type   = subHandle?.GetType();
                if (type != StorageType.IStorage || isDone)
                {
                    break;
                }
                var childStorage = subHandle.GetStorage();
                ProcessDataInternal(childStorage);
            }
        }
示例#2
0
        public void GenerateNodeAndAdd(SubHandleCLI subHandle, ITreeNodeViewModel parent)
        {
            var storageType = (StorageType)subHandle?.GetType();

            if (storageType != StorageType.IStorage)
            {
                PLogger.Log("Wrong/null storage passed...");
                return;
            }

            var iStorage = subHandle.GetStorage();

            if (iStorage.IsNull())
            {
                PLogger.Log("iStorage was null");
                return;
            }

            var node = Utilities.FormNodeFromStorage(iStorage);

            AddElementBack(node, parent);
        }
示例#3
0
        private List <DataTuple> GatherExportList(ITreeNodeViewModel treeNode)
        {
            var storage = treeNode?.InnerStorage;

            var iterator = new IIteratorCLI();

            storage?.EnumStorages(ref iterator);

            var subHandle = new SubHandleCLI();
            var dataList  = new List <DataTuple>();

            while (true)
            {
                bool isDone = iterator.ProcessNext(ref subHandle);

                if (isDone || subHandle?.GetType() != StorageType.IStorage)
                {
                    break;
                }
                dataList.AddRange(ProcessStorage(subHandle?.GetStorage()));
            }

            return(dataList);
        }