Exemple #1
0
        public ActionResult HomeSearch(int folderId)
        {
            HomeSearchData hsd = Home.GetSearchFolder(folderId);

            if (hsd.QueryType == 3) // redirect link
            {
                //Response.Redirect(hsd.Query, true);
                return(Redirect(hsd.Query));
            }
            else
            {
                if (hsd.QueryType == 1) //FT query
                {
                    hsd.Query = "props:pr" + Session["SelectedProductId"].ToString() + " (" + hsd.Query + ")";
                }
                SearchBox sb = new SearchBox(Language.Id);


                if (!sb.ShowFreeDocuments.HasValue)
                {
                    sb.ShowFreeDocuments = this.UserData.ShowFreeDocuments;
                }

                sb.HomeSearch = hsd;
                return(Search(sb));
            }
        }
Exemple #2
0
        public static HomeSearchData GetSearchFolder(int folderId)
        {
            HomeSearchData s   = null;
            var            row = DB.GetFolder(folderId);

            if (row != null)
            {
                s           = new HomeSearchData();
                s.QueryType = Convert.ToInt32(row["query_type"]);
                s.Query     = row["query"].ToString();
                if (!(String.IsNullOrEmpty(row["filters_json"].ToString())))
                {
                    s.Filters = JsonConvert.DeserializeObject <Dictionary <int, string> >(row["filters_json"].ToString());
                }

                if (s.Filters.ContainsKey(6))
                {
                    var jurisdictionFilterOriginal = s.Filters[6];
                    if (!String.IsNullOrEmpty(s.Filters[6]))
                    {
                        var mappedClassifier = ClassificationService.ClassificatorService.Current.MappingService.GenericTryGet(jurisdictionFilterOriginal);
                        if (mappedClassifier != null)
                        {
                            s.Filters.Remove(6);
                            s.Filters.Add(7, mappedClassifier.Guid);
                        }
                    }
                    else
                    {
                        s.Filters.Remove(6);
                        s.Filters.Add(7, String.Empty);
                    }
                }

                foreach (var lang in DB.GetFolderLangs(folderId))
                {
                    s.Titles.Add(Convert.ToInt32(lang["lang_id"]), lang["title_path"].ToString());
                }
            }

            return(s);
        }