Beispiel #1
0
        /// <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);
        }