/// <summary> /// Operazione per la creazione di un nuovo protocollo /// /// PreCondizioni: /// - Fornire un oggetto SchedaDocumento valido, completo /// degli attributi e degli oggetti significativi per il protocollo /// (es. numero, dataProtocollo, segnatura, oggetto "Protocollo") /// /// PostCondizioni: /// - Operazione di protocollazione documento effettuata con successo /// /// /// </summary> /// <param name="schedaDocumento">Oggetto contenente i metadati del documento da protocollare</param> /// <param name="ruolo">Ruolo dell'utente che protocolla il documento</param> /// <param name="risultatoProtocollazione">Parametro output: Esito più dettagliato dell'operazione</param> /// <param name="ruoliSuperiori"></param> /// <returns>Boolean, l'operazione di protocollazione è andata a buon fine o meno</returns> public bool CreateProtocollo(DocsPaVO.documento.SchedaDocumento schedaDocumento, DocsPaVO.utente.Ruolo ruolo, out DocsPaVO.documento.ResultProtocollazione risultatoProtocollazione, out DocsPaVO.utente.Ruolo[] ruoliSuperiori) { logger.Info("BEGIN"); //Performance.PerformanceLogWriter.CreatePerformanceLogWriter(@"c:\temp\DocumentManager.txt"); //Performance.PerformanceLogWriter log = new Performance.PerformanceLogWriter(); //log.StartLogEntry("CreateProtocollo"); bool retValue = false; risultatoProtocollazione = ResultProtocollazione.APPLICATION_ERROR; ruoliSuperiori = null; try { //log.StartLogEntry("CreateProtocollo_ETDOCS", true); retValue = this.DocumentManagerETDOCS.CreateProtocollo(schedaDocumento, ruolo, out risultatoProtocollazione, out ruoliSuperiori); //log.EndLogEntry(); //log.StartLogEntry("CreateProtocollo_DCTM", true); if (retValue) { retValue = this.DocumentManagerDocumentum.CreateProtocollo(schedaDocumento, ruolo, out risultatoProtocollazione); } //log.EndLogEntry(); } catch (Exception ex) { string errorMessage = string.Format("Errore nella protocollazione del documento: {0}", ex.Message); logger.Debug(errorMessage, ex); retValue = false; risultatoProtocollazione = ResultProtocollazione.APPLICATION_ERROR; } //log.EndLogEntry(); //Performance.PerformanceLogWriter.FlushPerformanceLogWriter(); logger.Info("END"); return(retValue); }
/// <summary> /// Protocollazione di un documento predisposto /// </summary> /// <param name="schedaDocumento"></param> /// <param name="ruolo"></param> /// <param name="risultatoProtocollazione"></param> /// <returns></returns> public bool ProtocollaDocumentoPredisposto(DocsPaVO.documento.SchedaDocumento schedaDocumento, DocsPaVO.utente.Ruolo ruolo, out DocsPaVO.documento.ResultProtocollazione risultatoProtocollazione) { bool retValue = false; risultatoProtocollazione = ResultProtocollazione.APPLICATION_ERROR; try { retValue = this.DocumentManagerETDOCS.ProtocollaDocumentoPredisposto(schedaDocumento, ruolo, out risultatoProtocollazione); if (retValue) { retValue = this.DocumentManagerDocumentum.ProtocollaDocumentoPredisposto(schedaDocumento, ruolo, out risultatoProtocollazione); } } catch (Exception ex) { string errorMessage = string.Format("Errore nella protocollazione del documento: {0}", ex.Message); logger.Debug(errorMessage, ex); retValue = false; risultatoProtocollazione = ResultProtocollazione.APPLICATION_ERROR; } return(retValue); }
/// <summary> /// /// </summary> /// <param name="idAmministrazione"></param> /// <param name="schedaDocumento"></param> /// <param name="ruolo"></param> /// <param name="sede"></param> /// <param name="risultatoProtocollazione"></param> /// <returns></returns> public bool CreateProtocollo(DocsPaVO.documento.SchedaDocumento schedaDocumento, DocsPaVO.utente.Ruolo ruolo, out DocsPaVO.documento.ResultProtocollazione risultatoProtocollazione) { DocsPaVO.utente.Ruolo[] ruoliSuperiori; return(this.CreateProtocollo(schedaDocumento, ruolo, out risultatoProtocollazione, out ruoliSuperiori)); }
/// <summary> /// Protocollazione di un documento predisposto /// </summary> /// <param name="schedaDocumento"></param> /// <param name="ruolo"></param> /// <param name="risultatoProtocollazione"></param> /// <returns></returns> public bool ProtocollaDocumentoPredisposto(DocsPaVO.documento.SchedaDocumento schedaDocumento, DocsPaVO.utente.Ruolo ruolo, out DocsPaVO.documento.ResultProtocollazione risultatoProtocollazione) { bool retValue = false; risultatoProtocollazione = ResultProtocollazione.APPLICATION_ERROR; try { // Stacco del numero di protocollo da parte di WSPia retValue = this._documentManagerWSPIA.CreateProtocollo(schedaDocumento, ruolo, out risultatoProtocollazione); // Se il risultato è positivo, si procede con una protocollazione di predisposto su ETDocs if (retValue && risultatoProtocollazione == ResultProtocollazione.OK) { retValue = this._documentManagerETDOCS.ProtocollaDocumentoPredisposto(schedaDocumento, ruolo, out risultatoProtocollazione); } // Se la protocollazione del predisposto è andata a buon fine, si procede con la put file su WsPia if (retValue && risultatoProtocollazione == ResultProtocollazione.OK) { if (schedaDocumento.documenti.Count > 0) { List <FileRequest> versions = new List <DocsPaVO.documento.FileRequest>( (DocsPaVO.documento.FileRequest[]) schedaDocumento.documenti.ToArray(typeof(DocsPaVO.documento.FileRequest))); // Ordinamento versioni versions.Sort( delegate(DocsPaVO.documento.FileRequest x, DocsPaVO.documento.FileRequest y) { int versionX, versionY; Int32.TryParse(x.version, out versionX); Int32.TryParse(y.version, out versionY); return(versionX.CompareTo(versionY)); } ); // Invio file ultima versione del doc principale TransferFileToWsPia(versions[0]); } if (schedaDocumento.allegati != null && schedaDocumento.allegati.Count > 0) { foreach (FileRequest attachment in schedaDocumento.allegati) { this.TransferFileToWsPia(attachment); } } } // Protocollazione classica //retValue = this.CreateProtocollo(schedaDocumento, ruolo, out risultatoProtocollazione); /* * if(retValue) * retValue = this.DocumentManagerETDOCS.ProtocollaDocumentoPredisposto(schedaDocumento, ruolo, out risultatoProtocollazione); */ } catch (Exception ex) { string errorMessage = string.Format("Errore nella protocollazione del documento: {0}", ex.Message); logger.Debug(errorMessage, ex); retValue = false; risultatoProtocollazione = ResultProtocollazione.APPLICATION_ERROR; } return(retValue); }