public ResultsPerTerm GetResultsPerTern(IEnumerable <SearchResult> SearchResults) { var results = new ResultsPerTerm(); var searchTerms = SearchResults.Select(sr => sr.SearchTerm).Distinct(); foreach (string term in searchTerms) { results.Add(term, new List <SearchResult>()); var resultsByTerm = SearchResults.Where(sr => sr.SearchTerm == term); foreach (var result in resultsByTerm) { var searchResult = new SearchResult { ResultsCount = result.ResultsCount, SearchEngine = result.SearchEngine, SearchTerm = result.SearchTerm }; results[term].Add(searchResult); } } return(results); }
public string FormatResultsPerTerm(ResultsPerTerm resultsPerTerm) { var sb = new StringBuilder(); foreach (var result in resultsPerTerm) { sb.AppendLine($"Results for '{result.Key}'"); foreach (var searchResult in result.Value) { sb.AppendLine($"\t{searchResult.SearchEngine}: {searchResult.ResultsCount}"); } sb.AppendLine(); } return(sb.ToString()); }