/// <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); }
/// <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); }
/// <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; }
/// <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; }