Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
 /// <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));
 }
Exemplo n.º 4
0
        /// <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);
        }