public static KSearchModel GetKSearchObject(string domain, string queryString)
        {
            if (String.IsNullOrEmpty(domain) || String.IsNullOrEmpty(queryString))
            {
                return(null);
            }

            try
            {
                var request = (HttpWebRequest)WebRequest.Create(String.Format(getKSearch, domain, queryString));
                request.Method = "GET";
                string kSearchString = null;
                var    response      = request.GetResponse();

                using (var reader = new StreamReader(response.GetResponseStream(), Encoding.ASCII))
                {
                    kSearchString = reader.ReadToEnd();
                }
                if (String.IsNullOrEmpty(kSearchString))
                {
                    return(null);
                }

                KSearchModel ksearchJsonObject = JsonConvert.DeserializeObject <KSearchModel>(kSearchString);
                return(ksearchJsonObject);
            }
            catch { }
            return(null);
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="domain">WebsiteId</param>
        /// <param name="queryString"></param>
        /// <param name="id">DeveloperId</param>
        /// <returns></returns>
        public IActionResult Index(string domain, string queryString, string id, string websiteId, int skipBy = 0)
        {
            var httpProtocol = (Request.IsHttps) ? "https://" : "http://";

            var ksearchObject         = APIHelper.GetKSearchObject(domain, queryString); //TODO: ksearch isPreview=true for demo Identifier
            var kDynamicSearchResults = APIHelper.GetKDynamicSearchObject(websiteId, queryString, id, skipBy);

            if (kDynamicSearchResults != null && kDynamicSearchResults.Data != null && kDynamicSearchResults.Data.Count() > 0)
            {
                if (ksearchObject == null || (ksearchObject != null && ksearchObject.SearchObjects.Count() == 0))
                {
                    ksearchObject = new KSearchModel();
                }

                if (ksearchObject != null && (ksearchObject.SearchObjects == null || ksearchObject.SearchObjects.Count() == 0))
                {
                    ksearchObject.SearchObjects = new List <SearchObject>();
                }


                foreach (var dynamicSearch in kDynamicSearchResults.Data)
                {
                    ksearchObject.SearchObjects.Add(new SearchObject()
                    {
                        Count       = 1,
                        Description = dynamicSearch.Text,
                        Keywords    = dynamicSearch.Keywords,
                        S3Url       = String.Format("{0}{1}", httpProtocol, dynamicSearch.Url?.ToLower()),
                        Title       = dynamicSearch.Text
                    });
                }
            }

            //if (ksearchObject == null)
            //{
            //    //error page
            //    return HttpNotFound();
            //}

            ViewBag.QueryString = queryString;
            ViewBag.urlList     = ksearchObject?.SearchObjects;
            ViewBag.faviconIcon = ksearchObject?.FaviconUrl;
            //ViewBag.UrlList = urlList;

            return(View());
        }