protected override void LoadData() { Trace.Write("SuggestionsControl LoadData() - Start Calling Suggestions Command"); ISuggestionsCommand suggestionsCommand = new SuggestionsCommand(Query); SuggestionsList = suggestionsCommand.Suggest(); Trace.Write("SuggestionsControl LoadData() - End Calling Suggestions Command"); }
public void AddSuggestions(SuggestionsList suggestionsList) { foreach (SuggestionItem newSuggestion in suggestionsList) { SuggestionItem suggestion = GetSuggestion(newSuggestion.Name); if (suggestion == null) { Add(newSuggestion); } else { if (newSuggestion.Weight > suggestion.Weight) { suggestion.Weight = newSuggestion.Weight; } } } }
public SuggestionsList GetSuggestions(SuggestionsContext suggestionsContext) { SuggestionsList suggestionsList = new SuggestionsList(); try { string query = suggestionsContext.Query; string urlTemplate = "http://google.com/complete/search?output=toolbar&q={0}"; string url = string.Format(urlTemplate, query); XmlDocument xmlDocument = new XMLConnector().GetXMLDocument(url); ; XmlNodeList resultNodes = xmlDocument.SelectNodes("toplevel/CompleteSuggestion"); if (resultNodes != null) { foreach (XmlNode resultNode in resultNodes) { string name = null; double numberQueries = 0; XmlNode suggestionNode = resultNode.SelectSingleNode("suggestion"); if (suggestionNode != null) { XmlAttribute dataAttribute = suggestionNode.Attributes["data"]; if (dataAttribute != null) { name = dataAttribute.Value; } } XmlNode numQueriesNode = resultNode.SelectSingleNode("num_queries"); if (numQueriesNode != null) { XmlAttribute intAttribute = numQueriesNode.Attributes["int"]; if (intAttribute != null) { string numQuery = intAttribute.Value; try { numberQueries = double.Parse(numQuery); } catch (Exception) {} } } if (name != null && numberQueries > 0) { SuggestionItem suggestionItem = new SuggestionItem(name); suggestionItem.Provider = ProviderEnum.Google; suggestionItem.NumberQueries = numberQueries; suggestionItem.Weight = CalculateWeight(numberQueries); suggestionsList.Add(suggestionItem); } } } } catch (Exception exception) { ErrorService.Log("GoogleSuggestionsService", "GetSuggestions", suggestionsContext.ToString(), exception); } return suggestionsList; }
public static void CacheSuggestionList(string query, SuggestionsList suggestionsList) { string cacheName = "suggestion-" + query; int cacheExpiration = ConfigService.GetConfig(ConfigKeys.THEINTERNETBUZZ_SUGGESTIONS_EXPIRATION, 60); CacheService.Put(cacheName, cacheExpiration, suggestionsList); }