Beispiel #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);
            }
        }
Beispiel #2
0
        /*
         * public static void compilaCampiNascosti(DocsPaVO.utente.InfoUtente infoUtente, XmlDocument xmlDoc, ref DocsPaVO.LiveCycle.ProcessFormOutput processFormOutput)
         * {
         *  try
         *  {
         *      //Codice Classificazione Rapida
         *      if(xmlDoc.SelectSingleNode("//_codiceClassifica_") != null)
         *      {
         *          processFormOutput.codiceClassificaRapida = xmlDoc.SelectSingleNode("//_codiceClassifica_").InnerText;
         *      }
         *
         *      //Codice Modello di Trasmissione
         *      if (xmlDoc.SelectSingleNode("//_codiceModelloTrasm_") != null)
         *      {
         *          processFormOutput.codiceModelloTramissione = xmlDoc.SelectSingleNode("//_codiceModelloTrasm_").InnerText;
         *      }
         *  }
         *  catch (Exception e)
         *  {
         *      logger.Debug("Errore in LiveCycle  - DocumentiManager - metodo: compilaCampiNascosti()", e);
         *  }
         * }
         */

        /*
         * public static void setFirmaDocumento(DocsPaVO.utente.InfoUtente infoUtente, ProcessFormService.PDFSignatureVerificationResult resultSignature, ref DocsPaVO.LiveCycle.ProcessFormOutput processFormOutput)
         * {
         *  try
         *  {
         *      if (processFormOutput.schedaDocumentoOutput.documenti != null && processFormOutput.schedaDocumentoOutput.documenti.Count > 0)
         *      {
         *          ((DocsPaVO.documento.Documento)processFormOutput.schedaDocumentoOutput.documenti[0]).firmato = "1";
         *          ((DocsPaVO.documento.FileRequest)processFormOutput.schedaDocumentoOutput.documenti[0]).firmato = "1";
         *      }
         *  }
         *  catch (Exception e)
         *  {
         *      logger.Debug("Errore in LiveCycle  - DocumentiManager - metodo: setFirmaDocumento()", e);
         *  }
         * }
         */

        public static void setFirmaDocumento(DocsPaVO.utente.InfoUtente infoUtente, ref DocsPaVO.LiveCycle.ProcessFormOutput processFormOutput)
        {
            try
            {
                if (processFormOutput.schedaDocumentoOutput.documenti != null && processFormOutput.schedaDocumentoOutput.documenti.Count > 0)
                {
                    ((DocsPaVO.documento.Documento)processFormOutput.schedaDocumentoOutput.documenti[0]).firmato   = "1";
                    ((DocsPaVO.documento.FileRequest)processFormOutput.schedaDocumentoOutput.documenti[0]).firmato = "1";
                }
            }
            catch (Exception e)
            {
                logger.Debug("Errore in LiveCycle  - DocumentiManager - metodo: setFirmaDocumento()", e);
            }
        }
Beispiel #3
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);
            }
        }
Beispiel #4
0
        public static void compilaTipologiaDocumento(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.LiveCycle.ProcessFormInput processFormInput, XmlDocument xmlDoc, ref DocsPaVO.LiveCycle.ProcessFormOutput processFormOutput)
        {
            try
            {
                //Verifico che l'xml contiene un campo per la tipologia di documento
                XmlNode node = xmlDoc.SelectSingleNode("//TipologiaDocumento");
                string  tipologiaDocumento = string.Empty;
                DocsPaVO.ProfilazioneDinamica.Templates templateSelezionato = null;
                if (node != null)
                {
                    tipologiaDocumento = node.InnerText;
                    if (!string.IsNullOrEmpty(tipologiaDocumento))
                    {
                        //Recupero il template del documento
                        templateSelezionato = getTemplateDocumento(infoUtente, tipologiaDocumento);

                        //In funzione del tipo di oggetto eseguo una compilazione specifica
                        if (templateSelezionato != null && !string.IsNullOrEmpty(templateSelezionato.DESCRIZIONE))
                        {
                            foreach (DocsPaVO.ProfilazioneDinamica.OggettoCustom oggettoCustom in templateSelezionato.ELENCO_OGGETTI)
                            {
                                switch (oggettoCustom.TIPO.DESCRIZIONE_TIPO)
                                {
                                case "CampoDiTesto":
                                    inserisciCampoDiTesto(oggettoCustom, xmlDoc);
                                    break;

                                case "CasellaDiSelezione":
                                    inserisciCasellaDiSelezione(oggettoCustom, xmlDoc);
                                    break;

                                case "MenuATendina":
                                    //inserisciMenuATendina();
                                    break;

                                case "SelezioneEsclusiva":
                                    inserisciSelezioneEsclusiva(oggettoCustom, xmlDoc);
                                    break;

                                case "Contatore":
                                    //inserisciContatore();
                                    break;

                                case "Data":
                                    inserisciData(oggettoCustom, xmlDoc);
                                    break;

                                case "Corrispondente":
                                    //inserisciCorrispondente();
                                    break;
                                }
                            }

                            //Imposto la tipologia di documento
                            DocsPaVO.documento.TipologiaAtto tipologiaAtto = new DocsPaVO.documento.TipologiaAtto();
                            tipologiaAtto.systemId    = templateSelezionato.SYSTEM_ID.ToString();
                            tipologiaAtto.descrizione = templateSelezionato.DESCRIZIONE;
                            processFormInput.schedaDocumentoInput.tipologiaAtto        = tipologiaAtto;
                            processFormInput.schedaDocumentoInput.daAggiornareTipoAtto = true;
                            processFormInput.schedaDocumentoInput.template             = templateSelezionato;
                        }

                        processFormOutput.schedaDocumentoOutput = processFormInput.schedaDocumentoInput;
                    }
                }
            }
            catch (Exception e)
            {
                logger.Debug("Errore in LiveCycle  - DocumentiManager - metodo: compilaTipologiaDocumento()", e);
            }
        }
Beispiel #5
0
        public static void compilaCampiDocumento(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.LiveCycle.ProcessFormInput processFormInput, XmlDocument xmlDoc, ref DocsPaVO.LiveCycle.ProcessFormOutput processFormOutput)
        {
            try
            {
                //Imposto l'oggetto del documento
                inserisciOggetto(processFormInput.schedaDocumentoInput, xmlDoc);

                //Imposto il mittente del documento
                inserisciMittente(processFormInput.schedaDocumentoInput, xmlDoc);

                processFormOutput.schedaDocumentoOutput = processFormInput.schedaDocumentoInput;
            }
            catch (Exception e)
            {
                logger.Debug("Errore in LiveCycle  - DocumentiManager - metodo: compilaCampiDocumento()", e);
            }
        }