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

CheckIn() публичный Метод

public CheckIn ( ) : void
Результат void
        public void CheckIn()
        {
            AssertValidAction(StateAction.CheckIn);

            if (!HasApproving)
            {
                //-- Approving OFF
                switch (VersioningMode)
                {
                    case VersioningMode.None:
                        DeleteVersionsAndApprove();
                        break;
                    case VersioningMode.Major:
                        //remove all working versions, except current
                        DeletableVersionIds.AddRange(GetLastWorkingVersions().Select(x => x.VersionId));
                        DeletableVersionIds.Remove(CurrentVersionId);

                        var lastApproved = GetLastApprovedVersion();
                        ExpectedVersion = lastApproved != null ?
                            GetNextPublicVersion(lastApproved.VersionNumber, VersionStatus.Approved) :
                            ComputeNewVersion();

                        ExpectedVersionId = CurrentVersionId;
                        break;
                    case VersioningMode.Full:
                        ExpectedVersion = CurrentVersion.ChangeStatus(VersionStatus.Draft);
                        ExpectedVersionId = CurrentVersionId;
                        break;
                }
            }
            else
            {
                //-- Approving ON
                switch (VersioningMode)
                {
                    case VersioningMode.None:
                        DeleteVersionsAndPreserveLastWorking();
                        break;
                    case VersioningMode.Major:
                        ExpectedVersion = CurrentVersion.ChangeStatus(VersionStatus.Pending);
                        ExpectedVersionId = CurrentVersionId;
                        break;
                    case VersioningMode.Full:
                        ExpectedVersion = CurrentVersion.ChangeStatus(VersionStatus.Draft);
                        ExpectedVersionId = CurrentVersionId;
                        break;
                }
            }

            //-- Unlock
            this.LockerUserId = 0;
        }