/// <summary> /// Gets the master page. /// </summary> /// <returns></returns> /// <remarks> /// Sequence Diagram:<br/> /// <img src="SequenceDiagrams/SD_PrintRoverWeb.Administration.DiscoverDevices.GetMasterPage.jpg"/> /// </remarks> private InnerPage GetMasterPage() { MasterPage masterPage = this.Page.Master; InnerPage headerPage = (InnerPage)masterPage; return(headerPage); }
private void MergePages(InnerPage <TKey, TItem> page, int index, DataPage <TKey, TItem> childPage) { bool isPrevious; DataPage <TKey, TItem> previous = null; DataPage <TKey, TItem> next = null; int size = page.CurrentSize; if (size == 0) { // page parameter is RootPage; we should replace RootPage with childPage; RootPageRef = childPage; return; } if (index == -1) { isPrevious = false; next = page.GetPage(index + 1); } else if (index == size - 1) { isPrevious = true; previous = page.GetPage(index - 1); } else { previous = page.GetPage(index - 1); next = page.GetPage(index + 1); isPrevious = previous.CurrentSize < next.CurrentSize; } if (isPrevious) { if (previous.Merge(childPage)) { page.Remove(index); } else { page[index] = new KeyValuePair <TKey, IPageRef>(childPage.Key, childPage.Identifier); } } else { if (childPage.Merge(next)) { page.Remove(index + 1); } else { page[index + 1] = new KeyValuePair <TKey, IPageRef>(next.Key, next.Identifier); } } }
private void ChangeRootPage(DataPage <TKey, TItem> newInnerPage) { var oldRoot = RootPage; RootPageRef = new InnerPage <TKey, TItem>(provider); var rootPage = RootPage.AsInnerPage; rootPage.Insert(-1, default(TKey), oldRoot.Identifier); rootPage.Insert(0, newInnerPage.Key, newInnerPage.Identifier); if (HasMeasures) { rootPage.AddToMeasures(oldRoot); rootPage.AddToMeasures(newInnerPage); } }