/// <summary> /// Creates the page instance. /// </summary> /// <returns></returns> public override UPMSearchPage CreatePageInstance() { this.InfoAreaId = this.ViewReference.ContextValueForKey("InfoArea"); this.ConfigName = this.ViewReference.ContextValueForKey("ConfigName"); string searchTypeString = this.ViewReference.ContextValueForKey("InitialSearchType"); SearchPageSearchType searchType = SearchPageSearchType.OfflineSearch; string fullTextSearchString = this.ViewReference.ContextValueForKey("FullTextSearch"); this.FullTextSearch = !(string.IsNullOrEmpty(fullTextSearchString) || fullTextSearchString == "false"); this.MinSearchTextLength = Convert.ToInt32(this.ViewReference.ContextValueForKey("MinSearchTextLength")); if (this.MinSearchTextLength == 0) { this.MinSearchTextLength = 1; } if (!string.IsNullOrEmpty(searchTypeString)) { searchType = (SearchPageSearchType)Convert.ToInt32(searchTypeString); } if (string.IsNullOrEmpty(this.InfoAreaId) && this.ViewReference.ContextValueForKey("Modus") == "GlobalSearch") { if (string.IsNullOrEmpty(this.ConfigName)) { this.ConfigName = "default"; } } List <IIdentifier> identifiers = new List <IIdentifier>(); IConfigurationUnitStore configStore = ConfigurationUnitStore.DefaultStore; QuickSearch quickSearch = configStore.QuickSearchByName(this.ConfigName); int infoAreaCount = quickSearch?.NumberOfInfoAreas ?? 0; for (int i = 0; i < infoAreaCount; i++) { string currentInfoAreaId = quickSearch.InfoAreaIdAtIndex(i); identifiers.Add(new RecordIdentifier(currentInfoAreaId, null)); } MultipleIdentifier multipleIdentifier = new MultipleIdentifier(identifiers); UPMSearchPage page = new UPMSearchPage(multipleIdentifier); page.SearchType = searchType; page.AvailableOnlineSearch = !this.ViewReference.ContextValueIsSet("hideOnlineOfflineButton"); page.Style = UPMTableStyle.UPMGlobalSearchTableStyle; if (searchType == SearchPageSearchType.OnlineSearch) { page.InitiallyOnline = true; } return(page); }