public IL.ISeoResponse GetSearchResponsePositions(IL.ISeoRequest request) { if (request != null) { var urlToExecute = _urlConstructor.ConstructUrl(StringLiteralConstants.MICROSOFT_BASE_URL, request.NumberOfRecords, request.SearchText); if (!string.IsNullOrWhiteSpace(urlToExecute)) { HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(urlToExecute); WebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultNetworkCredentials; var htmlString = _requestProcessor.ExecuteSearchRequest(webRequest); if (!string.IsNullOrWhiteSpace(htmlString)) { var filteredHtml = _parserUtility.ParseAsXml(htmlString, StringLiteralConstants.TagsToRemove); if (!string.IsNullOrWhiteSpace(filteredHtml)) { object seoType; if (Enum.TryParse(typeof(EnumSeoEngineType), request.SeoEngineType, out seoType)) { var position = _positions.GetUrlPositionsImplementation((EnumSeoEngineType)seoType); List <int> positions = position.GetPositionOfOccurence(filteredHtml, request.UrlFilter); return(ResponseConverter.ConvertIntToResponses(positions, request)); } } } } } return(ResponseConverter.ConvertIntToResponses(null, request)); }