Esempio n. 1
0
        /// <summary>
        /// Returns a list of all sub categories within a parent category
        /// </summary>
        /// <param name="categoryNodeId"></param>
        /// <param name="useNodeFactory">Use nodfactory instead of Examine</param>
        /// <returns></returns>
        public IEnumerable <ForumCategory> ReturnAllSubCategoriesInCategory(int categoryNodeId, bool useNodeFactory = false)
        {
            if (useNodeFactory | UseNodeFactoryForAllQueries)
            {
                return(ReturnAllSubCategoriesInCategory_NodeFactory(categoryNodeId));
            }

            var criteria = ExamineManager.Instance.SearchProviderCollection[ExamineSearcher].CreateSearchCriteria();
            var query    = criteria.Field("forumCategoryParentID", categoryNodeId.ToString())
                           .And().NodeTypeAlias(NodeTypeCategory);
            var results = ExamineManager.Instance.SearchProviderCollection[ExamineSearcher].Search(query.Compile());

            return(results.Select(searchResult => Mapper.MapForumCategory(searchResult)).OrderBy(x => x.SortOrder));
        }