SenseNet.ContentRepository.SavingAction.DeleteVersionsAndPreserveLastWorking C# (CSharp) Метод

DeleteVersionsAndPreserveLastWorking() приватный Метод

private DeleteVersionsAndPreserveLastWorking ( ) : void
Результат void
        private void DeleteVersionsAndPreserveLastWorking()
        {
            if (VersioningMode != VersioningMode.None)
                throw new NotSupportedException();

            //-- Remove unnecessary working versions. Preserve the last approved or rejected row
            var lastApprovedOrRejectedVersion = GetLastApprovedOrRejectedVersion();
            ExpectedVersionId = CurrentVersionId;

            List<NodeHead.NodeVersion> irrelevantVersions;
            if (lastApprovedOrRejectedVersion == null)
            {
                irrelevantVersions = new List<NodeHead.NodeVersion>(VersionHistory);
                ExpectedVersion = ComputeNewVersion();
            }
            else
            {
                if (lastApprovedOrRejectedVersion.VersionId == CurrentVersionId)
                    ExpectedVersionId = 0;
                irrelevantVersions = GetNewerVersions(lastApprovedOrRejectedVersion);
                ExpectedVersion = GetNextVersion(lastApprovedOrRejectedVersion.VersionNumber, VersionStatus.Pending);
            }

            var irrelevantIds = irrelevantVersions.Select(x => x.VersionId);
            DeletableVersionIds.AddRange(irrelevantIds);
            DeletableVersionIds.Remove(CurrentVersionId); // remove this version
        }