/// <summary>
        /// Verifica se il formato del file è ammesso per la firma digitale
        /// </summary>
        /// <param name="fileRequest"></param>
        /// <returns></returns>
        protected bool IsFormatSupportedForSign(DocsPaWR.FileRequest fileRequest)
        {
            bool retValue = false;

            if (!NttDataWA.FormatiDocumento.Configurations.SupportedFileTypesEnabled)
            {
                retValue = true;
            }
            else
            {
                string extension = System.IO.Path.GetExtension(fileRequest.fileName);

                if (!string.IsNullOrEmpty(extension))
                {
                    // Rimozione del primo carattere dell'estensione (punto)
                    extension = extension.Substring(1);

                    NttDataWA.DocsPaWR.DocsPaWebService ws        = new NttDataWA.DocsPaWR.DocsPaWebService();
                    DocsPaWR.SupportedFileType[]        fileTypes = ws.GetSupportedFileTypes(Convert.ToInt32(NttDataWA.UIManager.UserManager.GetInfoUser().idAmministrazione));

                    retValue = fileTypes.Count(e => e.FileExtension.ToLower() == extension.ToLower() &&
                                               e.FileTypeUsed && e.FileTypeSignature) > 0;
                }
            }

            return(retValue);
        }
예제 #2
0
        /// <summary>
        /// CheckIn del documento corrente MTEXT
        /// </summary>
        private void CheckInMTextDocument(String file)
        {
            // Salvataggio del docNumber del documento in CheckOut
            String docNumber = CheckOutContext.Current.Status.DocumentNumber;

            // Estrai porzione del path di interesse per M/TEXT
            file = file.Substring(8);

            // Accedi a MTEXT per prelevare il PDF
            MTextModelProvider mtext = models.ModelProviderFactory <MTextModelProvider> .GetInstance();

            // Preleva contenuto PDF
            Byte[] content = mtext.ExportDocument(file, "application/pdf");

            // Fai sembrare il file M/TEXT un file FDF
            CheckOutContext.Current.Status.DocumentLocation = "mtext.pdf";

            // Effettua il checkin del documento
            NttDataWA.DocsPaWR.ValidationResultInfo result = CheckInOutServices.CheckInDocument(content);

            // Salva l'FQN del file M/TEXT
            NttDataWA.DocsPaWR.DocsPaWebService ws = new NttDataWA.DocsPaWR.DocsPaWebService();
            ws.SetMTextFullQualifiedName(new NttDataWA.DocsPaWR.MTextDocumentInfo()
            {
                DocumentDocNumber = docNumber,
                FullQualifiedName = file
            });

            if (!result.Value)
            {
                // Scrittura dei messaggi di errore nel checkin
                Response.Write(this.GetErrorMessage(result));
            }
        }
예제 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="page"></param>
        /// <param name="idDocumento"></param>
        /// <returns></returns>
        public NttDataWA.DocsPaWR.FileDocumento GetSignedDocumentInfo(System.Web.UI.Page page, DocsPaWR.FileRequest fileRequest)
        {
            NttDataWA.DocsPaWR.DocsPaWebService ws = new NttDataWA.DocsPaWR.DocsPaWebService();

            NttDataWA.DocsPaWR.FileDocumento retValue = ws.DocumentoGetInfoFile(fileRequest, NttDataWA.UIManager.UserManager.GetInfoUser());

            //if (retValue == null)
            //    throw new ApplicationException("Attenzione! il file non è visualizzabile.<br><br>Verificare:<br>&bull;&nbsp;l'esistenza del file in:<br>" + fileRequest.docServerLoc + fileRequest.path + fileRequest.fileName + "<br><br>&bull;&nbsp;la stringa di Impronta sulla base dati.");

            return(retValue);
        }
예제 #4
0
        /// <summary>
        /// Reperimento scheda del documento da firmare digitalmente
        /// </summary>
        /// <param name="idDocumento"></param>
        /// <returns></returns>
        public DocsPaWR.SchedaDocumento GetSchedaDocumento(string idDocumento)
        {
            if (string.IsNullOrEmpty(idDocumento))
            {
                return(NttDataWA.UIManager.DocumentManager.getSelectedRecord());
            }
            else
            {
                NttDataWA.DocsPaWR.DocsPaWebService ws = new NttDataWA.DocsPaWR.DocsPaWebService();

                return(ws.DocumentoGetDettaglioDocumentoNoDataVista(NttDataWA.UIManager.UserManager.GetInfoUser(), idDocumento, idDocumento));
            }
        }
예제 #5
0
        /// <summary>
        /// funzionr che carica la configurazioen del caching
        /// </summary>
        /// <returns></returns>
        private NttDataWA.DocsPaWR.CacheConfig caricaConfig()
        {
            NttDataWA.DocsPaWR.DocsPaWebService ws = new NttDataWA.DocsPaWR.DocsPaWebService();

            NttDataWA.DocsPaWR.CacheConfig configurazione = null;
            string idAmm = UserManager.GetInfoUser().idAmministrazione;

            if (!string.IsNullOrEmpty(idAmm))
            {
                configurazione = ws.getConfigurazioneCache(idAmm);
            }

            return(configurazione);
        }
예제 #6
0
 static MTextUtils()
 {
     NttDataWA.DocsPaWR.DocsPaWebService ws = new NttDataWA.DocsPaWR.DocsPaWebService();
     ws.Timeout = Timeout.Infinite;
 }