Esempio n. 1
0
        public dynamic GetPages([FromUri] SearchContentRequest searchRequest)
        {
            var request = new SiteContentRequest()
            {
                SiteID       = searchRequest.SiteID,
                ContentTypes = new List <ContentType>()
                {
                    ContentType.ContentPage, ContentType.StaticPage
                },
                IncludeSiteContentStatus = true,
                IncludeSiteContentType   = true
            };

            if (!string.IsNullOrWhiteSpace(searchRequest.SearchText))
            {
                request.SearchTerms.Add(searchRequest.SearchText);
            }

            if (searchRequest.SiteContentStatusID > 0)
            {
                request.ContentStatuses.Add((ContentStatus)searchRequest.SiteContentStatusID);
            }
            else
            {
                request.ContentStatuses.AddRange(new[] { ContentStatus.Published, ContentStatus.Draft });
            }

            var content = _cmsService.GetSiteContents(request).OrderBy(s => s.SiteContentParentID).ThenBy(s => s.SortOrder).ToList();

            return(content.Select(s => new
            {
                s.SiteContentID,
                s.SiteContentParentID,
                s.Title,
                s.TitlePath,
                s.SiteID,
                s.SiteContentStatus.StatusDescription,
                s.SiteContentType.ContentTypeDescription,
                s.SiteContentType.ContentTypeName,
                s.ModifyDateUtc,
                s.Permalink,
                VersionCount = s.Versions.Count
            }));
        }
Esempio n. 2
0
        public dynamic GetFiles([FromUri] SearchContentRequest searchRequest)
        {
            var request = new SiteContentRequest()
            {
                SiteID       = searchRequest.SiteID,
                ContentTypes = new List <ContentType>()
                {
                    ContentType.File
                },
                ContentStatuses = new List <ContentStatus>()
                {
                    ContentStatus.Published
                },
                IncludeSiteDocumentType   = true,
                IncludeKnowledgeLibraries = true,
                IncludeFileInfo           = true
            };

            if (!string.IsNullOrWhiteSpace(searchRequest.SearchText))
            {
                request.SearchTerms.Add(searchRequest.SearchText);
            }

            var content = _cmsService.GetSiteContents(request).OrderByDescending(s => s.ModifyDateUtc).ToList();

            return(content.Select(s => new
            {
                s.SiteContentID,
                s.Title,
                s.SiteID,
                FileName = s.FileInfo != null ? s.FileInfo.Name : null,
                FileSize = s.FileInfo != null ? s.FileInfo.SizeKiloBytes : 0,
                FileType = s.FileInfo != null ? s.FileInfo.Extension.TrimStart('.').ToUpper() : null,
                KnowledgeLibrary = s.KnowledgeLibrary != null ? "Yes" : null,
                s.ModifyDateUtc,
                s.Permalink
            }));
        }