コード例 #1
0
        private void putinfoCorr(DocsPaVO.documento.SchedaDocumento sch)
        {
            if (sch != null && sch.protocollo != null)
            {
                if (sch.tipoProto.Equals("A"))
                {
                    DocsPaVO.documento.ProtocolloEntrata pe = (DocsPaVO.documento.ProtocolloEntrata)sch.protocollo;
                    if (pe.mittente != null && pe.mittente.info != null)
                    {
                        BusinessLogic.Utenti.UserManager.addDettagliCorrOcc(pe.mittente);
                    }
                }

                if (sch.tipoProto.Equals("P"))
                {
                    DocsPaVO.documento.ProtocolloUscita pu = (DocsPaVO.documento.ProtocolloUscita)sch.protocollo;
                    if (pu.mittente != null && pu.mittente.info != null)
                    {
                        BusinessLogic.Utenti.UserManager.addDettagliCorrOcc(pu.mittente);
                    }

                    if (pu.destinatari != null && pu.destinatari.Count > 0)
                    {
                        for (int i = 0; i < pu.destinatari.Count; i++)
                        {
                            DocsPaVO.utente.Corrispondente corr = (DocsPaVO.utente.Corrispondente)pu.destinatari[i];
                            if (corr != null && corr.info != null)
                            {
                                BusinessLogic.Utenti.UserManager.addDettagliCorrOcc(corr);
                            }
                        }
                    }
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// </summary>
        /// <param name="schedaDocumento"></param>
        public InfoDocumento(SchedaDocumento schedaDocumento)
        {
            this.mittDest     = new ArrayList();
            this.idProfile    = schedaDocumento.systemId;
            this.oggetto      = schedaDocumento.oggetto.descrizione;
            this.docNumber    = schedaDocumento.docNumber;
            this.evidenza     = schedaDocumento.evidenza;
            this.privato      = schedaDocumento.privato;
            this.inCestino    = schedaDocumento.inCestino;
            this.allegato     = (schedaDocumento.documentoPrincipale != null);
            this.tipoProto    = schedaDocumento.tipoProto;
            this.dataApertura = schedaDocumento.dataCreazione;

            if (schedaDocumento.registro != null)
            {
                this.codRegistro = schedaDocumento.registro.codice;
                this.idRegistro  = schedaDocumento.registro.systemId;
            }

            if (schedaDocumento.protocollo != null)
            {
                this.numProt        = schedaDocumento.protocollo.numero;
                this.daProtocollare = schedaDocumento.protocollo.daProtocollare;
                this.dataApertura   = schedaDocumento.protocollo.dataProtocollazione;
                this.segnatura      = schedaDocumento.protocollo.segnatura;

                if (schedaDocumento.protocollo.GetType().Equals(typeof(DocsPaVO.documento.ProtocolloEntrata)))
                {
                    DocsPaVO.documento.ProtocolloEntrata pe = (DocsPaVO.documento.ProtocolloEntrata)schedaDocumento.protocollo;
                    this.mittDest.Add(pe.mittente.descrizione);
                }
                else if (schedaDocumento.protocollo.GetType().Equals(typeof(DocsPaVO.documento.ProtocolloUscita)))
                {
                    DocsPaVO.documento.ProtocolloUscita pu = (DocsPaVO.documento.ProtocolloUscita)schedaDocumento.protocollo;

                    for (int i = 0; i < pu.destinatari.Count; i++)
                    {
                        this.mittDest.Add(((DocsPaVO.utente.Corrispondente)pu.destinatari[i]).descrizione);
                    }
                }
            }
            if (schedaDocumento.tipologiaAtto != null)
            {
                this.idTipoAtto = schedaDocumento.tipologiaAtto.systemId;
                this.tipoAtto   = schedaDocumento.tipologiaAtto.descrizione;
            }

            this.codiceApplicazione = schedaDocumento.codiceApplicazione;
        }
コード例 #3
0
        private DocsPaVO.FriendApplication.SchedaDocumento getSchedaDocumentoLite(DocsPaVO.documento.SchedaDocumento schedaDocumento, DocsPaVO.FriendApplication.SchedaDocumento schedaDocumentoLite)
        {
            try
            {
                schedaDocumentoLite.systemId       = schedaDocumento.systemId;
                schedaDocumentoLite.docNumber      = schedaDocumento.docNumber;
                schedaDocumentoLite.codiceRegistro = schedaDocumento.registro.codRegistro;
                schedaDocumentoLite.segnatura      = schedaDocumento.protocollo.segnatura;
                schedaDocumentoLite.dataCreazione  = schedaDocumento.dataCreazione;

                //Protocollo in Uscita
                if (schedaDocumentoLite.tipoProto.ToUpper() == "P".ToUpper())
                {
                    DocsPaVO.documento.ProtocolloUscita protoPartenza = (DocsPaVO.documento.ProtocolloUscita)schedaDocumento.protocollo;
                    schedaDocumentoLite.dataProtocollo   = protoPartenza.dataProtocollazione;
                    schedaDocumentoLite.numeroProtocollo = protoPartenza.numero;
                }

                //Protocollo in Arrivo
                if (schedaDocumentoLite.tipoProto.ToUpper() == "A".ToUpper())
                {
                    DocsPaVO.documento.ProtocolloEntrata protoArrivo = (DocsPaVO.documento.ProtocolloEntrata)schedaDocumento.protocollo;
                    schedaDocumentoLite.dataProtocollo   = protoArrivo.dataProtocollazione;
                    schedaDocumentoLite.numeroProtocollo = protoArrivo.numero;
                }

                //Protocollo Interno
                if (schedaDocumentoLite.tipoProto.ToUpper() == "I".ToUpper())
                {
                    DocsPaVO.documento.ProtocolloInterno protoInterno = (DocsPaVO.documento.ProtocolloInterno)schedaDocumento.protocollo;
                    schedaDocumentoLite.dataProtocollo   = protoInterno.dataProtocollazione;
                    schedaDocumentoLite.numeroProtocollo = protoInterno.numero;
                }

                return(schedaDocumentoLite);
            }
            catch (Exception ex)
            {
                logger.Debug("Errore in DocsPaWSFriendApplication - metodo : getSchedaDocumentoLite", ex);
                throw ex;
            }
        }
コード例 #4
0
        internal static DocsPaVO.documento.SchedaDocumento setProtoPartenza(DocsPaVO.documento.SchedaDocumento schedaDocumento, DocsPaVO.documento.ProtocolloEmergenza protoEmergenza)
        {
            DocsPaVO.documento.ProtocolloUscita proto = new DocsPaVO.documento.ProtocolloUscita();
            //proto.daProtocollare = "1";
            //destinatari
            proto.destinatari = new ArrayList(protoEmergenza.destinatari.Count);
            for (int i = 0; i < protoEmergenza.destinatari.Count; i++)
            {
                DocsPaVO.utente.Corrispondente corr = new DocsPaVO.utente.Corrispondente();
                corr.descrizione = protoEmergenza.destinatari[i].ToString();

                proto.destinatari.Add(corr);
            }
            //destinatariCC
            proto.destinatariConoscenza = new ArrayList(protoEmergenza.destinatariCC.Count);
            for (int j = 0; j < protoEmergenza.destinatariCC.Count; j++)
            {
                DocsPaVO.utente.Corrispondente corr = new DocsPaVO.utente.Corrispondente();
                corr.descrizione = protoEmergenza.destinatariCC[j].ToString();
                proto.destinatariConoscenza.Add(corr);
            }
            schedaDocumento.protocollo = proto;
            return(schedaDocumento);
        }
コード例 #5
0
        public static string getDettagliMittDest(DocsPaVO.documento.SchedaDocumento schedaDoc)
        {
            string res = "";

            DocsPaVO.utente.Corrispondente corr = null;
            if (schedaDoc.protocollo.GetType().Equals(typeof(DocsPaVO.documento.ProtocolloEntrata)))
            {
                DocsPaVO.documento.ProtocolloEntrata pe = (DocsPaVO.documento.ProtocolloEntrata)schedaDoc.protocollo;
                corr = pe.mittente;
            }
            else
            {
                DocsPaVO.documento.ProtocolloUscita pu = (DocsPaVO.documento.ProtocolloUscita)schedaDoc.protocollo;
                if (pu.destinatari != null && pu.destinatari.Count > 0)
                {
                    corr = (DocsPaVO.utente.Corrispondente)pu.destinatari[0];
                }
            }
            if (corr != null)
            {
                res = getCorrectString(corr.descrizione);
            }
            return(res);
        }
コード例 #6
0
        public string Protocolla(ArrayList listaCampi,
                                 ArrayList listaDati,
                                 out int numProto,
                                 out string segnatura)
        {
            string err = string.Empty;

            numProto  = 0;
            segnatura = string.Empty;

            // CAMPI
            string userID            = listaCampi[0].ToString();
            string pwd               = listaCampi[1].ToString();
            string idCorrRuolo       = listaCampi[2].ToString();
            string idGruppo          = listaCampi[3].ToString();
            string livelloRuolo      = listaCampi[4].ToString();
            string idUO              = listaCampi[5].ToString();
            string codUO             = listaCampi[6].ToString();
            string descUO            = listaCampi[7].ToString();
            string idAmm             = listaCampi[8].ToString();
            string idRegistro        = listaCampi[9].ToString();
            string nomeUtenteProt    = listaCampi[10].ToString();
            string cognomeUtenteProt = listaCampi[11].ToString();

            // DATI
            string dataProtoEme     = listaDati[0].ToString();
            string numProtoEme      = listaDati[1].ToString();
            string protoEme         = listaDati[2].ToString();
            string tipoProtocollo   = listaDati[3].ToString();
            string oggetto          = listaDati[4].ToString();
            string corrispondenti   = listaDati[5].ToString();
            string corrispondentiCC = listaDati[6].ToString();
            string dataProtoMitt    = listaDati[7].ToString();
            string numProtoMitt     = listaDati[8].ToString();
            string dataArrivo       = listaDati[9].ToString();
            string codClassifica    = listaDati[10].ToString();
            string note             = listaDati[11].ToString();
            string systemIdRF       = listaDati[12].ToString();

            try
            {
                this.canaleWSAperto();

                // login
                err = Login(userID, pwd, idAmm);
                if (err != null && err != string.Empty)
                {
                    return("ERRORE: " + err);
                }

                // ruolo
                this._ruolo          = new DocsPaVO.utente.Ruolo();
                this._ruolo.systemId = idCorrRuolo;
                this._ruolo.idGruppo = idGruppo;
                DocsPaVO.utente.UnitaOrganizzativa uo = new DocsPaVO.utente.UnitaOrganizzativa();
                uo.codice            = codUO;
                uo.descrizione       = descUO;
                uo.idAmministrazione = idAmm;
                uo.systemId          = idUO;
                this._ruolo.uo       = uo;
                this._ruolo.livello  = livelloRuolo;
                this._ruolo.registri = new ArrayList();
                this._ruolo.registri.Add(this._ws.GetRegistroBySistemId(idRegistro));

                // utente
                DocsPaVO.utente.InfoUtente infoUtente = this.getInfoUtente();

                DocsPaVO.utente.Corrispondente     corr      = null;
                DocsPaVO.documento.SchedaDocumento schedaDoc = new DocsPaVO.documento.SchedaDocumento();;

                // Tipologia Protocollo
                if (tipoProtocollo == "P")
                {
                    DocsPaVO.documento.ProtocolloUscita protoOUT = new DocsPaVO.documento.ProtocolloUscita();

                    // un solo mittente = struttura del protocollista
                    corr                      = new DocsPaVO.utente.Corrispondente();
                    corr.systemId             = idUO;
                    corr.codiceCorrispondente = codUO;
                    corr.descrizione          = descUO;
                    corr.tipoIE               = "I";
                    corr.idAmministrazione    = idAmm;
                    corr.dettagli             = false;
                    protoOUT.mittente         = corr;

                    // uno o più destinatari
                    if (protoOUT.destinatari == null)
                    {
                        protoOUT.destinatari = new ArrayList();
                    }

                    string[] lstCorrEst = corrispondenti.Split(';');
                    foreach (string corrEst in lstCorrEst)
                    {
                        protoOUT.destinatari.Add(corrDestOcc(corrEst.Trim(), idAmm));
                    }

                    if (!string.IsNullOrEmpty(corrispondentiCC.Trim()))
                    {
                        // uno o più destinatari in conoscenza
                        if (protoOUT.destinatariConoscenza == null)
                        {
                            protoOUT.destinatariConoscenza = new ArrayList();
                        }

                        string[] lstCorrEstCC = corrispondentiCC.Split(';');
                        foreach (string corrEstCC in lstCorrEstCC)
                        {
                            protoOUT.destinatariConoscenza.Add(corrDestOcc(corrEstCC.Trim(), idAmm));
                        }
                    }

                    schedaDoc.protocollo = protoOUT;
                    schedaDoc.tipoProto  = "P";
                }

                // protocollo in arrivo
                if (tipoProtocollo == "A")
                {
                    DocsPaVO.documento.ProtocolloEntrata protoIN = new DocsPaVO.documento.ProtocolloEntrata();

                    // un solo mittente = struttura del protocollista
                    //corr = new DocsPaVO.utente.Corrispondente();
                    //corr.systemId = idUO;
                    //corr.codiceCorrispondente = codUO;
                    //corr.descrizione = descUO;
                    //corr.tipoIE = "I";
                    //corr.idAmministrazione = idAmm;
                    //corr.dettagli = false;
                    //protoIN.mittente = corr;
                    string corrispondente = string.Empty;
                    if (!string.IsNullOrEmpty(corrispondenti.Trim()))
                    {
                        if (corrispondenti.Contains(";"))
                        {
                            corrispondente = corrispondenti.Substring(0, corrispondenti.IndexOf(";") + 1);
                        }
                        else
                        {
                            corrispondente = corrispondenti;
                        }
                    }

                    DocsPaVO.utente.Corrispondente corr2 = new DocsPaVO.utente.Corrispondente();
                    corr2.descrizione        = corrispondente;
                    corr2.tipoCorrispondente = "O";
                    corr2.tipoIE             = "E";
                    corr2.idAmministrazione  = idAmm;
                    corr2.dettagli           = false;

                    protoIN.mittente = corr2;

                    // protocollo mittente
                    if (dataProtoMitt != null && dataProtoMitt != string.Empty)
                    {
                        protoIN.dataProtocolloMittente = dataProtoMitt;
                    }
                    if (numProtoMitt != null && numProtoMitt != string.Empty)
                    {
                        protoIN.descrizioneProtocolloMittente = numProtoMitt;
                    }

                    // data arrivo
                    if (dataArrivo != null && dataArrivo != string.Empty)
                    {
                        DocsPaVO.documento.Documento doc = new DocsPaVO.documento.Documento();
                        doc.dataArrivo = dataArrivo;

                        schedaDoc.documenti = new ArrayList();
                        schedaDoc.documenti.Add(doc);
                    }

                    schedaDoc.protocollo = protoIN;
                    schedaDoc.tipoProto  = "A";
                }

                schedaDoc = this.creaSchedaDocumento(idRegistro, oggetto, note, schedaDoc);

                // esegue il tutto solo se il registro non è chiuso
                if (!schedaDoc.registro.stato.Equals("C"))
                {
                    // dati di emergenza
                    schedaDoc.datiEmergenza = new DocsPaVO.documento.DatiEmergenza();
                    schedaDoc.datiEmergenza.dataProtocollazioneEmergenza   = dataProtoEme;
                    schedaDoc.datiEmergenza.protocolloEmergenza            = protoEme;
                    schedaDoc.datiEmergenza.cognomeProtocollatoreEmergenza = cognomeUtenteProt;
                    schedaDoc.datiEmergenza.nomeProtocollatoreEmergenza    = nomeUtenteProt;

                    // protocollatore
                    schedaDoc.protocollatore = new DocsPaVO.documento.Protocollatore(infoUtente.idPeople, idCorrRuolo, idUO, codUO);

                    // creatore del documento
                    schedaDoc.creatoreDocumento = new DocsPaVO.documento.CreatoreDocumento(infoUtente.idPeople, idCorrRuolo, idUO);

                    // controllo su univocità RF nel caso di RF presente nella segnatura
                    // questo codice prevede la presenza della chiave del web config nel WS
                    //if (ConfigurationManager.AppSettings["ENABLE_CODBIS_SEGNATURA"] != null && ConfigurationManager.AppSettings["ENABLE_CODBIS_SEGNATURA"] == "1")
                    //{
                    //DocsPaDB.Query_DocsPAWS.Amministrazione amm = new DocsPaDB.Query_DocsPAWS.Amministrazione();
                    //DocsPaVO.amministrazione.InfoAmministrazione infoAmm = amm.AmmGetInfoAmmCorrente(infoUtente.idAmministrazione);
                    //if (infoAmm.Segnatura.Contains("COD_RF_PROT"))
                    //{
                    //    // se ci sono uno o più RF associati al registro
                    //    DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();
                    //    ArrayList listaRF = new ArrayList();
                    //    listaRF = utenti.GetListaRegistriRfRuolo(idCorrRuolo, "1", idRegistro);
                    //    if (listaRF != null && listaRF.Count == 1) //se un solo RF non apro popup, ma selec direttamente.
                    //    {
                    //        DocsPaVO.utente.Registro reg = (DocsPaVO.utente.Registro)listaRF[0];
                    //        schedaDoc.id_rf_prot = reg.systemId;
                    //        schedaDoc.cod_rf_prot = reg.codRegistro;
                    //    }
                    //}
                    //}

                    //verifico se è stato inserito il codice RF da foglio excel
                    if (!string.IsNullOrEmpty(systemIdRF))
                    {
                        DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti();
                        DocsPaVO.utente.Registro       reg    = new DocsPaVO.utente.Registro();
                        utenti.GetRegistro(systemIdRF, ref reg);
                        if (reg != null && !string.IsNullOrEmpty(reg.systemId) && !string.IsNullOrEmpty(reg.codRegistro))
                        {
                            schedaDoc.id_rf_prot  = reg.systemId;
                            schedaDoc.cod_rf_prot = reg.codRegistro;
                        }
                    }

                    DocsPaVO.documento.ResultProtocollazione risultatoProtocollazione;
                    DocsPaVO.documento.SchedaDocumento       schedaResult = this._ws.DocumentoProtocolla(schedaDoc, infoUtente, this._ruolo, out risultatoProtocollazione);

                    if (schedaResult != null)
                    {
                        this.putinfoCorr(schedaResult);
                        numProto  = Int32.Parse(schedaResult.protocollo.numero);
                        segnatura = schedaResult.protocollo.segnatura;
                        string idProfile = schedaResult.docNumber;
                        err = "Ok - ";

                        // classificazione
                        if (codClassifica != null && codClassifica != string.Empty)
                        {
                            DocsPaVO.fascicolazione.Fascicolo fascicolo = this._ws.FascicolazioneGetFascicoloDaCodice(infoUtente, codClassifica, schedaDoc.registro, false, false);
                            if (fascicolo != null)
                            {
                                // recupera il folder
                                DocsPaVO.fascicolazione.Folder folder = this._ws.FascicolazioneGetFolder(infoUtente.idPeople, idGruppo, fascicolo);

                                if (folder != null)
                                {
                                    bool   outValue = false;
                                    string msg      = string.Empty;
                                    // classifica
                                    outValue = this._ws.FascicolazioneAddDocFolder(infoUtente, idProfile, folder, fascicolo.descrizione, out msg);
                                    if (outValue)
                                    {
                                        err += " - Classificato su: " + codClassifica;
                                    }
                                    else
                                    {
                                        err += " - Classificazione fallita!";
                                    }
                                }
                                else
                                {
                                    err += " - Classificazione fallita!";
                                }
                            }
                            else
                            {
                                err += " - Classificazione fallita!";
                            }
                        }
                        err += " Nuova segnatura: " + segnatura;
                    }
                    else
                    {
                        err = "Errore: protocollazione fallita!";
                    }
                }
                else
                {
                    err = "registro chiuso";
                }
            }
            catch (Exception ex)
            {
                err = "Errore: protocollazione fallita! - " + ex.ToString();
            }
            finally
            {
                this.Logoff();
                this.chiudiCanaleWS();
            }

            return(err);
        }
コード例 #7
0
        private DocsPaVO.documento.SchedaDocumento getSchedaDocumentoDocsPa(DocsPaVO.FriendApplication.SchedaDocumento schedaDocumentoLite, DocsPaVO.FriendApplication.FriendApplication objFriendApplication, DocsPaVO.utente.InfoUtente infoUtente)
        {
            try
            {
                //Creo e valorizzo una Scheda Documento
                DocsPaVO.documento.SchedaDocumento schedaDocumentoTrasformata = new DocsPaVO.documento.SchedaDocumento();
                schedaDocumentoTrasformata.appId         = "ACROBAT";
                schedaDocumentoTrasformata.idPeople      = objFriendApplication.idPeopleFactory;
                schedaDocumentoTrasformata.typeId        = "LETTERA";
                schedaDocumentoTrasformata.userId        = objFriendApplication.utente.userId;
                schedaDocumentoTrasformata.noteDocumento = new List <DocsPaVO.Note.InfoNota>();
                schedaDocumentoTrasformata.noteDocumento.Add(new DocsPaVO.Note.InfoNota(schedaDocumentoLite.note, objFriendApplication.utente.systemId, objFriendApplication.ruolo.systemId, null));
                DocsPaVO.documento.Oggetto oggetto = new DocsPaVO.documento.Oggetto();
                oggetto.descrizione = schedaDocumentoLite.oggetto;
                schedaDocumentoTrasformata.oggetto = oggetto;

                //Protocollo in Partenza
                if (schedaDocumentoLite.tipoProto.ToUpper() == "P".ToUpper())
                {
                    DocsPaVO.documento.ProtocolloUscita protoPartenza = new DocsPaVO.documento.ProtocolloUscita();

                    //Aggiungo il mittente
                    if (schedaDocumentoLite.mittente != null)
                    {
                        DocsPaVO.utente.Corrispondente mittente = ricercaCorr(schedaDocumentoLite.mittente, infoUtente);
                        if (mittente != null)
                        {
                            protoPartenza.mittente = mittente;
                        }
                    }

                    //Aggiungo i destinatari
                    protoPartenza.destinatari = new ArrayList();
                    foreach (DocsPaVO.FriendApplication.CorrLite corrLite in schedaDocumentoLite.destinatari)
                    {
                        protoPartenza.destinatari.Add(ricercaCorr(corrLite, infoUtente));
                    }

                    schedaDocumentoTrasformata.protocollo = protoPartenza;
                    schedaDocumentoTrasformata.tipoProto  = "P";
                }

                //Protocollo in Arrivo
                if (schedaDocumentoLite.tipoProto.ToUpper() == "A".ToUpper())
                {
                    DocsPaVO.documento.ProtocolloEntrata protoArrivo = new DocsPaVO.documento.ProtocolloEntrata();

                    //Aggiungo il mittente
                    DocsPaVO.utente.Corrispondente mittente = ricercaCorr(schedaDocumentoLite.mittente, infoUtente);
                    protoArrivo.mittente = mittente;

                    schedaDocumentoTrasformata.protocollo = protoArrivo;
                    schedaDocumentoTrasformata.tipoProto  = "A";
                }

                //Protocollo Interno
                if (schedaDocumentoLite.tipoProto.ToUpper() == "I".ToUpper())
                {
                    DocsPaVO.documento.ProtocolloInterno protoInterno = new DocsPaVO.documento.ProtocolloInterno();

                    //Aggiungo il mittente
                    DocsPaVO.utente.Corrispondente mittente = ricercaCorr(schedaDocumentoLite.mittente, infoUtente);
                    protoInterno.mittente = mittente;

                    //Aggiungo i destinatari
                    protoInterno.destinatari = new ArrayList();
                    foreach (DocsPaVO.FriendApplication.CorrLite corrLite in schedaDocumentoLite.destinatari)
                    {
                        protoInterno.destinatari.Add(ricercaCorr(corrLite, infoUtente));
                    }

                    schedaDocumentoTrasformata.protocollo = protoInterno;
                    schedaDocumentoTrasformata.tipoProto  = "I";
                }

                schedaDocumentoTrasformata.registro = objFriendApplication.registro;
                return(schedaDocumentoTrasformata);
            }
            catch (Exception ex)
            {
                logger.Debug("Errore in DocsPaWSFriendApplication - metodo : setSchedaDocumento", ex);
                throw ex;
            }
        }
コード例 #8
0
        //2. lite
        public static DocsPaVO.OggettiLite.ProtocolloLite getProtocolloLite(DocsPaVO.documento.Protocollo proto)
        {
            DocsPaVO.OggettiLite.ProtocolloLite protLite;
            protLite = new DocsPaVO.OggettiLite.ProtocolloLite();
            if (proto == null)
            {
                return(null);
            }

            if (proto.GetType() == typeof(DocsPaVO.documento.ProtocolloEntrata))
            {
                DocsPaVO.OggettiLite.ProtocolloEntrataLite protoLiteA = new DocsPaVO.OggettiLite.ProtocolloEntrataLite();
                DocsPaVO.documento.ProtocolloEntrata       protoApp   = (DocsPaVO.documento.ProtocolloEntrata)proto;
                protoLiteA      = new DocsPaVO.OggettiLite.ProtocolloEntrataLite();
                protoLiteA.anno = protoApp.anno;
                protoLiteA.daAggiornareMittente           = protoApp.daAggiornareMittente;
                protoLiteA.daAggiornareMittenteIntermedio = protoApp.daAggiornareMittenteIntermedio;
                protoLiteA.daAggiornareMittentiMultipli   = protoApp.daAggiornareMittentiMultipli;

                protoLiteA.daProtocollare         = protoApp.daProtocollare;
                protoLiteA.dataProtocollazione    = protoApp.dataProtocollazione;
                protoLiteA.dataProtocolloMittente = protoApp.dataProtocolloMittente;

                protoLiteA.descMezzoSpedizione           = protoApp.descMezzoSpedizione;
                protoLiteA.descrizioneProtocolloMittente = protoApp.descrizioneProtocolloMittente;

                protoLiteA.invioConferma      = protoApp.invioConferma;
                protoLiteA.mezzoSpedizione    = protoApp.mezzoSpedizione;
                protoLiteA.mittente           = getCorrispondenteLite(protoApp.mittente);
                protoLiteA.mittenteIntermedio = getCorrispondenteLite(protoApp.mittenteIntermedio);

                protoLiteA.mittenti = getCorrispondentiLite(protoApp.mittenti);

                protoLiteA.modMittDest         = protoApp.modMittDest;
                protoLiteA.modMittInt          = protoApp.modMittInt;
                protoLiteA.ModUffRef           = protoApp.ModUffRef;
                protoLiteA.numero              = protoApp.numero;
                protoLiteA.protocolloAnnullato = protoApp.protocolloAnnullato;
                protoLiteA.segnatura           = protoApp.segnatura;
                protoLiteA.stampeEffettuate    = protoApp.stampeEffettuate;
                protoLiteA.ufficioReferente    = getCorrispondenteLite(protoApp.ufficioReferente);

                return(protoLiteA);
            }

            if (proto.GetType() == typeof(DocsPaVO.documento.ProtocolloUscita))
            {
                DocsPaVO.OggettiLite.ProtocolloUscitaLite protoLiteU = new DocsPaVO.OggettiLite.ProtocolloUscitaLite();
                DocsPaVO.documento.ProtocolloUscita       protoApp   = (DocsPaVO.documento.ProtocolloUscita)proto;
                protoLiteU      = new DocsPaVO.OggettiLite.ProtocolloUscitaLite();
                protoLiteU.anno = protoApp.anno;

                protoLiteU.daAggiornareDestinatari           = protoApp.daAggiornareDestinatari;
                protoLiteU.daAggiornareDestinatariConoscenza = protoApp.daAggiornareDestinatariConoscenza;
                protoLiteU.daAggiornareMittente  = protoApp.daAggiornareMittente;
                protoLiteU.daProtocollare        = protoApp.daProtocollare;
                protoLiteU.dataProtocollazione   = protoApp.dataProtocollazione;
                protoLiteU.descMezzoSpedizione   = protoApp.descMezzoSpedizione;
                protoLiteU.destinatari           = getCorrispondentiLite(protoApp.destinatari);
                protoLiteU.destinatariConoscenza = getCorrispondentiLite(protoApp.destinatariConoscenza);
                protoLiteU.modMittDest           = protoApp.modMittDest;
                protoLiteU.modMittInt            = protoApp.modMittInt;
                protoLiteU.ModUffRef             = protoApp.ModUffRef;
                protoLiteU.numero = protoApp.numero;
                protoLiteU.protocolloAnnullato = protoApp.protocolloAnnullato;
                protoLiteU.segnatura           = protoApp.segnatura;
                protoLiteU.stampeEffettuate    = protoApp.stampeEffettuate;
                protoLiteU.ufficioReferente    = getCorrispondenteLite(protoApp.ufficioReferente);

                return(protoLiteU);
            }


            if (proto.GetType() == typeof(DocsPaVO.documento.ProtocolloInterno))
            {
                DocsPaVO.OggettiLite.ProtocolloInternoLite protoLiteI = new DocsPaVO.OggettiLite.ProtocolloInternoLite();
                DocsPaVO.documento.ProtocolloInterno       protoApp   = (DocsPaVO.documento.ProtocolloInterno)proto;
                protoLiteI      = new DocsPaVO.OggettiLite.ProtocolloInternoLite();
                protoLiteI.anno = protoApp.anno;

                protoLiteI.daAggiornareDestinatari           = protoApp.daAggiornareDestinatari;
                protoLiteI.daAggiornareDestinatariConoscenza = protoApp.daAggiornareDestinatariConoscenza;
                protoLiteI.daAggiornareMittente  = protoApp.daAggiornareMittente;
                protoLiteI.daProtocollare        = protoApp.daProtocollare;
                protoLiteI.dataProtocollazione   = protoApp.dataProtocollazione;
                protoLiteI.descMezzoSpedizione   = protoApp.descMezzoSpedizione;
                protoLiteI.destinatari           = getCorrispondentiLite(protoApp.destinatari);
                protoLiteI.destinatariConoscenza = getCorrispondentiLite(protoApp.destinatariConoscenza);
                protoLiteI.modMittDest           = protoApp.modMittDest;
                protoLiteI.modMittInt            = protoApp.modMittInt;
                protoLiteI.ModUffRef             = protoApp.ModUffRef;
                protoLiteI.numero = protoApp.numero;
                protoLiteI.protocolloAnnullato = protoApp.protocolloAnnullato;
                protoLiteI.segnatura           = protoApp.segnatura;
                protoLiteI.stampeEffettuate    = protoApp.stampeEffettuate;
                protoLiteI.ufficioReferente    = getCorrispondenteLite(protoApp.ufficioReferente);

                return(protoLiteI);
            }

            return(protLite);
        }
コード例 #9
0
        /// <summary>
        /// Uguaglianza tra due protocolli di un documento
        /// </summary>
        /// <param name="p1"></param>
        /// <param name="p2"></param>
        /// <returns></returns>
        private static bool AreEquals(DocsPaVO.documento.Protocollo p1, DocsPaVO.documento.Protocollo p2)
        {
            if (p1.GetType() != p2.GetType())
            {
                return(false);
            }

            // Uguaglianza tra i corrispondenti del protocollo
            List <DocsPaVO.utente.Corrispondente> actualList = null;
            List <DocsPaVO.utente.Corrispondente> savedList  = null;

            if (p1.GetType() == typeof(DocsPaVO.documento.ProtocolloUscita))
            {
                // ------------------------------------
                // Controllo mittenti protocollo uscita
                DocsPaVO.documento.ProtocolloUscita pu1 = (DocsPaVO.documento.ProtocolloUscita)p1;
                DocsPaVO.documento.ProtocolloUscita pu2 = (DocsPaVO.documento.ProtocolloUscita)p2;

                if (pu1.mittente != null && pu2.mittente != null)
                {
                    actualList = new List <DocsPaVO.utente.Corrispondente> {
                        pu1.mittente
                    };
                    savedList = new List <DocsPaVO.utente.Corrispondente> {
                        pu2.mittente
                    };

                    // Verifica uguaglianza tramite operazione di intersezione
                    var intersection = actualList.Intersect(savedList, new CorrispondenteEqualityComparer());
                    if (savedList.Count() != intersection.Count())
                    {
                        return(false);
                    }
                }

                // ------------------------------------

                // ------------------------------------
                // Controllo destinatari protocollo uscita
                if (pu1.destinatari != null && pu2.destinatari != null)
                {
                    actualList = new List <DocsPaVO.utente.Corrispondente>((DocsPaVO.utente.Corrispondente[])pu1.destinatari.ToArray(typeof(DocsPaVO.utente.Corrispondente)));
                    savedList  = new List <DocsPaVO.utente.Corrispondente>((DocsPaVO.utente.Corrispondente[])pu2.destinatari.ToArray(typeof(DocsPaVO.utente.Corrispondente)));

                    // Verifica uguaglianza tramite operazione di intersezione
                    var intersection = actualList.Intersect(savedList, new CorrispondenteEqualityComparer());
                    if (savedList.Count() != intersection.Count())
                    {
                        return(false);
                    }
                }
                // ------------------------------------

                // ------------------------------------
                // Controllo destinatari in CC protocollo uscita
                if (pu1.destinatariConoscenza != null && pu2.destinatariConoscenza != null)
                {
                    actualList = new List <DocsPaVO.utente.Corrispondente>((DocsPaVO.utente.Corrispondente[])pu1.destinatariConoscenza.ToArray(typeof(DocsPaVO.utente.Corrispondente)));
                    savedList  = new List <DocsPaVO.utente.Corrispondente>((DocsPaVO.utente.Corrispondente[])pu2.destinatariConoscenza.ToArray(typeof(DocsPaVO.utente.Corrispondente)));

                    // Verifica uguaglianza tramite operazione di intersezione
                    var intersection = actualList.Intersect(savedList, new CorrispondenteEqualityComparer());
                    if (savedList.Count() != intersection.Count())
                    {
                        return(false);
                    }
                }
                // ------------------------------------
            }
            else if (p1.GetType() == typeof(DocsPaVO.documento.ProtocolloEntrata))
            {
                DocsPaVO.documento.ProtocolloEntrata pe1 = (DocsPaVO.documento.ProtocolloEntrata)p1;
                DocsPaVO.documento.ProtocolloEntrata pe2 = (DocsPaVO.documento.ProtocolloEntrata)p2;

                // ------------------------------------
                // Controllo mittente protocollo entrata
                if (pe1.mittente != null && pe2.mittente != null)
                {
                    actualList = new List <DocsPaVO.utente.Corrispondente> {
                        pe1.mittente
                    };
                    savedList = new List <DocsPaVO.utente.Corrispondente> {
                        pe2.mittente
                    };

                    // Verifica uguaglianza tramite operazione di intersezione
                    var intersection = actualList.Intersect(savedList, new CorrispondenteEqualityComparer());
                    if (savedList.Count() != intersection.Count())
                    {
                        return(false);
                    }
                }
                // ------------------------------------

                // ------------------------------------
                // Controllo mittente intermedio protocollo entrata
                if (pe1.mittenteIntermedio != null && pe2.mittenteIntermedio != null)
                {
                    actualList = new List <DocsPaVO.utente.Corrispondente> {
                        pe1.mittenteIntermedio
                    };
                    savedList = new List <DocsPaVO.utente.Corrispondente> {
                        pe2.mittenteIntermedio
                    };

                    // Verifica uguaglianza tramite operazione di intersezione
                    var intersection = actualList.Intersect(savedList, new CorrispondenteEqualityComparer());
                    if (savedList.Count() != intersection.Count())
                    {
                        return(false);
                    }
                }
                // ------------------------------------

                // ------------------------------------
                // Controllo mittenti protocollo entrata
                if (pe1.mittenti != null && pe2.mittenti != null)
                {
                    actualList = new List <DocsPaVO.utente.Corrispondente>((DocsPaVO.utente.Corrispondente[])pe1.mittenti.ToArray(typeof(DocsPaVO.utente.Corrispondente)));
                    savedList  = new List <DocsPaVO.utente.Corrispondente>((DocsPaVO.utente.Corrispondente[])pe2.mittenti.ToArray(typeof(DocsPaVO.utente.Corrispondente)));

                    // Verifica uguaglianza tramite operazione di intersezione
                    var intersection = actualList.Intersect(savedList, new CorrispondenteEqualityComparer());
                    if (savedList.Count() != intersection.Count())
                    {
                        return(false);
                    }
                }
                // ------------------------------------
            }
            else if (p1.GetType() == typeof(DocsPaVO.documento.ProtocolloInterno))
            {
                DocsPaVO.documento.ProtocolloInterno pi1 = (DocsPaVO.documento.ProtocolloInterno)p1;
                DocsPaVO.documento.ProtocolloInterno pi2 = (DocsPaVO.documento.ProtocolloInterno)p2;

                if (pi1.mittente != null && pi2.mittente != null)
                {
                    actualList = new List <DocsPaVO.utente.Corrispondente> {
                        pi1.mittente
                    };
                    savedList = new List <DocsPaVO.utente.Corrispondente> {
                        pi2.mittente
                    };

                    // Verifica uguaglianza tramite operazione di intersezione
                    var intersection = actualList.Intersect(savedList, new CorrispondenteEqualityComparer());
                    if (savedList.Count() != intersection.Count())
                    {
                        return(false);
                    }
                }
                // ------------------------------------

                // ------------------------------------
                // Controllo destinatari protocollo interno
                if (pi1.destinatari != null && pi2.destinatari != null)
                {
                    actualList = new List <DocsPaVO.utente.Corrispondente>((DocsPaVO.utente.Corrispondente[])pi1.destinatari.ToArray(typeof(DocsPaVO.utente.Corrispondente)));
                    savedList  = new List <DocsPaVO.utente.Corrispondente>((DocsPaVO.utente.Corrispondente[])pi2.destinatari.ToArray(typeof(DocsPaVO.utente.Corrispondente)));

                    // Verifica uguaglianza tramite operazione di intersezione
                    var intersection = actualList.Intersect(savedList, new CorrispondenteEqualityComparer());
                    if (savedList.Count() != intersection.Count())
                    {
                        return(false);
                    }
                }
                // ------------------------------------

                // ------------------------------------
                // Controllo destinatari in CC protocollo interno
                if (pi1.destinatariConoscenza != null && pi2.destinatariConoscenza != null)
                {
                    actualList = new List <DocsPaVO.utente.Corrispondente>((DocsPaVO.utente.Corrispondente[])pi1.destinatariConoscenza.ToArray(typeof(DocsPaVO.utente.Corrispondente)));
                    savedList  = new List <DocsPaVO.utente.Corrispondente>((DocsPaVO.utente.Corrispondente[])pi2.destinatariConoscenza.ToArray(typeof(DocsPaVO.utente.Corrispondente)));

                    // Verifica uguaglianza tramite operazione di intersezione
                    var intersection = actualList.Intersect(savedList, new CorrispondenteEqualityComparer());
                    if (savedList.Count() != intersection.Count())
                    {
                        return(false);
                    }
                }
                // ------------------------------------
            }

            return(true);
        }
コード例 #10
0
        /// <summary>
        /// Costruttore con i relativi controlli!!!
        /// </summary>
        /// <param name="schDoc"></param>
        public Metadati(DocsPaVO.documento.SchedaDocumento schDoc)
        {
            try
            {
                dataCreazione       = schDoc.dataCreazione;
                oraCreazione        = schDoc.oraCreazione;
                docNumber           = schDoc.docNumber;
                descMezzoSpedizione = schDoc.descMezzoSpedizione;

                if (schDoc.tipoProto.ToUpper() == "G")
                {
                    tipoProto = "non protocollato";
                }
                else
                {
                    tipoProto = schDoc.tipoProto;
                }

                if (schDoc.protocollo != null)
                {
                    if (schDoc.protocollo.GetType() == typeof(DocsPaVO.documento.ProtocolloEntrata))
                    {
                        DocsPaVO.documento.ProtocolloEntrata protE = (DocsPaVO.documento.ProtocolloEntrata)schDoc.protocollo;
                        ProtocolloEntrata protocolloE = new ProtocolloEntrata();
                        protocolloE.anno = protE.anno;
                        protocolloE.dataProtocollazione           = protE.dataProtocollazione;
                        protocolloE.dataProtocolloMittente        = protE.dataProtocolloMittente;
                        protocolloE.descrizioneProtocolloMittente = protE.descrizioneProtocolloMittente;
                        protocolloE.numero    = protE.numero;
                        protocolloE.segnatura = protE.segnatura;
                        if (protE.mittente != null)
                        {
                            protocolloE.mittente             = new Corrispondente();
                            protocolloE.mittente.descrizione = protE.mittente.descrizione;
                        }
                        else
                        {
                            protocolloE.mittente = null;
                        }
                        protocollo = new ProtocolloEntrata();
                        protocollo = protocolloE;
                    }

                    if (schDoc.protocollo.GetType() == typeof(DocsPaVO.documento.ProtocolloInterno))
                    {
                        DocsPaVO.documento.ProtocolloInterno protI = (DocsPaVO.documento.ProtocolloInterno)schDoc.protocollo;
                        ProtocolloInterno protocolloI = new ProtocolloInterno();
                        protocolloI.anno = protI.anno;
                        protocolloI.dataProtocollazione = protI.dataProtocollazione;
                        protocolloI.numero    = protI.numero;
                        protocolloI.segnatura = protI.segnatura;
                        if (protI.mittente != null)
                        {
                            protocolloI.mittente             = new Corrispondente();
                            protocolloI.mittente.descrizione = protI.mittente.descrizione;
                        }
                        else
                        {
                            protocolloI.mittente = null;
                        }
                        if (protI.destinatari.Count > 0)
                        {
                            protocolloI.destinatari = new ArrayList();
                            for (int i = 0; i < protI.destinatari.Count; i++)
                            {
                                DocsPaVO.utente.Corrispondente corr = (DocsPaVO.utente.Corrispondente)protI.destinatari[i];
                                Corrispondente corrCons             = new Corrispondente();
                                corrCons.descrizione = corr.descrizione;
                                protocolloI.destinatari.Add(corrCons);
                            }
                        }
                        if (protI.destinatariConoscenza.Count > 0)
                        {
                            protocolloI.destinatariConoscenza = new ArrayList();
                            for (int i = 0; i < protI.destinatariConoscenza.Count; i++)
                            {
                                DocsPaVO.utente.Corrispondente corr = (DocsPaVO.utente.Corrispondente)protI.destinatariConoscenza[i];
                                Corrispondente corrCons             = new Corrispondente();
                                corrCons.descrizione = corr.descrizione;
                                protocolloI.destinatariConoscenza.Add(corrCons);
                            }
                        }
                        protocollo = new ProtocolloInterno();
                        protocollo = protocolloI;
                    }

                    if (schDoc.protocollo.GetType() == typeof(DocsPaVO.documento.ProtocolloUscita))
                    {
                        DocsPaVO.documento.ProtocolloUscita protU = (DocsPaVO.documento.ProtocolloUscita)schDoc.protocollo;
                        ProtocolloUscita protocolloU = new ProtocolloUscita();
                        protocolloU.anno = protU.anno;
                        protocolloU.dataProtocollazione = protU.dataProtocollazione;
                        protocolloU.numero    = protU.numero;
                        protocolloU.segnatura = protU.segnatura;
                        if (protU.mittente != null)
                        {
                            protocolloU.mittente             = new Corrispondente();
                            protocolloU.mittente.descrizione = protU.mittente.descrizione;
                        }
                        else
                        {
                            protocolloU.mittente = null;
                        }
                        if (protU.destinatari.Count > 0)
                        {
                            protocolloU.destinatari = new ArrayList();
                            for (int i = 0; i < protU.destinatari.Count; i++)
                            {
                                DocsPaVO.utente.Corrispondente corr = (DocsPaVO.utente.Corrispondente)protU.destinatari[i];
                                Corrispondente corrCons             = new Corrispondente();
                                corrCons.descrizione = corr.descrizione;
                                protocolloU.destinatari.Add(corrCons);
                            }
                        }
                        if (protU.destinatariConoscenza.Count > 0)
                        {
                            protocolloU.destinatariConoscenza = new ArrayList();
                            for (int i = 0; i < protU.destinatariConoscenza.Count; i++)
                            {
                                DocsPaVO.utente.Corrispondente corr = (DocsPaVO.utente.Corrispondente)protU.destinatariConoscenza[i];
                                Corrispondente corrCons             = new Corrispondente();
                                corrCons.descrizione = corr.descrizione;
                                protocolloU.destinatariConoscenza.Add(corrCons);
                            }
                        }
                        protocollo = new ProtocolloUscita();
                        protocollo = protocolloU;
                    }
                }

                if (schDoc.oggetto != null)
                {
                    oggetto             = new Oggetto();
                    oggetto.descrizione = schDoc.oggetto.descrizione;
                }

                if (schDoc.tipologiaAtto != null)
                {
                    tipologiaAtto             = new TipologiaAtto();
                    tipologiaAtto.descrizione = schDoc.tipologiaAtto.descrizione;
                }

                if (schDoc.registro != null)
                {
                    registro             = new Registro();
                    registro.codRegistro = schDoc.registro.codRegistro;
                }

                if (schDoc.protocollatore != null)
                {
                    protocollatore = new Protocollatore();
                    protocollatore.Nome_Cognome = schDoc.protocollatore.utente_idPeople;
                }

                if (schDoc.creatoreDocumento != null)
                {
                    creatoreDocumento = new CreatoreDocumento();
                    creatoreDocumento.Nome_Cognome = schDoc.creatoreDocumento.idPeople;
                }

                if (schDoc.documenti.Count > 0)
                {
                    documenti = new ArrayList();
                    for (int i = 0; i < schDoc.documenti.Count; i++)
                    {
                        DocsPaVO.documento.Documento doc = (DocsPaVO.documento.Documento)schDoc.documenti[i];
                        Documento docCons = new Documento();
                        docCons.autore          = doc.autore;
                        docCons.dataInserimento = doc.dataInserimento;
                        docCons.descrizione     = doc.descrizione;
                        docCons.version         = doc.version;
                        documenti.Add(docCons);
                    }
                }

                if (schDoc.allegati.Count > 0)
                {
                    allegati = new ArrayList();
                    foreach (documento.Allegato t in schDoc.allegati)
                    {
                        allegati.Add(new Allegato()
                        {
                            autore          = t.autore,
                            dataInserimento = t.dataInserimento,
                            descrizione     = t.descrizione,
                            version         = t.version
                        });
                    }
                }

                if (schDoc.paroleChiave.Count > 0)
                {
                    paroleChiave = new ArrayList();
                    foreach (documento.ParolaChiave t in schDoc.paroleChiave)
                    {
                        paroleChiave.Add(new ParolaChiave {
                            descrizione = t.descrizione
                        });
                    }
                }
            }
            catch
            {
                // Ignored
            }
        }
コード例 #11
0
        /// <summary>
        /// Invio del documento a tutti i destinatari del documento
        /// </summary>
        /// <param name="schedaDoc"></param>
        /// <param name="infoUtente"></param>
        /// <param name="confermaRic"></param>
        public static DocsPaVO.Interoperabilita.SendDocumentResponse spedisci(DocsPaVO.documento.SchedaDocumento schedaDoc, DocsPaVO.utente.InfoUtente infoUtente, bool confermaRic)
        {
            // Oggetto contenente l'esito della spedizione del documento ai destinatari.
            // Per ognuno di essi, nella tabella "DPA_STATO_INVIO",
            // deve essere impostata correttamente la data di spedizione; per gli
            // altri viene impostata a null;
            DocsPaVO.Interoperabilita.SendDocumentResponse sendDocumentResponse = null;

            try
            {
                DocsPaVO.utente.Corrispondente mittente = BusinessLogic.Utenti.UserManager.getCorrispondente(infoUtente.idCorrGlobali, false);

                DocsPaVO.utente.Ruolo ruoloMitt = (DocsPaVO.utente.Ruolo)mittente;
                mittente.descrizione = ruoloMitt.descrizione;
                DocsPaVO.Interoperabilita.DatiInteropAutomatica dia = null;
                // Invio mail a tutti i destinatari del documento
                sendDocumentResponse = BusinessLogic.Interoperabilità.InteroperabilitaInvioSegnatura.SendDocument(schedaDoc, schedaDoc.registro, infoUtente, confermaRic, out dia);
            }
            catch (Exception e)
            {
                logger.Debug("Errore nell'invio mail", e);

                throw new Exception("Si è verificato un errore nell'invio dell'email:\\n\\n" + e.Message);
            }

            try
            {
                DocsPaVO.documento.ProtocolloUscita pu = (DocsPaVO.documento.ProtocolloUscita)schedaDoc.protocollo;

                // destinatari
                InsertStatoInvioDestinatari(schedaDoc, pu.destinatari, sendDocumentResponse);

                // destinatari per conoscenza
                InsertStatoInvioDestinatari(schedaDoc, pu.destinatariConoscenza, sendDocumentResponse);

                //SOLO nel caso di interoperabilità interna abilitata
                if (System.Configuration.ConfigurationManager.AppSettings["INTEROP_INT_NO_MAIL"] != null &&
                    System.Configuration.ConfigurationManager.AppSettings["INTEROP_INT_NO_MAIL"].ToString() != "0")
                {
                    foreach (DocsPaVO.Interoperabilita.SendDocumentResponse.SendDocumentMailResponse sdml in sendDocumentResponse.SendDocumentMailResponseList)
                    {
                        if (sdml.datiInteropAutomatica != null)
                        {
                            string erroreMessage = string.Empty;
                            Interoperabilità.InteroperabilitaInvioRicevuta.sendRicevutaRitorno(sdml.datiInteropAutomatica.schedaDoc, sdml.datiInteropAutomatica.registro, sdml.datiInteropAutomatica.ruolo, sdml.datiInteropAutomatica.infoUtente, out erroreMessage);
                            //
                            bool   verificaRagioni;
                            string message = "";
                            // OLD: MAC_INPS 3749 if (schedaDoc.protocollo.daProtocollare != null && schedaDoc.protocollo.daProtocollare.Equals("1") && reg.autoInterop != null && reg.autoInterop != "0")
                            // BusinessLogic.trasmissioni.TrasmProtoIntManager.TrasmissioneProtocolloAutomatico(sdml.datiInteropAutomatica.schedaDoc,sdml.datiInteropAutomatica.registro.systemId, schedaDoc, sdml.datiInteropAutomatica.ruolo, sdml.datiInteropAutomatica.infoUtente, infoUtente.urlWA, false, out verificaRagioni, out message);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                logger.Debug("Errore nella gestione della spedizione", e);

                throw new Exception("Errore nella gestione della spedizione:\\n\\n" + e.Message);
            }


            return(sendDocumentResponse);
        }