private AZSearchView BuildPublicSettingsView(ModuleInstanceView parent, AZSearchView settingsData, IDictionary<string, string> parameters) { var searchResultPageUrl = CommonUtils.AddQueryStringParameter(settingsData.GetSettingValue("SearchResultsPageUrl", string.Empty), "Letter", string.Empty, false); // Location context options var locationId = LocationContextHelper.ResolveLocationContext(parent, settingsData, parameters).Id; var descendantOption = LocationContextHelper.ResolveLocationDescendantOption(settingsData, parameters); var locationContextQuery = string.Empty; if (locationId.HasValue) locationContextQuery += "&LocationContext=" + locationId.Value.ToString() +"&LocationDescendants=" + (descendantOption == DescendantOption.IncludeDescendants ? "true" : "false"); settingsData.Aurl = searchResultPageUrl + "A" + locationContextQuery; settingsData.Burl = searchResultPageUrl + "B" + locationContextQuery; settingsData.Curl = searchResultPageUrl + "C" + locationContextQuery; settingsData.Durl = searchResultPageUrl + "D" + locationContextQuery; settingsData.Eurl = searchResultPageUrl + "E" + locationContextQuery; settingsData.Furl = searchResultPageUrl + "F" + locationContextQuery; settingsData.Gurl = searchResultPageUrl + "G" + locationContextQuery; settingsData.Hurl = searchResultPageUrl + "H" + locationContextQuery; settingsData.Iurl = searchResultPageUrl + "I" + locationContextQuery; settingsData.Jurl = searchResultPageUrl + "J" + locationContextQuery; settingsData.Kurl = searchResultPageUrl + "K" + locationContextQuery; settingsData.Lurl = searchResultPageUrl + "L" + locationContextQuery; settingsData.Murl = searchResultPageUrl + "M" + locationContextQuery; settingsData.Nurl = searchResultPageUrl + "N" + locationContextQuery; settingsData.Ourl = searchResultPageUrl + "O" + locationContextQuery; settingsData.Purl = searchResultPageUrl + "P" + locationContextQuery; settingsData.Qurl = searchResultPageUrl + "Q" + locationContextQuery; settingsData.Rurl = searchResultPageUrl + "R" + locationContextQuery; settingsData.Surl = searchResultPageUrl + "S" + locationContextQuery; settingsData.Turl = searchResultPageUrl + "T" + locationContextQuery; settingsData.Uurl = searchResultPageUrl + "U" + locationContextQuery; settingsData.Vurl = searchResultPageUrl + "V" + locationContextQuery; settingsData.Wurl = searchResultPageUrl + "W" + locationContextQuery; settingsData.Xurl = searchResultPageUrl + "X" + locationContextQuery; settingsData.Yurl = searchResultPageUrl + "Y" + locationContextQuery; settingsData.Zurl = searchResultPageUrl + "Z" + locationContextQuery; var request = new SearchProviderSpecialtiesRequest() { OrgUnitId = locationId, DescendantOption = descendantOption }; var response = parent.ProcessRequest<SearchProviderSpecialtiesResponse>(request); settingsData.ADisabled = !response.Specialties.Any(s => s.Name.StartsWith("A")); settingsData.BDisabled = !response.Specialties.Any(s => s.Name.StartsWith("B")); settingsData.CDisabled = !response.Specialties.Any(s => s.Name.StartsWith("C")); settingsData.DDisabled = !response.Specialties.Any(s => s.Name.StartsWith("D")); settingsData.EDisabled = !response.Specialties.Any(s => s.Name.StartsWith("E")); settingsData.FDisabled = !response.Specialties.Any(s => s.Name.StartsWith("F")); settingsData.GDisabled = !response.Specialties.Any(s => s.Name.StartsWith("G")); settingsData.HDisabled = !response.Specialties.Any(s => s.Name.StartsWith("H")); settingsData.IDisabled = !response.Specialties.Any(s => s.Name.StartsWith("I")); settingsData.JDisabled = !response.Specialties.Any(s => s.Name.StartsWith("J")); settingsData.KDisabled = !response.Specialties.Any(s => s.Name.StartsWith("K")); settingsData.LDisabled = !response.Specialties.Any(s => s.Name.StartsWith("L")); settingsData.MDisabled = !response.Specialties.Any(s => s.Name.StartsWith("M")); settingsData.NDisabled = !response.Specialties.Any(s => s.Name.StartsWith("N")); settingsData.ODisabled = !response.Specialties.Any(s => s.Name.StartsWith("O")); settingsData.PDisabled = !response.Specialties.Any(s => s.Name.StartsWith("P")); settingsData.QDisabled = !response.Specialties.Any(s => s.Name.StartsWith("Q")); settingsData.RDisabled = !response.Specialties.Any(s => s.Name.StartsWith("R")); settingsData.SDisabled = !response.Specialties.Any(s => s.Name.StartsWith("S")); settingsData.TDisabled = !response.Specialties.Any(s => s.Name.StartsWith("T")); settingsData.UDisabled = !response.Specialties.Any(s => s.Name.StartsWith("U")); settingsData.VDisabled = !response.Specialties.Any(s => s.Name.StartsWith("V")); settingsData.WDisabled = !response.Specialties.Any(s => s.Name.StartsWith("W")); settingsData.XDisabled = !response.Specialties.Any(s => s.Name.StartsWith("X")); settingsData.YDisabled = !response.Specialties.Any(s => s.Name.StartsWith("Y")); settingsData.ZDisabled = !response.Specialties.Any(s => s.Name.StartsWith("Z")); if (parameters.ContainsKey("Letter")) settingsData.ActiveLetter = parameters["Letter"]; return settingsData; }
private AZSearchView BuildPublicSettingsView(ModuleInstanceView parent, AZSearchView settingsData, IDictionary<string, string> parameters) { // Establish correct search results page URL settingsData.UpdateSettingValue("SearchResultsPageUrl", ProviderUtils.CalculateSearchResultsUrl(settingsData, parent.SearchSettings.SearchResultsPageUrl)); var searchResultPageUrl = CommonUtils.AddQueryStringParameter(settingsData.GetSettingValue("SearchResultsPageUrl", string.Empty), "Letter", string.Empty, false); // Location context options var locationId = LocationContextHelper.ResolveLocationContext(parent, settingsData, parameters).Id; var descendantOption = LocationContextHelper.ResolveLocationDescendantOption(settingsData, parameters); var locationContextQuery = string.Empty; if (locationId.HasValue) locationContextQuery += "&LocationContext=" + locationId.Value.ToString() +"&LocationDescendants=" + (descendantOption == DescendantOption.IncludeDescendants ? "true" : "false"); settingsData.Aurl = searchResultPageUrl + "A" + locationContextQuery; settingsData.Burl = searchResultPageUrl + "B" + locationContextQuery; settingsData.Curl = searchResultPageUrl + "C" + locationContextQuery; settingsData.Durl = searchResultPageUrl + "D" + locationContextQuery; settingsData.Eurl = searchResultPageUrl + "E" + locationContextQuery; settingsData.Furl = searchResultPageUrl + "F" + locationContextQuery; settingsData.Gurl = searchResultPageUrl + "G" + locationContextQuery; settingsData.Hurl = searchResultPageUrl + "H" + locationContextQuery; settingsData.Iurl = searchResultPageUrl + "I" + locationContextQuery; settingsData.Jurl = searchResultPageUrl + "J" + locationContextQuery; settingsData.Kurl = searchResultPageUrl + "K" + locationContextQuery; settingsData.Lurl = searchResultPageUrl + "L" + locationContextQuery; settingsData.Murl = searchResultPageUrl + "M" + locationContextQuery; settingsData.Nurl = searchResultPageUrl + "N" + locationContextQuery; settingsData.Ourl = searchResultPageUrl + "O" + locationContextQuery; settingsData.Purl = searchResultPageUrl + "P" + locationContextQuery; settingsData.Qurl = searchResultPageUrl + "Q" + locationContextQuery; settingsData.Rurl = searchResultPageUrl + "R" + locationContextQuery; settingsData.Surl = searchResultPageUrl + "S" + locationContextQuery; settingsData.Turl = searchResultPageUrl + "T" + locationContextQuery; settingsData.Uurl = searchResultPageUrl + "U" + locationContextQuery; settingsData.Vurl = searchResultPageUrl + "V" + locationContextQuery; settingsData.Wurl = searchResultPageUrl + "W" + locationContextQuery; settingsData.Xurl = searchResultPageUrl + "X" + locationContextQuery; settingsData.Yurl = searchResultPageUrl + "Y" + locationContextQuery; settingsData.Zurl = searchResultPageUrl + "Z" + locationContextQuery; var request = new ReadEnabledLettersRequest() { OrgUnitId = locationId, DescendantOption = descendantOption }; var response = parent.ProcessRequest<ReadEnabledLettersResponse>(request); settingsData.ADisabled = !response.HasA; settingsData.BDisabled = !response.HasB; settingsData.CDisabled = !response.HasC; settingsData.DDisabled = !response.HasD; settingsData.EDisabled = !response.HasE; settingsData.FDisabled = !response.HasF; settingsData.GDisabled = !response.HasG; settingsData.HDisabled = !response.HasH; settingsData.IDisabled = !response.HasI; settingsData.JDisabled = !response.HasJ; settingsData.KDisabled = !response.HasK; settingsData.LDisabled = !response.HasL; settingsData.MDisabled = !response.HasM; settingsData.NDisabled = !response.HasN; settingsData.ODisabled = !response.HasO; settingsData.PDisabled = !response.HasP; settingsData.QDisabled = !response.HasQ; settingsData.RDisabled = !response.HasR; settingsData.SDisabled = !response.HasS; settingsData.TDisabled = !response.HasT; settingsData.UDisabled = !response.HasU; settingsData.VDisabled = !response.HasV; settingsData.WDisabled = !response.HasW; settingsData.XDisabled = !response.HasX; settingsData.YDisabled = !response.HasY; settingsData.ZDisabled = !response.HasZ; if (parameters.ContainsKey("Letter")) settingsData.ActiveLetter = parameters["Letter"]; return settingsData; }