/// <summary> /// Inserimento di un documento nel cestino /// </summary> /// <param name="infoDocumento"></param> /// <param name="note"></param> /// <returns></returns> public bool AddDocumentoInCestino(DocsPaVO.documento.InfoDocumento infoDocumento) { bool retValue = false; try { // E' necessario richiamare prima i servizi ocs piuttosto che etdocs // in quanto, se si tratta di un allegato, il documento deve essere // direttamente rimosso. In tal caso è necessario accedere ai dati // per reperire il path del documento, cosa che non sarebbe possibile // se il documento viene prima rimosso da etdocs retValue = this.DocumentManagerOCS.AddDocumentoInCestino(infoDocumento); if (retValue) { retValue = this.DocumentManagerETDOCS.AddDocumentoInCestino(infoDocumento); } } catch (Exception ex) { string errorMessage = string.Format("Errore nell'operazione 'AddDocumentoInCestino': {0}", ex.Message); logger.Debug(errorMessage, ex); retValue = false; } return(retValue); }
/// <summary> /// Rimozione di un allegato /// </summary> /// <param name="allegato"></param> /// <returns></returns> public bool RemoveAttatchment(DocsPaVO.documento.Allegato allegato) { bool retValue = false; // Creazione contesto transazionale using (DocsPaDB.TransactionContext transactionContext = new DocsPaDB.TransactionContext()) { // Se la nuova gestione degli allegati non risulta abilitata, // il documento allegato viene rimosso direttamente DocsPaDB.Query_DocsPAWS.Documenti dbDocumenti = new DocsPaDB.Query_DocsPAWS.Documenti(); // Reperimento dell'oggetto InfoDocumento relativo all'allegato DocsPaVO.documento.InfoDocumento infoDocumentoAllegato = dbDocumenti.GetInfoDocumento(this.InfoUtente.idGruppo, this.InfoUtente.idPeople, allegato.docNumber, false); retValue = ((DocsPaDocumentale_ETDOCS.Documentale.DocumentManager) this.DocumentManagerETDOCS).Remove(new DocsPaVO.documento.InfoDocumento[1] { infoDocumentoAllegato }, false); //quando funziona lo mettiamo in linea.. LL //if (retValue) // retValue = this.DocumentManagerDocumentum.RemoveAttatchment(allegato); if (retValue) { transactionContext.Complete(); } } return(retValue); }
/// <summary> /// Rimozione di un allegato /// </summary> /// <param name="allegato"></param> /// <returns></returns> public bool RemoveAttatchment(DocsPaVO.documento.Allegato allegato) { bool retValue = false; // Creazione contesto transazionale using (DocsPaDB.TransactionContext transactionContext = new DocsPaDB.TransactionContext()) { // nota: se cancello prima il docuemnto su docspa non riesco a risalire all'id su OCS // a meno chè non uso una ricerca ma al momento danno problemi!!! retValue = this.DocumentManagerOCS.RemoveAttatchment(allegato); if (retValue) { // Se la nuova gestione degli allegati non risulta abilitata, // il documento allegato viene rimosso direttamente DocsPaDB.Query_DocsPAWS.Documenti dbDocumenti = new DocsPaDB.Query_DocsPAWS.Documenti(); // Reperimento dell'oggetto InfoDocumento relativo all'allegato DocsPaVO.documento.InfoDocumento infoDocumentoAllegato = dbDocumenti.GetInfoDocumento(this.InfoUtente.idGruppo, this.InfoUtente.idPeople, allegato.docNumber, false); retValue = ((DocsPaDocumentale_ETDOCS.Documentale.DocumentManager) this.DocumentManagerETDOCS).Remove(new DocsPaVO.documento.InfoDocumento[1] { infoDocumentoAllegato }, false); } if (retValue) { transactionContext.Complete(); } } return(retValue); }
/// <summary> /// Reperimento del nome del documento adatto per il file system /// </summary> /// <param name="documento"></param> /// /// <returns></returns> private static string GetNomeDocumento(DocsPaVO.documento.InfoDocumento documento) { // Se il documento è un protocollo... if (!String.IsNullOrEmpty(documento.segnatura)) { // ...il nome viene ricavato dalla segnatura return(GetValidName(documento.segnatura)); } else { // ...altrimenti se è un grigio il nome è pari all'id del documento return(GetValidName(documento.docNumber)); } }
/// <summary> /// Ripristino del documento dal cestino /// </summary> /// <param name="infoDocumento"></param> /// <returns></returns> public bool RestoreDocumentoDaCestino(DocsPaVO.documento.InfoDocumento infoDocumento) { bool retValue = false; try { retValue = this.DocumentManagerETDOCS.RestoreDocumentoDaCestino(infoDocumento); } catch (Exception ex) { string errorMessage = string.Format("Errore nell'operazione 'RestoreDocumentoDaCestino': {0}", ex.Message); logger.Debug(errorMessage, ex); retValue = false; } return(retValue); }
///// <summary> ///// Rimozione di un documento grigio ///// </summary> ///// <param name="schedaDocumento"></param> ///// <returns></returns> //public string RemoveDocumentoGrigio(DocsPaVO.documento.SchedaDocumento schedaDocumento) //{ // string retValue = string.Empty; // try // { // if (this.DocumentManagerETDOCS.RemoveDocumentoGrigio(schedaDocumento).ToUpper() == "DEL") // retValue = this.DocumentManagerDocumentum.RemoveDocumentoGrigio(schedaDocumento); // } // catch (Exception ex) // { // string errorMessage = string.Format("Errore nell'operazione 'RemoveDocumentoGrigio': {0}", ex.Message); // logger.Debug(errorMessage, ex); // retValue = errorMessage; // } // return retValue; //} /// <summary> /// Inserimento di un documento nel cestino /// </summary> /// <param name="infoDocumento"></param> /// <param name="note"></param> /// <returns></returns> public bool AddDocumentoInCestino(DocsPaVO.documento.InfoDocumento infoDocumento) { bool retValue = false; try { retValue = this.DocumentManagerETDOCS.AddDocumentoInCestino(infoDocumento); /*29-02-2016: Commento la gestione del cestino di documentum (a volte non rimuove) * if (retValue) * retValue = this.DocumentManagerDocumentum.AddDocumentoInCestino(infoDocumento); * */ } catch (Exception ex) { string errorMessage = string.Format("Errore nell'operazione 'AddDocumentoInCestino': {0}", ex.Message); logger.Debug(errorMessage, ex); retValue = false; } return(retValue); }
private static string cleanOriginalFileNameAllegato(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.documento.InfoDocumento documento, DocsPaVO.documento.Allegato allegato) { string nomeDocumento = GetNomeDocumento(documento); string nomeAllegato = GetNomeDocumento(allegato); string originalFileName = getOriginalFileName(infoUtente, allegato.docNumber); string nameSepa = "_"; if (originalFileName.Contains(nomeDocumento)) { originalFileName = originalFileName.Replace(nomeDocumento, String.Empty); } if (originalFileName.Contains(nomeAllegato)) { originalFileName = originalFileName.Replace(nomeAllegato, String.Empty); } if (originalFileName.EndsWith("_")) { originalFileName = originalFileName.Remove(originalFileName.Length - 1); } string AllSepa = "-All-"; string nome = String.Format("{0}{1}{2}", String.Format("{0}{1}{2}", nomeDocumento, AllSepa, nomeAllegato), nameSepa, originalFileName); return(nome); }