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