Beispiel #1
0
        /// <summary>
        /// Reperimento del contentuto di un file dal repository Documentum
        /// </summary>
        /// <param name="docNumber"></param>
        /// <param name="version"></param>
        /// <param name="versionId"></param>
        /// <param name="versionLabel"></param>
        /// <returns></returns>
        public byte[] GetFile(string docNumber, string version, string versionId, string versionLabel)
        {
            logger.Info("BEGIN");
            byte[] content = null;
            DocsPaDB.Query_DocsPAWS.Documenti documenti = new DocsPaDB.Query_DocsPAWS.Documenti();
            List <BaseInfoDoc> listaSchedeDoc           = documenti.GetBaseInfoForDocument(null, docNumber, null);
            BaseInfoDoc        schedaDocBase            = listaSchedeDoc[0];
            SchedaDocumento    schedaDocumento          = documenti.GetDettaglioNoSecurity(this._infoUtente, schedaDocBase.IdProfile, schedaDocBase.DocNumber);

            try
            {
                if (!string.IsNullOrEmpty(_infoUtente.codWorkingApplication) && _infoUtente.codWorkingApplication == "DOCSPA")
                {
                    content = this.DocumentManagerSP.GetFile(docNumber, version, versionId, versionLabel);
                }
                else
                {
                    // Il reperimento dei file viene dapprima effettuato dal documentale ETNOTEAM
                    content = this.DocumentManagerETDOCS.GetFile(docNumber, version, versionId, versionLabel);
                }
            }
            catch (Exception ex)
            {
                logger.Debug("Errore nel reperimento del file nel documentale ETNOTEAM", ex);

                // Errore nel reperimento del file nel documentale ETNOTEAM
                content = null;
            }

            logger.Info("END");

            return(content);
        }
Beispiel #2
0
        /// <summary>
        /// Operazione per il reperimento di un file di una versione / allegato di un documento
        ///
        /// PreCondizioni:
        ///     la versione / allegato deve essere gi� stato creato come entit� persistente
        ///     il file deve essere gi� acquisito nel repository documentale
        ///
        /// PostCondizioni:
        ///     i seguenti attributi dell'oggetto "FileDocumento" devono essere inizializzati:
        ///     - name              (nome "fittizio" del file con estensione)
        ///     - estensioneFile    (estensione del file)
        ///     - content           (array di byte, contenuto del file)
        ///     - contentType       (mimetype del file)
        ///     - length            (dimensione dell'array di byte)
        /// </summary>
        /// <param name="fileDocumento"></param>
        /// <param name="fileRequest"></param>
        /// <param name="idamministrazione"></param>
        /// <returns></returns>
        public bool GetFile(ref DocsPaVO.documento.FileDocumento fileDocumento, ref DocsPaVO.documento.FileRequest fileRequest)
        {
            logger.Info("BEGIN");
            bool retValue = false;

            DocsPaDB.Query_DocsPAWS.Documenti documenti = new DocsPaDB.Query_DocsPAWS.Documenti();
            List <BaseInfoDoc> listaSchedeDoc           = documenti.GetBaseInfoForDocument(null, fileRequest.docNumber, null);
            BaseInfoDoc        schedaDocBase            = listaSchedeDoc[0];
            SchedaDocumento    schedaDocumento          = documenti.GetDettaglioNoSecurity(this._infoUtente, schedaDocBase.IdProfile, schedaDocBase.DocNumber);

            try
            {
                if (!string.IsNullOrEmpty(_infoUtente.codWorkingApplication) && _infoUtente.codWorkingApplication == "DOCSPA")
                //Devo verificare che il path del doc non sia di tipo vecchio, se è vecchio giro a ETDOCS.
                //porcata:
                {
                    //Qui devo trovare un modo elegante per farlo, per ora faccio così.
                    string sSPURL = System.Configuration.ConfigurationSettings.AppSettings["SP_Server"];
                    if (fileRequest.fileName.ToUpper().Contains(DocsPaDocumentale_SP.WsSPServices.CallerSP.GetServerRootnosites().ToUpper()) || fileRequest.path.ToUpper().Contains(DocsPaDocumentale_SP.WsSPServices.CallerSP.GetServerRootnosites().ToUpper()))
                    {
                        retValue = this.DocumentManagerSP.GetFile(ref fileDocumento, ref fileRequest);
                    }
                    else
                    {
                        retValue = this.DocumentManagerETDOCS.GetFile(ref fileDocumento, ref fileRequest);
                    }
                }
                else
                {
                    retValue = this.DocumentManagerETDOCS.GetFile(ref fileDocumento, ref fileRequest);
                }
            }
            catch (Exception ex)
            {
                logger.Debug("Errore nel reperimento del file nel documentale ETNOTEAM", ex);

                // Errore nel reperimento del file nel documentale ETNOTEAM
                retValue = false;
            }

            logger.Info("END");
            return(retValue);
        }
