public string FormatWinnersPerEngine(WinnersPerEngine winnersPerEngine) { var sb = new StringBuilder(); foreach (var winnerPerEngine in winnersPerEngine) { sb.AppendLine($"{winnerPerEngine.Key} winner: {winnerPerEngine.Value.SearchTerm}"); } return(sb.ToString()); }
public WinnersPerEngine CalcWinnersPerEngine(IEnumerable <SearchResult> SearchResults) { var winners = new WinnersPerEngine(); var engines = SearchResults.Select(sr => sr.SearchEngine).Distinct(); foreach (string engine in engines) { SearchResult winnerEngine = SearchResults .Where(sr => sr.SearchEngine == engine) .OrderByDescending(sr => sr.ResultsCount) .First(); winners.Add(winnerEngine.SearchEngine, new TotalWinner { SearchTerm = winnerEngine.SearchTerm, SearchResultsCount = winnerEngine.ResultsCount }); } return(winners); }