private string GetClassificationNameById(string classificationId) { var topLovelCategories = SitefinityHelper.GetTopLevelCategories(); foreach (var taxon in topLovelCategories) { JobFilterRoot filterRoot = new JobFilterRoot() { Filters = new List <JobFilter>() }; filterRoot.ID = taxon.Id.ToString().ToUpper(); filterRoot.Name = taxon.Title; if (classificationId == filterRoot.ID) { return(filterRoot.Name); } var hierarchicalTaxon = taxon as HierarchicalTaxon; if (hierarchicalTaxon != null) { foreach (var childTaxon in hierarchicalTaxon.Subtaxa) { var jobFilter = new JobFilter() { Filters = new List <JobFilter>() }; ProcessCategories(childTaxon, jobFilter); filterRoot.Filters.Add(jobFilter); } } } return(null); }
private List <JobFilterRoot> GetSelecctedFiltersFromConfig(List <JobFilterRoot> filtersVMList, List <JobSearchModel> designerViewModel, bool displayCompanyName) { List <JobFilterRoot> selectedConfigFilters = new List <JobFilterRoot>(); if (designerViewModel != null && filtersVMList != null) { foreach (var item in designerViewModel) { foreach (var filterRoot in filtersVMList) { if (item.FilterType.Equals(filterRoot.Name, StringComparison.OrdinalIgnoreCase)) { if (item.Filters == null || item.Filters.Count <= 0) { selectedConfigFilters.Add(filterRoot); break; } else { JobFilterRoot rootItem = new JobFilterRoot() { Filters = new List <JobFilter>() }; rootItem.ID = filterRoot.ID; rootItem.Name = filterRoot.Name; rootItem.Type = filterRoot.Type; foreach (var configFilterItem in item.Filters) { var newSubFilter = new JobFilter() { Filters = new List <JobFilter>(), Label = null }; ProcessConfigSubFilters(configFilterItem, newSubFilter, filterRoot.Filters); if (newSubFilter.Label != null) { rootItem.Filters.Add(newSubFilter); } } selectedConfigFilters.Add(rootItem); } } } } } if (displayCompanyName) { var companyFilter = filtersVMList.Where(item => item.Name == "CompanyName").FirstOrDefault(); if (companyFilter != null) { selectedConfigFilters.Add(companyFilter); } } return(selectedConfigFilters); }
public List <T> ConvertSearchResultsFiltersToLocal <T>(dynamic searchData) where T : class { List <JobFilterRoot> jobFullDetails = new List <JobFilterRoot>(); foreach (dynamic jobItem in searchData) { //target: JobDetailsFullModel JobFilterRoot local = new JobFilterRoot { ID = jobItem["ID"], Name = jobItem["Name"], Type = jobItem["Type"], Filters = JsonConvert.DeserializeObject <List <JobFilter> >(jobItem["Filters"].ToString()) }; jobFullDetails.Add(local); } return(jobFullDetails as List <T>); }
public static JobFiltersData GetFiltersData() { JobFiltersData filtersData = new JobFiltersData() { Data = new List <JobFilterRoot>() }; var topLovelCategories = SitefinityHelper.GetTopLevelCategories(); foreach (var taxon in topLovelCategories) { JobFilterRoot filterRoot = new JobFilterRoot() { Filters = new List <JobFilter>() }; filterRoot.ID = taxon.Id.ToString().ToUpper(); filterRoot.Name = taxon.Title; var hierarchicalTaxon = taxon as HierarchicalTaxon; if (hierarchicalTaxon != null) { foreach (var childTaxon in hierarchicalTaxon.Subtaxa) { var jobFilter = new JobFilter() { Filters = new List <JobFilter>() }; ProcessCategories(childTaxon, jobFilter); filterRoot.Filters.Add(jobFilter); } } filtersData.Data.Add(filterRoot); } return(filtersData); }