Ejemplo n.º 1
0
        /// <summary>
        /// Creazione dei metadati di una nuova versione di un documento in etdocs
        /// </summary>
        /// <param name="fileRequest">
        /// Rappresenta i metadati relativi all'ultima versione del documento
        /// </param>
        /// <param name="fileContent">
        /// Rappresenta il contenuto inviato per il checkin
        /// </param>
        /// <param name="fileExtension">
        /// Estensione del file
        /// </param>
        /// <returns></returns>
        /// <summary>
        /// Creazione dei metadati di una nuova versione di un documento in etdocs
        /// </summary>
        /// <param name="fileRequest">
        /// Rappresenta i metadati relativi all'ultima versione del documento
        /// </param>
        /// <param name="fileContent">
        /// Rappresenta il contenuto inviato per il checkin
        /// </param>
        /// <param name="fileExtension">
        /// Estensione del file
        /// </param>
        /// <returns></returns>
        protected virtual bool AddCheckInVersion(InfoUtente infoUtente, CheckOutStatus checkOutStatus, string checkInComments, FileRequest fileRequest, byte[] fileContent)
        {
            bool retValue = false;

            DocsPaDocumentale_ETDOCS.Documentale.DocumentManager documentManager = new DocsPaDocumentale_ETDOCS.Documentale.DocumentManager(infoUtente);

            DocsPaDB.Query_DocsPAWS.CheckInOut checkInOutDb = new DocsPaDB.Query_DocsPAWS.CheckInOut();

            if (checkInOutDb.IsAcquired(fileRequest))
            {
                // Se l'ultima versione del documento risulta acquisita già,
                // viene creata una nuova versione

                // Se per l'ultima versione del documento è stato acquisito un file,
                // viene creata nuova versione per il documento
                fileRequest             = new FileRequest();
                fileRequest.docNumber   = checkOutStatus.DocumentNumber;
                fileRequest.descrizione = checkInComments;
            }
            else
            {
                // Se l'ultima versione del documento non risulta ancora acquisita,
                // il file viene inserito in quest'ultima

                // Se per l'ultima versione del documento non è stato acquisito un file, il file viene acquisito per l'ultima versione
                fileRequest.descrizione = checkInComments;
                retValue = true;
            }

            if (fileContent.Length > 0)
            {
                // Il file risulta acquisito

                // Inserimento nuova versione in etdocs con flag "cha_da_inviare = 0"
                retValue = documentManager.AddVersion(fileRequest, false);

                string fileExtension = System.IO.Path.GetExtension(checkOutStatus.DocumentLocation).Replace(".", string.Empty);

                fileRequest.fileName   = string.Format("{0}.{1}", fileRequest.versionId, fileExtension);
                fileRequest.fileSize   = fileContent.Length.ToString();
                fileRequest.subVersion = "A";

                // Impostazione del file come inserito in etdocs
                String nomeOriginale = System.IO.Path.GetFileName(checkOutStatus.DocumentLocation);
                this.SetFileAsInserted(fileRequest, fileContent, nomeOriginale);
            }
            else
            {
                // Il file non risulta acquisito

                // Inserimento nuova versione in etdocs con flag "cha_da_inviare = 1"
                // in quanto nessun content è stato inviato per la versione
                retValue = documentManager.AddVersion(fileRequest, true);
            }

            return(retValue);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Creazione dei metadati di una nuova versione di un documento in etdocs
        /// </summary>
        /// <param name="fileRequest"></param>
        /// <param name="fileContent"></param>
        /// <param name="fileExtension"></param>
        /// <returns></returns>
        protected virtual bool AddCheckInVersion(InfoUtente infoUtente, CheckOutStatus checkOutStatus, string checkInComments, ref FileRequest fileRequest, byte[] fileContent, bool fileIsAcquired)
        {
            bool retValue = false;

            DocsPaDocumentale_ETDOCS.Documentale.DocumentManager documentManager = new DocsPaDocumentale_ETDOCS.Documentale.DocumentManager(infoUtente);

            //DocsPaDB.Query_DocsPAWS.CheckInOut checkInOutDb = new DocsPaDB.Query_DocsPAWS.CheckInOut();
            //if (checkInOutDb.IsAcquired(fileRequest))

            if (fileIsAcquired)
            {
                // Se per l'ultima versione del documento è stato acquisito un file,
                // viene creata nuova versione per il documento
                fileRequest             = new FileRequest();
                fileRequest.docNumber   = checkOutStatus.DocumentNumber;
                fileRequest.descrizione = checkInComments;
            }
            else
            {
                // Se per l'ultima versione del documento non è stato acquisito un file, il file viene acquisito per l'ultima versione
                fileRequest.descrizione = checkInComments;
                retValue = true;
            }

            // Inserimento nuova versione in etdocs
            retValue = documentManager.AddVersion(fileRequest, false);

            System.IO.FileInfo fileInfo = new System.IO.FileInfo(checkOutStatus.DocumentLocation);
            //in OCS il nome del file coincide con il docNumber non con il versionId
            fileRequest.fileName = fileRequest.docNumber + fileInfo.Extension;
            fileRequest.fileSize = fileContent.Length.ToString();

            // Impostazione del file come inserito in etdocs
            this.SetFileAsInserted(fileRequest, fileContent);

            return(retValue);
        }