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); } }
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); }
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); }