/// <summary> /// Internal method to create a Page Instance /// </summary> /// <param name="configStore"> /// IConfigurationUnitStore /// </param> /// <param name="searchType"> /// SearchPageSearchType /// </param> /// <returns> /// UPMSearchPage /// </returns> private UPMSearchPage CreatePageInstanceWorker(IConfigurationUnitStore configStore, SearchPageSearchType searchType) { var defaultRadiusMeter = 100; var defaultRadius = ViewReference.ContextValueForKey("DefaultRadius"); if (!string.IsNullOrWhiteSpace(defaultRadius)) { defaultRadiusMeter = defaultRadius.ToInt(); } usedFilters = new Dictionary <string, UPMFilter>(); var identifiers = new List <IIdentifier>(); var filters = new List <UPMFilter>(); PopulatePageFilterAndIdentifierLists(configStore, filters, identifiers, defaultRadiusMeter); var multipleIdentifier = new MultipleIdentifier(identifiers); var page = new UPMSearchPage(multipleIdentifier) { SearchType = searchType, AvailableFilters = filters, Style = UPMTableStyle.UPMStandardTableStyle, AvailableOnlineSearch = !ViewReference.ContextValueIsSet("hideOnlineOfflineButton") }; return(page); }
/// <summary> /// Creates page instance /// </summary> /// <returns><see cref="UPMSearchPage"/></returns> public override UPMSearchPage CreatePageInstance() { this.LinkRecordIdentification = this.ViewReference.ContextValueForKey(@"RecordId"); if (string.IsNullOrEmpty(this.LinkRecordIdentification)) { this.LinkRecordIdentification = this.ViewReference.ContextValueForKey(@"LinkRecord"); } if (!string.IsNullOrEmpty(this.LinkRecordIdentification) && this.LinkRecordIdentification.IsRecordIdentification()) { this.LinkRecordIdentification = UPCRMDataStore.DefaultStore.ReplaceRecordIdentification(this.LinkRecordIdentification); string linkIdObject = this.ViewReference.ContextValueForKey(@"LinkId"); this.LinkId = !string.IsNullOrEmpty(linkIdObject) ? Convert.ToInt32(linkIdObject) : 0; } else { this.LinkRecordIdentification = null; this.LinkId = -1; } this.ParentLinkString = this.ViewReference.ContextValueForKey(@"ParentLink"); if (!string.IsNullOrEmpty(this.LinkRecordIdentification)) { var infoAreaIdentifier = new RecordIdentifier(this.InfoAreaId, null); var multiIdentifier = new MultipleIdentifier(new List <IIdentifier> { infoAreaIdentifier, new RecordIdentifier(this.LinkRecordIdentification) }); return(this.CreatePageInstance(multiIdentifier)); } return(this.CreatePageInstance(new RecordIdentifier(this.InfoAreaId, null))); }
/// <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); }
/// <summary> /// Creates page instance /// </summary> /// <returns> /// <see cref="UPMSearchPage" /> /// </returns> public override UPMSearchPage CreatePageInstance() { List <IIdentifier> identifiers = new List <IIdentifier>(); List <HistoryEntry> historyEntries = HistoryManager.DefaultHistoryManager.HistoryEntries; foreach (HistoryEntry entry in historyEntries) { identifiers.Add(new RecordIdentifier(entry.RecordIdentification)); } MultipleIdentifier multipleIdentifier = new MultipleIdentifier(identifiers); return(new UPMSearchPage(multipleIdentifier)); }
/// <summary> /// Creates the page instance. /// </summary> /// <returns></returns> public override UPMSearchPage CreatePageInstance() { this.InfoAreaId = this.ViewReference.ContextValueForKey("InfoArea"); this.ConfigName = this.ViewReference.ContextValueForKey("Config1Name"); IConfigurationUnitStore configStore = ConfigurationUnitStore.DefaultStore; string searchTypeString = this.ViewReference.ContextValueForKey("InitialSearchType"); SearchPageSearchType searchType = Convert.ToInt32(searchTypeString) == 2 ? SearchPageSearchType.OnlineSearch : SearchPageSearchType.OfflineSearch; if (string.IsNullOrEmpty(this.InfoAreaId) && this.ViewReference.ContextValueForKey("Modus") == "MultiSearch") { if (string.IsNullOrEmpty(this.ConfigName)) { this.ConfigName = "default"; } } List <IIdentifier> identifiers = new List <IIdentifier>(); this.usedFilters = new Dictionary <string, UPMFilter>(); List <UPMFilter> filters = new List <UPMFilter>(); string geoFilter1 = this.ViewReference.ContextValueForKey("Config1Filter"); UPMFilter filter = UPMFilter.FilterForName(geoFilter1); SearchAndList searchConfiguration = configStore.SearchAndListByName(this.ConfigName); var infoAreaId = searchConfiguration != null ? searchConfiguration.InfoAreaId : this.ConfigName; if (filter != null) { filter.Active = true; this.usedFilters[this.ConfigName] = filter; filters.Add(filter); } identifiers.Add(new RecordIdentifier(infoAreaId, null)); for (int i = 2; i < 99; i++) { string configNameKey = $"Config{i}Name"; string configName2 = this.ViewReference.ContextValueForKey(configNameKey); if (!string.IsNullOrEmpty(configName2)) { string configFilterKey = $"Config{i}Filter"; string geoFilter2 = this.ViewReference.ContextValueForKey(configFilterKey); UPMFilter filter2 = UPMFilter.FilterForName(geoFilter2); SearchAndList searchConfiguration2 = configStore.SearchAndListByName(configName2); if (filter2 != null) { filter2.Active = true; this.usedFilters[configName2] = filter2; filters.Add(filter2); } infoAreaId = (searchConfiguration2 != null) ? searchConfiguration2.InfoAreaId : configName2; identifiers.Add(new RecordIdentifier(infoAreaId, null)); } else { break; } } MultipleIdentifier multipleIdentifier = new MultipleIdentifier(identifiers); UPMSearchPage page = new UPMSearchPage(multipleIdentifier) { SearchType = searchType, AvailableFilters = filters, Style = UPMTableStyle.UPMStandardTableStyle, AvailableOnlineSearch = !this.ViewReference.ContextValueIsSet("hideOnlineOfflineButton"), InitiallyOnline = searchType == SearchPageSearchType.OnlineSearch, HideSearchBar = true, ViewType = SearchPageViewType.List }; return(page); }