private void NavigateForward() { BrowserRecord forwardBrowserRecord = AppDataUtil.Instance.Forward(); if (forwardBrowserRecord != null) { List <Publication> cachedPublicationList = PublicationUtil.Instance.GetPublicationOffline(); Publication navigateToP = cachedPublicationList.Find(o => o.BookId == forwardBrowserRecord.BookID); if (forwardBrowserRecord.RecordType == RecordType.ContentRecord) { AppDataUtil.Instance.SetCurrentPublication(navigateToP); ContentBrowserRecord contentBR = (ContentBrowserRecord)forwardBrowserRecord; AppDataUtil.Instance.SetOpendTOC(AppDataUtil.Instance.GetTOCNodeByID(contentBR.TOCID)); } else if (forwardBrowserRecord.RecordType == RecordType.SearchResultRecord) { SearchBrowserRecord searchBR = (SearchBrowserRecord)forwardBrowserRecord; AppDataUtil.Instance.SetCurrentPublication(navigateToP, searchBR.KeyWords); AppDataUtil.Instance.SetOpendTOC(AppDataUtil.Instance.GetTOCNodeByID(searchBR.TOCID)); } else if (forwardBrowserRecord.RecordType == RecordType.AnnotationNavigator) { //TODO, Back to annotation navigator } } }