Beispiel #3
0
        /// <summary>
        /// Operazione per l'inserimento di un file in una versione / allegato di un documento
        ///
        /// PreCondizione:
        ///     la versione / allegato deve essere gi� stato creato come entit� persistente
        ///
        ///     Attributi dell'oggetto FileRequest gi� valorizzati in ingresso
        ///         VersionId:      ID della versione / allegato in docspa
        ///         Version:        0 se allegato, > 0 se versione
        ///         SubVersion:     ! se allegato, stringa vuota se versione
        ///         VersionLabel:   A# se allegato (dove # � il num. dell'allegato, fino a 99)
        ///                         (es. A01, A02, A03, ecc.)
        ///                         1, 2, 3, 4, ecc. se versione
        /// PostCondizioni:
        ///     il file deve essere stato associato alla versione / allegato
        ///
        /// </summary>
        /// <param name="fileRequest"></param>
        /// <param name="fileDocumento"></param>
        /// <param name="estensione"></param>
        /// <param name="objSicurezza"></param>
        /// <returns></returns>
        public bool PutFile(DocsPaVO.documento.FileRequest fileRequest, DocsPaVO.documento.FileDocumento fileDocumento, string estensione)
        {
            logger.Info("BEGIN");
            bool retValue = false;

            //CONTROLLO SULL?APP CHE MI CHIAMA!!!!!!!!!!!!!!!!
            DocsPaDB.Query_DocsPAWS.Documenti documenti = new DocsPaDB.Query_DocsPAWS.Documenti();
            List <BaseInfoDoc> listaSchedeDoc           = documenti.GetBaseInfoForDocument(null, fileRequest.docNumber, null);
            BaseInfoDoc        schedaDocBase            = listaSchedeDoc[0];
            SchedaDocumento    schedaDocumento          = documenti.GetDettaglioNoSecurity(this._infoUtente, schedaDocBase.IdProfile, schedaDocBase.DocNumber);

            //FINE
            try
            {
                //************************************
                // _infoUtente.codWorkingApplication *
                //************************************
                if (!string.IsNullOrEmpty(_infoUtente.codWorkingApplication) && _infoUtente.codWorkingApplication == "DOCSPA")
                {
                    //CHIAMATA AL DOCUMENTALE SHAREPOINT
                    retValue = this.DocumentManagerSP.PutFile(fileRequest, fileDocumento, estensione);
                }
                else
                {
                    //CHIAMATA AL DOCUMENTALE ETDOCS
                    retValue = this.DocumentManagerETDOCS.PutFile(fileRequest, fileDocumento, estensione);
                }
            }
            catch (Exception ex)
            {
                logger.Debug(string.Format("Errore nel metodo PutFile: {0}", ex.Message));
                logger.Debug(string.Format("Errore durante la scrittura del documento: {0}, non è stato possibile invocare il WebService di INPS", ex.Message));
                retValue = false;
            }
            logger.Info("END");
            return(retValue);
        }