Example #1
0
        /// <summary>Retrieves all versions of an item including the master version.</summary>
        /// <param name="publishedItem">The item whose versions to get.</param>
        /// <param name="count">The number of versions to get.</param>
        /// <returns>A list of versions of the item.</returns>
        public virtual IEnumerable <VersionInfo> GetVersionsOf(ContentItem publishedItem, int skip = 0, int take = 1000)
        {
            if (publishedItem.ID == 0)
            {
                return new [] { publishedItem.GetVersionInfo() }
            }
            ;

            var versionQuery = Repository.GetVersions(publishedItem).Select(v => v.GetVersionInfo(Repository))
                               .Concat(new[] { publishedItem.GetVersionInfo() })
                               .OrderByDescending(i => i.VersionIndex)
                               .Skip(skip).Take(take);

            var versionList = new List <VersionInfo>();

            foreach (var version in versionQuery)
            {
                try
                {
                    versionList.Add(version);
                }
                catch (Exception ex)
                {
                    versionList.Add(new InvalidVersionInfo()
                    {
                        InnerException = ex
                    });
                }
            }

            return(versionList);
        }
Example #2
0
        /// <summary>Retrieves all versions of an item including the master version.</summary>
        /// <param name="publishedItem">The item whose versions to get.</param>
        /// <param name="count">The number of versions to get.</param>
        /// <returns>A list of versions of the item.</returns>
        public virtual IEnumerable <VersionInfo> GetVersionsOf(ContentItem publishedItem, int skip = 0, int take = 1000)
        {
            if (publishedItem.ID == 0)
            {
                return new [] { publishedItem.GetVersionInfo() }
            }
            ;

            var versions = Repository.GetVersions(publishedItem).Select(v => v.GetVersionInfo(Repository))
                           .Concat(new[] { publishedItem.GetVersionInfo() })
                           .OrderByDescending(i => i.VersionIndex)
                           .Skip(skip).Take(take)
                           .ToList();

            return(versions);
        }
Example #3
0
        /// <summary>Retrieves all versions of an item including the master version.</summary>
        /// <param name="publishedItem">The item whose versions to get.</param>
        /// <param name="count">The number of versions to get.</param>
        /// <returns>A list of versions of the item.</returns>
        public virtual IEnumerable<VersionInfo> GetVersionsOf(ContentItem publishedItem, int skip = 0, int take = 1000)
        {
            if (publishedItem.ID == 0)
                return new [] { publishedItem.GetVersionInfo() };

            var versions = Repository.GetVersions(publishedItem).Select(v => v.GetVersionInfo(Repository))
                .Concat(new[] { publishedItem.GetVersionInfo() })
                .OrderByDescending(i => i.VersionIndex)
                .Skip(skip).Take(take)
                .ToList();

            return versions;
        }
Example #4
0
        /// <summary>Retrieves all versions of an item including the master version.</summary>
        /// <param name="publishedItem">The item whose versions to get.</param>
        /// <param name="count">The number of versions to get.</param>
        /// <returns>A list of versions of the item.</returns>
        public virtual IEnumerable<VersionInfo> GetVersionsOf(ContentItem publishedItem, int skip = 0, int take = 1000)
        {
            if (publishedItem.ID == 0)
                return new [] { publishedItem.GetVersionInfo() };

	        var versionQuery = Repository.GetVersions(publishedItem).Select(v => v.GetVersionInfo(Repository))
		        .Concat(new[] {publishedItem.GetVersionInfo()})
		        .OrderByDescending(i => i.VersionIndex)
		        .Skip(skip).Take(take);

	        var versionList = new List<VersionInfo>();
	        foreach (var version in versionQuery)
	        {
		        try
		        {
			        versionList.Add(version);
		        }
		        catch (Exception ex)
		        {
			        versionList.Add(new InvalidVersionInfo() {InnerException = ex});
		        }
	        }

	        return versionList;
        }