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);
        }
Exemplo n.º 2
0
        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>);
        }
Exemplo n.º 4
0
        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);
        }