public ActionResult AdvSearch(bool initial = false, bool isChemical = false, int groupId = 0) { BreadcrumbNavigation nav = System.Web.HttpContext.Current.Session["Navigation"] as BreadcrumbNavigation; if (initial) { nav = new BreadcrumbNavigation(); System.Web.HttpContext.Current.Session["Navigation"] = nav; } else { //if (nav != null) //{ // AdvancedSearchResults res = nav.GetOrderedItems().Where(n => n.NavigableID == "AdvancedSearchResults").FirstOrDefault() as AdvancedSearchResults; // if (res != null) // { // AdvSearchFiltersAll filters = res.PageData as AdvSearchFiltersAll; // if (filters != null && filters.StructureSearch != null && (!string.IsNullOrEmpty(filters.StructureSearch.Exactsearch) || !string.IsNullOrEmpty(filters.StructureSearch.Query) || !string.IsNullOrEmpty(filters.StructureSearch.Stereo))) // { // isChemical = true; // } // } //} isChemical = (bool)Session["isChemical"]; } AdvancedSearch model = new AdvancedSearch() { SearchCondition = new SearchCondition(), PropertyUnits = new List <PropertyUnitModel>() }; var sources = materialContextUow.Sources.AllAsNoTracking.ToList(); model.SearchCondition.FullText = ""; model.SearchCondition.Sources = sources; model.SearchCondition.ClassificationTypes = materialContextUow.Trees.GetFullTreeFor(); if (groupId != 1 && groupId != 0) { model.SearchCondition.ClassificationTypes = model.SearchCondition.ClassificationTypes.Where(m => m.TypeClassId == groupId).ToList(); } if (isChemical) { model.SearchCondition.ClassificationTypes = model.SearchCondition.ClassificationTypes.Where(m => m.TypeClassId == 609397 || m.TypeClassId == 609441).ToList(); } model.SearchCondition.PropertyGroups = materialContextUow.Trees.GetFullPropertyGroups(groupId); model.SearchModel = new BaseSearchModel() { Descriptor = new GridDescriptor(new SortDescriptor() { PropertyName = "Name", Order = SortOrder.Ascending }) }; model.PropertyUnits = BreadcrumbNavigationGetSet(); model.IsChemical = isChemical; Session["isChemical"] = isChemical; new TableFiltersBinder().resetAllTableFilters(); return(View("AdvSearch", model)); }
private void BreadcrumbNavigationGetSet() { BreadcrumbNavigation nav = (BreadcrumbNavigation)System.Web.HttpContext.Current.Session["Navigation"]; if (nav == null) { nav = new BreadcrumbNavigation(); } ExporterNav en = nav.GetOrderedItems().Where(n => n.NavigableID == "Exporter").FirstOrDefault() as ExporterNav; if (en != null) { en.IsVisible = false; } ComparisonNav cn = nav.GetOrderedItems().Where(n => n.NavigableID == "Comparison").FirstOrDefault() as ComparisonNav; if (cn == null) { cn = new ComparisonNav(); } else { } cn.IsVisible = true; nav.LastNavigable = "Comparison"; nav.Push(cn); System.Web.HttpContext.Current.Session["Navigation"] = nav; }
public int BreadcrumbNavigationGetSet() { // BreadcrumbNavigation nav = (BreadcrumbNavigation)System.Web.HttpContext.Current.Session["Navigation"]; BreadcrumbNavigation nav = new BreadcrumbNavigation(); int ret = 0; if (nav == null) { nav = new BreadcrumbNavigation(); HomePage hp = new HomePage(); hp.PageData = 0; nav.LastNavigable = "HomePage"; nav.Push(hp); ret = (int)hp.PageData; } else { HomePage hp = nav.GetOrderedItems().Where(n => n.NavigableID == "HomePage").FirstOrDefault() as HomePage; if (hp == null) { hp = nav.GetOrderedItems().Where(n => n.NavigableID == "HomePage").FirstOrDefault() as HomePage; hp = new HomePage(); hp.PageData = 0; } nav.LastNavigable = "HomePage"; nav.Push(hp); ret = (int)hp.PageData; } System.Web.HttpContext.Current.Session["Navigation"] = nav; return(ret); }
public ActionResult Subgroup(SearchSubgroupsFilters filters) { BreadcrumbNavigation nav = (BreadcrumbNavigation)System.Web.HttpContext.Current.Session["Navigation"]; bool fromFullText = false; if (nav.LastNavigable == "FullSearch") { fromFullText = true; } filters = _subgroupBinder.BreadcrumbNavigationGetSet(filters); SubgroupsModel model = _subgroupBinder.GetSubgroupsModel(new GridDescriptor(new SortDescriptor() { PropertyName = "SourceId", Order = SortOrder.Ascending }), filters, materialContextUow); if (model.Materials.Count == 1 && fromFullText) { return(RedirectToAction("GetMaterialDetails", "MaterialDetails", new { materialId = model.Materials[0].MaterialId, subgroupId = model.Materials[0].SubgroupId, sourceId = model.Materials[0].SourceId, sourceMaterialId = model.Materials[0].SourceMaterialId, searchText = model.Filters.FullText, tabId = "divProperties" })); } model.ChemicalElsProperties = new ElsevierMaterialsMVC.BL.Binders.PropertyDescriptionBinder().GetProperties(filters.MaterialId, materialContextUow); return(View("Subgroups", model)); }
public JsonResult ClearAdvSearchFilters() { IList <PropertyUnitModel> model = new List <PropertyUnitModel>(); BreadcrumbNavigation nav = (BreadcrumbNavigation)System.Web.HttpContext.Current.Session["Navigation"]; if (nav == null) { nav = new BreadcrumbNavigation(); } AdvancedSearchResults res = nav.GetOrderedItems().Where(n => n.NavigableID == "AdvancedSearchResults").FirstOrDefault() as AdvancedSearchResults; if (res != null) { nav.Pop(); } AdvancedSearchNav adv = nav.GetOrderedItems().Where(n => n.NavigableID == "AdvancedSearch").FirstOrDefault() as AdvancedSearchNav; adv.PageData = new List <PropertyUnitModel>(); nav.Push(adv); nav.LastNavigable = "AdvancedSearch"; System.Web.HttpContext.Current.Session["Navigation"] = nav; return(Json(ResponseStatus.Success, RenderPartialViewToString("ConditionsContainer", model), JsonRequestBehavior.AllowGet)); }
private void BreadcrumbNavigationGetSet(ref int materialId, ref int subgroupId, ref int sourceId, ref int sourceMaterialId, ref string searchText, ref int type) { BreadcrumbNavigation nav = (BreadcrumbNavigation)System.Web.HttpContext.Current.Session["Navigation"]; if (nav == null) { nav = new BreadcrumbNavigation(); } if (nav.Contains("Exporter")) { nav.Pop(); } if (nav.Contains("Comparison")) { nav.Pop(); } MaterialDetails1 hp = nav.GetOrderedItems().Where(n => n.NavigableID == "MaterialDetails1").FirstOrDefault() as MaterialDetails1; if (hp == null) { hp = new MaterialDetails1(); IDictionary <string, object> idic = new Dictionary <string, object>(); idic.Add("materialId", materialId); idic.Add("subgroupId", subgroupId); idic.Add("sourceId", sourceId); idic.Add("sourceMaterialId", sourceMaterialId); idic.Add("searchText", searchText); if (sourceId == 1) { idic.Add("unitType", 1); } else { idic.Add("unitType", 2); } hp.PageData = idic; } else { if (materialId == 0 && subgroupId == 0 && sourceId == 0 && sourceMaterialId == 0 && searchText == "") { IDictionary <string, object> idic = hp.PageData as Dictionary <string, object>; materialId = (int)idic["materialId"]; subgroupId = (int)idic["subgroupId"]; sourceId = (int)idic["sourceId"]; sourceMaterialId = (int)idic["sourceMaterialId"]; searchText = idic["searchText"].ToString(); type = (int)idic["unitType"]; } } nav.LastNavigable = "MaterialDetails1"; nav.Push(hp); System.Web.HttpContext.Current.Session["Navigation"] = nav; }
public ActionResult ConvertValues(int type) { BreadcrumbNavigation nav = (BreadcrumbNavigation)System.Web.HttpContext.Current.Session["Navigation"]; if (nav == null) { nav = new BreadcrumbNavigation(); } MaterialDetails1 hp = nav.GetOrderedItems().Where(n => n.NavigableID == "MaterialDetails1").FirstOrDefault() as MaterialDetails1; IDictionary <string, object> idic = hp.PageData as Dictionary <string, object>; idic["unitType"] = type; return(Json(ResponseStatus.Success, new { sucess = true }, JsonRequestBehavior.AllowGet)); }
public SearchSubgroupsFilters BreadcrumbNavigationGetSet(SearchSubgroupsFilters filters) { BreadcrumbNavigation nav = (BreadcrumbNavigation)System.Web.HttpContext.Current.Session["Navigation"]; if (nav == null) { nav = new BreadcrumbNavigation(); } if (nav.Contains("Exporter")) { nav.Pop(); } if (nav.Contains("Comparison")) { nav.Pop(); } if (nav.Contains("MaterialDetails1")) { nav.Pop(); } ElsevierMaterialsMVC.BL.Global.Subgroups hp = nav.GetOrderedItems().Where(n => n.NavigableID == "Subgroups").FirstOrDefault() as ElsevierMaterialsMVC.BL.Global.Subgroups; if (hp == null) { hp = new ElsevierMaterialsMVC.BL.Global.Subgroups(); hp.PageData = filters; } else { if (filters.MaterialId == 0) { filters = hp.PageData as SearchSubgroupsFilters; } else { hp.PageData = filters; } } nav.LastNavigable = "Subgroups"; hp.IsVisible = true; nav.Push(hp); System.Web.HttpContext.Current.Session["Navigation"] = nav; return(filters); }
private AdvSearchFiltersAll GenerateFilters() { BreadcrumbNavigation nav = (BreadcrumbNavigation)System.Web.HttpContext.Current.Session["Navigation"]; if (nav == null) { nav = new BreadcrumbNavigation(); } AdvancedSearchNav adv = nav.GetOrderedItems().Where(n => n.NavigableID == "AdvancedSearch").FirstOrDefault() as AdvancedSearchNav; IList <PropertyUnitModel> units = (IList <PropertyUnitModel>)adv.PageData; AdvSearchFiltersAll ret = new AdvSearchFiltersAll() { AllFilters = new List <AdvSearchFilters>() }; foreach (var item in units) { AdvSearchFilters fil = new AdvSearchFilters() { propertyId = item.PropertyID, propertyName = item.PropertyName, propertyType = item.PropertyType, unitId = item.SelectedUnit }; if (item.SelectedUnit != -1) { fil.unitName = item.Units.FirstOrDefault(i => i.UnitKey == item.SelectedUnit).UnitLabel; } //fil.valueFrom = Decimal.Parse(item.ValueFrom); //fil.valueTo = Decimal.Parse(item.ValueTo); //ret.AllFilters.Add(fil); decimal vFrom; bool isDecimalFrom = decimal.TryParse(item.ValueFrom, out vFrom); vFrom = isDecimalFrom ? vFrom : 0; ; decimal vTo; bool isDecimalTo = decimal.TryParse(item.ValueFrom, out vTo); vTo = isDecimalTo ? vTo : 0; ; fil.valueFrom = vFrom; fil.valueTo = vTo; ret.AllFilters.Add(fil); } return(ret); }
public IList <PropertyUnitModel> BreadcrumbNavigationGetSet() { BreadcrumbNavigation nav = (BreadcrumbNavigation)System.Web.HttpContext.Current.Session["Navigation"]; if (nav == null) { nav = new BreadcrumbNavigation(); } IList <PropertyUnitModel> retVal; foreach (var item in nav.GetOrderedItems().Where(n => n.NavigableID != "HomePage")) { item.IsVisible = false; } if (nav.Contains("FullSearch")) { FullSearch fs = nav.GetOrderedItems().Where(n => n.NavigableID == "FullSearch").FirstOrDefault() as FullSearch; fs.IsVisible = false; //fs.PageData = null; } AdvancedSearchNav adv = nav.GetOrderedItems().Where(n => n.NavigableID == "AdvancedSearch").FirstOrDefault() as AdvancedSearchNav; if (adv == null) { // nav = new BreadcrumbNavigation(); HomePage hp = new HomePage(); hp.PageData = 0; ViewBag.TabSelected = hp.PageData; nav.LastNavigable = "HomePage"; nav.Push(hp); adv = new AdvancedSearchNav(); retVal = new List <PropertyUnitModel>(); } else { retVal = (IList <PropertyUnitModel>)adv.PageData == null ? new List <PropertyUnitModel>() : (IList <PropertyUnitModel>)adv.PageData; } nav.LastNavigable = "AdvancedSearch"; adv.IsVisible = true; nav.Push(adv); System.Web.HttpContext.Current.Session["Navigation"] = nav; return(retVal); }
public ActionResult Browse(HasSearchFiltersEnum HasSearchFilters = HasSearchFiltersEnum.No, int groupId = 0) { System.Web.HttpContext.Current.Session["BrowsedDb"] = groupId; ViewBag.Title = "Elsevier :: Browse"; BreadcrumbNavigation nav = (BreadcrumbNavigation)System.Web.HttpContext.Current.Session["Navigation"]; if (nav == null) { nav = new BreadcrumbNavigation(); } if (nav.Contains("Exporter")) { nav.Pop(); } if (nav.Contains("Comparison")) { nav.Pop(); } if (nav.Contains("MaterialDetails1")) { nav.Pop(); } if (nav.Contains("Subgroups")) { nav.Pop(); } foreach (var item in nav.GetOrderedItems().Where(n => n.NavigableID != "HomePage")) { item.IsVisible = false; } if (nav == null) { nav = new BreadcrumbNavigation(); BrowseHome bh = new BrowseHome(); nav.LastNavigable = "BrowseHome"; bh.IsVisible = true; nav.Push(bh); } else { if (nav.GetOrderedItems().Where(n => n.NavigableID == "FullSearch").Any()) { nav.GetOrderedItems().Where(n => n.NavigableID == "FullSearch").FirstOrDefault().IsVisible = false; HasSearchFilters = HasSearchFiltersEnum.Yes; } BrowseHome bh = nav.GetOrderedItems().Where(n => n.NavigableID == "BrowseHome").FirstOrDefault() as BrowseHome; if (bh == null) { bh = new BrowseHome(); } bh.IsVisible = true; nav.LastNavigable = "BrowseHome"; nav.Push(bh); } System.Web.HttpContext.Current.Session["Navigation"] = nav; new TableFiltersBinder().resetAllTableFilters(); return(View("Browse", HasSearchFilters)); }
public AdvSearchFiltersAll BreadcrumbNavigationGetSet(AdvSearchFiltersAll filters) { BreadcrumbNavigation nav = (BreadcrumbNavigation)System.Web.HttpContext.Current.Session["Navigation"]; if (nav == null) { nav = new BreadcrumbNavigation(); } if (nav.Contains("Exporter")) { nav.Pop(); } if (nav.Contains("Comparison")) { nav.Pop(); } if (nav.Contains("MaterialDetails1")) { nav.Pop(); } if (nav.Contains("Subgroups")) { nav.Pop(); } if (nav.Contains("BrowseFacets")) { nav.Pop(); } if (nav.Contains("BrowseHome")) { nav.Pop(); } AdvancedSearchNav adv = nav.GetOrderedItems().Where(n => n.NavigableID == "AdvancedSearch").FirstOrDefault() as AdvancedSearchNav; if (adv == null) { adv.IsVisible = true; adv = new AdvancedSearchNav(); } IList <PropertyUnitModel> units = new List <PropertyUnitModel>(); foreach (var item in nav.GetOrderedItems().Where(n => n.NavigableID != "HomePage" && n.NavigableID != "AdvancedSearch")) { item.IsVisible = false; } if (nav.Contains("FullSearch")) { FullSearch fs = nav.GetOrderedItems().Where(n => n.NavigableID == "FullSearch").FirstOrDefault() as FullSearch; fs.IsVisible = false; fs.PageData = null; } AdvancedSearchResults res = nav.GetOrderedItems().Where(n => n.NavigableID == "AdvancedSearchResults").FirstOrDefault() as AdvancedSearchResults; if (res == null) { AdvancedSearchResults hp = new AdvancedSearchResults(); hp.PageData = filters; nav.Push(hp); } else { if (filters == null || (filters != null && filters.AllFilters == null && filters.StructureSearch == null) || (filters != null && filters.AllFilters != null && filters.AllFilters.Count == 0 && filters.StructureSearch == null) ) { string selectedSource = filters.SelectedSource; filters = res.PageData as AdvSearchFiltersAll; if (selectedSource != null) { filters.SelectedSource = selectedSource; } } else { res.PageData = filters; res.IsVisible = true; nav.Push(res); } } nav.LastNavigable = "AdvancedSearchResults"; if (filters != null && filters.AllFilters != null) { foreach (var item in filters.AllFilters) { var pUnits = materialContextUow.PropertyUnits.AllAsNoTracking.Where(n => n.PropertyID == item.propertyId).ToList(); PropertyUnitModel pum = new PropertyUnitModel() { PropertyType = item.propertyType, UniqueID = Guid.NewGuid().ToString("N"), PropertyID = item.propertyId, PropertyName = item.propertyName, IsPropertyConditionsActive = item.isPropertyConditionsActive, Units = new List <UnitModel>() }; foreach (var u in pUnits.Where(i => i.UnitKey != null)) { pum.Units.Add(new UnitModel() { Factor = (double)u.Factor, Metric = (bool)u.Metric, Offset = (double)u.Offset, UnitKey = (int)u.UnitKey, UnitLabel = u.UnitLabel }); } pum.SelectedUnit = item.unitId; pum.SelectedBinary = item.binaryOperators; pum.SelectedLogical = item.logicalOperators; pum.ValueFrom = item.valueFrom_orig == null ? "" : item.valueFrom_orig.ToString(); pum.ValueTo = item.valueTo_orig == null ? "" : item.valueTo_orig.ToString(); // Fill property conditions pum.PropertyConditions = new List <PropertyConditionModel>(); foreach (var cond in item.PropertyConditions) { PropertyConditionModel oneCondition = new PropertyConditionModel() { Condition = new AdvSearchPropertyConditions() { PropertyID = cond.Condition.PropertyID, X_label = cond.Condition.X_label, UnitGroup = cond.Condition.UnitGroup }, SelectedLogical = cond.SelectedLogical, ValueFrom = cond.ValueFrom, ValueTo = cond.ValueTo }; oneCondition.FillUnits(); pum.PropertyConditions.Add(oneCondition); } units.Add(pum); } adv.PageData = units; } System.Web.HttpContext.Current.Session["Navigation"] = nav; return(filters); }
public JsonResult ApplyPager(GridDescriptor request) { BreadcrumbNavigation nav = (BreadcrumbNavigation)System.Web.HttpContext.Current.Session["Navigation"]; if (nav == null) { nav = new BreadcrumbNavigation(); } AdvSearchFiltersAll filters = new AdvSearchFiltersAll(); AdvancedSearchResults res = nav.GetOrderedItems().Where(n => n.NavigableID == "AdvancedSearchResults").FirstOrDefault() as AdvancedSearchResults; if (res != null) { filters = res.PageData as AdvSearchFiltersAll; } nav.LastNavigable = "AdvancedSearchResults"; System.Web.HttpContext.Current.Session["Navigation"] = nav; BaseSearchModel model = new BaseSearchModel(); if (request.Pager == null) { request = new GridDescriptor(new SortDescriptor() { PropertyName = "Name", Order = SortOrder.Ascending }); } model.Descriptor = request; if (filters.StructureSearch != null) { StringBuilder sb = new StringBuilder(65536); byte[] bytesData = Encoding.ASCII.GetBytes("query=" + filters.StructureSearch.Query + ";exactsearch=" + filters.StructureSearch.Exactsearch + ";stereo=" + filters.StructureSearch.Stereo + "\0"); var result = StructureSearch(bytesData, sb, sb.Capacity); string recordIds = sb.Replace(";", ",").ToString().Trim().TrimEnd(','); if (!string.IsNullOrEmpty(recordIds)) { model.ListOfMaterials = _searchResultsBinder.GetResultsStructureAdvSearch(recordIds, request, materialContextUow); } model.IsStructureSearch = true; } else { model.ListOfMaterials = _searchResultsBinder.GetResultsAdvSearch(filters, request, materialContextUow); } SearchResultsCondition filterModel = new SearchResultsCondition(); //filterModel.ClasificationId = filters.ClasificationId; //filterModel.ClasificationTypeId = filters.ClasificationTypeId; filterModel.FullText = ""; filterModel.ShowPropertiesFilters = false; filterModel.FromBrowse = false; filterModel.FromAdvanced = true; // add Sources to model filterModel.Sources = materialContextUow.Sources.AllAsNoTracking.OrderBy(m => m.Id).ThenBy(n => n.Name).ToList(); filterModel.SelectedSource = filters.SelectedSource; model.Filter = filterModel; //BreadcrumbNavigationGetSet(filters); return(Json(ResponseStatus.Success, RenderPartialViewToString("AdvResultsContainer", model), JsonRequestBehavior.AllowGet)); }
public ActionResult FullTextSearchOnly(SearchFilters filters) { BaseSearchModel model = new BaseSearchModel(); model = _searchResultsBinder.GetResultsFullTextSearch(filters, new GridDescriptor(new SortDescriptor() { PropertyName = "Name", Order = SortOrder.Ascending }), materialContextUow); model.HasSearchFilters = HasSearchFiltersEnum.Yes; BreadcrumbNavigation nav = (BreadcrumbNavigation)System.Web.HttpContext.Current.Session["Navigation"]; if (nav == null) { nav = new BreadcrumbNavigation(); } if (nav.Contains("AdvancedSearch")) { AdvancedSearchNav asn = nav.GetOrderedItems().Where(n => n.NavigableID == "AdvancedSearch").FirstOrDefault() as AdvancedSearchNav; asn.PageData = null; asn.IsVisible = false; } if (nav.Contains("AdvancedSearchResults")) { AdvancedSearchResults asn = nav.GetOrderedItems().Where(n => n.NavigableID == "AdvancedSearchResults").FirstOrDefault() as AdvancedSearchResults; asn.PageData = null; asn.IsVisible = false; } if (nav.Contains("Exporter")) { nav.Pop(); } if (nav.Contains("Comparison")) { nav.Pop(); } if (nav.Contains("MaterialDetails1")) { nav.Pop(); } if (nav.Contains("Subgroups")) { nav.Pop(); } if (nav.Contains("BrowseFacets")) { nav.Pop(); } if (nav.Contains("BrowseHome")) { nav.Pop(); } System.Web.HttpContext.Current.Session["AdvancedSearchFilter"] = null; Session["ClassificationSelection"] = null; Session["ClassificationIds"] = ""; IDictionary <string, object> allFilters = new Dictionary <string, object>(); allFilters.Add("filters", filters); allFilters.Add("advFilters", null); FullSearch fs = nav.GetOrderedItems().Where(n => n.NavigableID == "FullSearch").FirstOrDefault() as FullSearch; if (fs == null) { fs = new FullSearch(); } fs.IsVisible = true; fs.PageData = allFilters; nav.LastNavigable = "FullSearch"; nav.Push(fs); new TableFiltersBinder().resetAllTableFilters(); return(View("Search", model)); }
public IDictionary <string, object> BreadcrumbNavigationGetSet(SearchFilters filters, AdvSearchFiltersAll advFilters, bool browse = false, string classIds = "") { BreadcrumbNavigation nav = (BreadcrumbNavigation)System.Web.HttpContext.Current.Session["Navigation"]; if (nav == null) { nav = new BreadcrumbNavigation(); } if (nav.Contains("Exporter")) { nav.Pop(); } if (nav.Contains("Comparison")) { nav.Pop(); } if (nav.Contains("MaterialDetails1")) { nav.Pop(); } if (nav.Contains("Subgroups")) { nav.Pop(); } IDictionary <string, object> allFilters = new Dictionary <string, object>(); foreach (var item in nav.GetOrderedItems().Where(n => n.NavigableID != "HomePage")) { item.IsVisible = false; } if (browse) { allFilters.Add("filters", filters); nav.GetOrderedItems().Where(n => n.NavigableID == "BrowseHome").FirstOrDefault().IsVisible = true; BrowseFacets bf = nav.GetOrderedItems().Where(n => n.NavigableID == "BrowseFacets").FirstOrDefault() as BrowseFacets; if (bf == null) { bf = new BrowseFacets(); bf.PageData = allFilters; } else { if (filters.ClasificationId == 0) { allFilters = (Dictionary <string, object>)bf.PageData; } else { bf.PageData = allFilters; } } bf.IsVisible = true; nav.LastNavigable = "BrowseFacets"; nav.Push(bf); } else { allFilters.Add("filters", filters); allFilters.Add("advFilters", advFilters); if (nav.Contains("AdvancedSearch")) { AdvancedSearchNav asn = nav.GetOrderedItems().Where(n => n.NavigableID == "AdvancedSearch").FirstOrDefault() as AdvancedSearchNav; asn.PageData = null; asn.IsVisible = false; } if (nav.Contains("AdvancedSearchResults")) { AdvancedSearchResults asn = nav.GetOrderedItems().Where(n => n.NavigableID == "AdvancedSearchResults").FirstOrDefault() as AdvancedSearchResults; asn.PageData = null; asn.IsVisible = false; } FullSearch fs = nav.GetOrderedItems().Where(n => n.NavigableID == "FullSearch").FirstOrDefault() as FullSearch; if (fs == null) { HomePage hp = new HomePage(); hp.PageData = 0; ViewBag.TabSelected = hp.PageData; nav.LastNavigable = "HomePage"; hp.IsVisible = true; nav.Push(hp); fs = new FullSearch(); fs.PageData = allFilters; } else { if (filters.filter == null && (filters.Source == null || filters.Source == "0") && (advFilters == null || advFilters.AllFilters == null)) { allFilters = (Dictionary <string, object>)fs.PageData; } else { fs.PageData = allFilters; } if (!string.IsNullOrWhiteSpace(classIds)) { Session["ClassificationIds"] = classIds; } } fs.IsVisible = true; nav.LastNavigable = "FullSearch"; nav.Push(fs); } System.Web.HttpContext.Current.Session["Navigation"] = nav; return(allFilters); }