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)); } }
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); }