예제 #1
0
        public static DocsPaVO.LiveCycle.ProcessFormOutput processBarcodeForm(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.LiveCycle.ProcessFormInput processFormInput)
        {
            try
            {
                //Istanzio il servizio

                ProcessBarcodeForm.ProcessBarcodeFormService processBarcodeForm = LCServicesManager.getProcessBarcodeFormService();
                DocsPaVO.LiveCycle.ProcessFormOutput         processFormOutput  = new DocsPaVO.LiveCycle.ProcessFormOutput();

                if (processBarcodeForm != null)
                {
                    //Popolo il binaryData del BLOB
                    ProcessBarcodeForm.BLOB inDoc = new ProcessBarcodeForm.BLOB();
                    inDoc.binaryData = processFormInput.fileDocumentoInput.content;

                    //Invoco il processo per il file pdf
                    ProcessBarcodeForm.XML xmlFile = null;
                    xmlFile = processBarcodeForm.invoke(inDoc);
                    processBarcodeForm.Dispose();

                    //Processo l'xml
                    if (xmlFile != null && xmlFile.document != null)
                    {
                        //Leggo l'xml restituito
                        XmlDocument xmlDoc = new XmlDocument();
                        xmlDoc.LoadXml(xmlFile.document.ToString());

                        //Processo la tipologia di documento
                        DocumentiManager.compilaTipologiaDocumento(infoUtente, processFormInput, xmlDoc, ref processFormOutput);

                        //Processo i campi standard del documento
                        DocumentiManager.compilaCampiDocumento(infoUtente, processFormInput, xmlDoc, ref processFormOutput);

                        /*
                         * //Processo i campi nascosti della form
                         * DocumentiManager.compilaCampiNascosti(infoUtente, xmlDoc, ref processFormOutput);
                         */
                    }
                }
                else
                {
                    return(null);
                }

                return(processFormOutput);
            }
            catch (Exception e)
            {
                logger.Error("Errore in LiveCycle  - LCServices - metodo: processBarcodeForm()", e);
                return(null);
            }
        }
예제 #2
0
        public static DocsPaVO.LiveCycle.ProcessFormOutput processFormPdf(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.LiveCycle.ProcessFormInput processFormInput)
        {
            try
            {
                //Istanzio il servizio
                ProcessFormService.ProcessFormService processFormPdf    = LCServicesManager.getProcessFormService();
                DocsPaVO.LiveCycle.ProcessFormOutput  processFormOutput = new DocsPaVO.LiveCycle.ProcessFormOutput();

                if (processFormPdf != null)
                {
                    //Popolo il binaryData del BLOB
                    ProcessFormService.BLOB inDoc = new ProcessFormService.BLOB();
                    inDoc.binaryData = processFormInput.fileDocumentoInput.content;

                    //Invoco il processo per il file pdf
                    ProcessFormService.XML xmlFile = null;

                    //ProcessFormService.PDFSignatureVerificationResult resultSignature = null;
                    //resultSignature = processFormPdf.invoke(inDoc, out xmlFile);

                    bool signature = processFormPdf.invoke(inDoc, out xmlFile);

                    processFormPdf.Dispose();

                    //Processo l'xml
                    if (xmlFile != null && xmlFile.document != null)
                    {
                        //Leggo l'xml restituito
                        XmlDocument xmlDoc = new XmlDocument();
                        xmlDoc.LoadXml(xmlFile.document.ToString());

                        //Processo la tipologia di documento
                        DocumentiManager.compilaTipologiaDocumento(infoUtente, processFormInput, xmlDoc, ref processFormOutput);

                        //Processo i campi standard del documento
                        DocumentiManager.compilaCampiDocumento(infoUtente, processFormInput, xmlDoc, ref processFormOutput);

                        /*
                         * //Processo i campi nascosti della form
                         * DocumentiManager.compilaCampiNascosti(infoUtente, xmlDoc, ref processFormOutput);
                         */
                    }

                    //Verifico se il documento è firmato o meno
                    //if (resultSignature != null && resultSignature.signatureStatus == ProcessFormService.PDFSignatureStatus.VALIDANDUNMODIFIED)
                    //    DocumentiManager.setFirmaDocumento(infoUtente, resultSignature, ref processFormOutput);
                    if (signature)
                    {
                        DocumentiManager.setFirmaDocumento(infoUtente, ref processFormOutput);
                    }
                }
                else
                {
                    return(null);
                }

                return(processFormOutput);
            }
            catch (Exception e)
            {
                logger.Error("Errore in LiveCycle  - LCServices - metodo: processFormPdf()", e);
                return(null);
            }
        }