Exemplo n.º 1
0
        public static WsDocDelStatusType ValidateDoc(IManDocument imDoc, imDocumentOperation imDocumentOperation)
        {
            var wsFile = Workspace.GetWsFile(imDoc);

            if (!imDoc.IsOperationAllowed(imDocumentOperation))
            {
                return(WsDocDelStatusType.InsufficientRights);
            }

            if (imDocumentOperation == IManage.imDocumentOperation.imDeleteDocumentOp && wsFile.IsUnderPreservation)
            {
                return(WsDocDelStatusType.WSUnderPreservation);
            }

            if (imDocumentOperation == IManage.imDocumentOperation.imDeleteDocumentOp && wsFile.IsDeleted)
            {
                return(WsDocDelStatusType.IsDeleted);
            }

            if (imDocumentOperation == IManage.imDocumentOperation.imDeleteDocumentOp && wsFile.IsRecord)
            {
                return(WsDocDelStatusType.IsRecord);
            }

            if (wsFile.IsCheckedOut || wsFile.IsLocked)
            {
                //return WsDocDelStatusType.IsCheckedOut;
                WsOperation.CheckInDoc(imDoc);
                imDoc.Update();
            }

            //if (wsFile.IsCheckedOut)
            //{
            //    //return WsDocDelStatusType.IsCheckedOut;
            //    WsOperation.CheckInDoc(imDoc);
            //    imDoc.Update();
            //}

            //if (wsFile.IsLocked)
            //{
            //    //return WsDocDelStatusType.IsLocked;
            //    WsOperation.CheckInDoc(imDoc);
            //    imDoc.Update();
            //}

            if (imDocumentOperation == IManage.imDocumentOperation.imDeleteDocumentOp && wsFile.VersionCount > 1)
            {
                return(WsDocDelStatusType.MultiVersion);
            }

            return(WsDocDelStatusType.Success);
        }
Exemplo n.º 2
0
        public static WsDocDelStatusType ValidateDoc(IManDocument imDoc, imDocumentOperation imDocumentOperation)
        {
            var wsFile = Workspace.GetWsFile(imDoc);

            if (!imDoc.IsOperationAllowed(imDocumentOperation))
                return WsDocDelStatusType.InsufficientRights;

            if (imDocumentOperation == IManage.imDocumentOperation.imDeleteDocumentOp && wsFile.IsUnderPreservation)
                return WsDocDelStatusType.WSUnderPreservation;

            if (imDocumentOperation == IManage.imDocumentOperation.imDeleteDocumentOp && wsFile.IsDeleted)
                return WsDocDelStatusType.IsDeleted;

            if (imDocumentOperation == IManage.imDocumentOperation.imDeleteDocumentOp && wsFile.IsRecord)
                return WsDocDelStatusType.IsRecord;

            if (wsFile.IsCheckedOut || wsFile.IsLocked)
            {
                //return WsDocDelStatusType.IsCheckedOut;
                WsOperation.CheckInDoc(imDoc);
                imDoc.Update();
            }

            //if (wsFile.IsCheckedOut)
            //{
            //    //return WsDocDelStatusType.IsCheckedOut;
            //    WsOperation.CheckInDoc(imDoc);
            //    imDoc.Update();
            //}

            //if (wsFile.IsLocked)
            //{
            //    //return WsDocDelStatusType.IsLocked;
            //    WsOperation.CheckInDoc(imDoc);
            //    imDoc.Update();
            //}

            if (imDocumentOperation == IManage.imDocumentOperation.imDeleteDocumentOp && wsFile.VersionCount > 1)
            {
                return WsDocDelStatusType.MultiVersion;
            }

            return WsDocDelStatusType.Success;
        }