Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="fileManager"></param>
        /// <param name="version"></param>
        /// <returns></returns>
        public static DocsPaVO.documento.FileRequest CopyToRepository(SessionRepositoryFileManager fileManager, DocsPaVO.documento.FileRequest version)
        {
            DocsPaVO.documento.FileRequest result = null;

            version.repositoryContext = null;

            if (fileManager.ExistFile(version))
            {
                // Reperimento del file dal repository di sessione
                DocsPaVO.documento.FileDocumento document = fileManager.GetFile(version);

                // Inserimento del file nel repository documentale
                result = BusinessLogic.Documenti.FileManager.putFile(version, document, fileManager.Context.Owner);
            }
            else
            {
                result = version;
            }

            return(result);
        }
Beispiel #2
0
        /// <summary>
        /// Rimozione di un allegato
        /// </summary>
        /// <param name="allegato"></param>
        /// <param name="infoUtente"></param>
        public static bool rimuoviAllegato(DocsPaVO.documento.Allegato allegato, DocsPaVO.utente.InfoUtente infoUtente)
        {
            bool retValue = false;

            if (allegato.repositoryContext != null)
            {
                // Rimozione dell'allegato nell'ambito del  repository context
                SessionRepositoryFileManager fm = BusinessLogic.Documenti.SessionRepositoryFileManager.GetFileManager(allegato.repositoryContext);

                // Verifica esistenza file acquisito nel repository context
                if (fm.ExistFile(allegato))
                {
                    fm.RemoveFile(allegato);
                }

                retValue = true;
            }
            else
            {
                // Controllo su stato congelato
                DocumentConsolidation.CanExecuteAction(infoUtente,
                                                       allegato.docNumber,
                                                       DocumentConsolidation.ConsolidationActionsDeniedEnum.RemoveAttatchments, true);

                using (DocsPaDB.TransactionContext transactionContext = new DocsPaDB.TransactionContext())
                {
                    DocsPaDocumentale.Documentale.DocumentManager documentManager = new DocsPaDocumentale.Documentale.DocumentManager(infoUtente);

                    retValue = documentManager.RemoveAttatchment(allegato);

                    if (retValue)
                    {
                        transactionContext.Complete();
                    }
                }
            }

            return(retValue);
        }
Beispiel #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="fileManager"></param>
        /// <param name="versions"></param>
        /// <returns></returns>
        public static DocsPaVO.documento.FileRequest[] CopyToRepository(SessionRepositoryFileManager fileManager, DocsPaVO.documento.FileRequest[] versions)
        {
            List <DocsPaVO.documento.FileRequest> newVersions = new List <DocsPaVO.documento.FileRequest>();
            string tmpVersionLabel;

            foreach (DocsPaVO.documento.FileRequest version in versions)
            {
                tmpVersionLabel = version.versionLabel;

                version.repositoryContext = null;

                if (fileManager.ExistFile(version))
                {
                    // Reperimento del file dal repository di sessione
                    DocsPaVO.documento.FileDocumento document = fileManager.GetFile(version);

                    // Inserimento del file nel repository documentale
                    DocsPaVO.documento.FileRequest result = BusinessLogic.Documenti.FileManager.putFile(version, document, fileManager.Context.Owner);

                    if (!string.IsNullOrEmpty(tmpVersionLabel) && result != null)
                    {
                        result.versionLabel = tmpVersionLabel;
                    }

                    newVersions.Add(result);

                    // Rimozione del file dal repository di sessione
                    version.repositoryContext = null;
                }
                else
                {
                    newVersions.Add(version);
                }
            }

            return(newVersions.ToArray());
        }