コード例 #1
0
        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));
        }