コード例 #1
0
        /// <summary>
        /// Deletes a specific file version.
        /// </summary>
        /// <param name="versioningFileItem">File version.</param>
        /// <param name="versionId">File version Id.</param>
        public static void DeleteVersion(IVersioningFile versioningFileItem, string versionId)
        {
            Validate.RequiredParameter("versioningFileItem", versioningFileItem);
            if (String.IsNullOrEmpty(versionId))
            {
                throw new ArgumentException("versionId can not be null or empty", "versionId");
            }

            ThrowIfCheckedOut(versioningFileItem);
            IList <UnifiedVersion> versions = versioningFileItem.GetVersions();

            if (versions.Count == 1)
            {
                throw new InvalidVersioningOperationException();
            }
            UnifiedVersion targetVersion = versions.SingleOrDefault <UnifiedVersion>(v => v.Id.ToString() == versionId);

            if (targetVersion == null)
            {
                throw new VersionNotFoundException(versionId);
            }
            targetVersion.Delete();
        }