/// <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); }
/// <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); }
/// <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); }