public void SetChildrensParentPageNumber(DiskFunctionality df) { TreeItem treeItem1; TreeItem treeItem2; List <TreeItem> .Enumerator enumerator = itemList.GetEnumerator(); enumerator.MoveNext(); treeItem1 = enumerator.Current; if (treeItem1.leftChildNumber == -1) { return; } Page child = df.ReadPage(treeItem1.leftChildNumber); child.parentPageNumber = currentPageNumber; df.SavePage(child); while (enumerator.MoveNext()) { treeItem2 = enumerator.Current; child = df.ReadPage(treeItem2.leftChildNumber); child.parentPageNumber = currentPageNumber; df.SavePage(child); treeItem1 = treeItem2; } child = df.ReadPage(treeItem1.rightChildNumber); child.parentPageNumber = currentPageNumber; df.SavePage(child); }
public void SetParentsChildrenPageNumber(int lastPageNumber, DiskFunctionality df) { if (parentPageNumber == -1) { return; } Page ancestorPage = df.ReadPage(parentPageNumber); List <TreeItem> .Enumerator e = ancestorPage.itemList.GetEnumerator(); TreeItem iterator; while (e.MoveNext()) { iterator = e.Current; if (iterator.leftChildNumber == lastPageNumber) { iterator.leftChildNumber = currentPageNumber; } if (iterator.rightChildNumber == lastPageNumber) { iterator.rightChildNumber = currentPageNumber; } } df.SavePage(ancestorPage); }