/// <summary> /// SearchFight /// </summary> /// <param name="keyWords"></param> /// <returns></returns> public async Task <SearchFightDto> SearchFight(string[] keyWords) { var result = new SearchFightDto(); var searchEngineDtoList = new List <SearchEngineDto>(); foreach (var keyWord in keyWords) { var engineDto = new SearchEngineDto(); #region GOOGLE //for every search in google I put dto in result object engineDto.GoogleDto = await _googleService.GetResultGoogle(keyWord); #endregion #region BING //for every search in bing I put dto in result object engineDto.BingDto = await _bingService.GetResultBing(keyWord); #endregion //set keyword in result object engineDto.KeyWord = keyWord; //add object to list searchEngineDtoList.Add(engineDto); } result.EngineDtoList = searchEngineDtoList; #region WINNER //I find a winner for every search engine result.GoogleWinnerDto = await _googleService.GetGoogleWinner(searchEngineDtoList); result.BingWinnerDto = await _bingService.GetBingWinner(searchEngineDtoList); //winner at all result.Winner = await GetWinner(result); #endregion return(result); }