예제 #1
0
        public List <IPublishedContent> GetIPublishedContentNodes(string nodeTypeAlias)
        {
            var contentCriteria = SearchHelpers.CreateContentCriteria().NodeTypeAlias(nodeTypeAlias).Compile();
            var cachedContent   = UHelper.TypedSearch(contentCriteria).ToList();

            return(cachedContent);
        }
예제 #2
0
        public IPublishedContent GetIPublishedNodeByAlias(string nodeTypeAlias)
        {
            var contentCriteria = SearchHelpers.CreateContentCriteria().NodeTypeAlias(nodeTypeAlias).Compile();
            var cachedContent   = UHelper.TypedSearch(contentCriteria).FirstOrDefault();

            return(cachedContent);
        }
예제 #3
0
        private List <ProjectViewModel> GetProjectsInternal(string website, bool onlyFeatured = false)
        {
            var response = new List <ProjectViewModel>();
            var site     = GetIPublishedContentNodes(Website.ModelTypeAlias).FirstOrDefault(x => x.Name.ToLower().Contains(website.ToLower()));

            var projectListPage = site?.Children.FirstOrDefault(x => x.DocumentTypeAlias.Contains(nameof(ProjectList)));

            if (projectListPage != null)
            {
                var projectCriteria = SearchHelpers.CreateContentCriteria().NodeTypeAlias(Project.ModelTypeAlias).And().ParentId(projectListPage.Id).Compile();
                var cachedProjects  = onlyFeatured ? UHelper.TypedSearch(projectCriteria).Take(4).OrderBy(x => x.Name).ToList()
                    : UHelper.TypedSearch(projectCriteria).OrderBy(x => x.Name).ToList();

                if (cachedProjects.Any())
                {
                    response.AddRange(cachedProjects.Select(cachedProject => IPubishedContentToPvm(cachedProject)));
                }
            }

            return(response);
        }