Beispiel #1
0
        /// <summary></summary>
        /// <param name="uo"></param>
        /// <param name="infoUtente"></param>
        /// <returns></returns>
        public static ArrayList GetRuoliUO(DocsPaVO.utente.UnitaOrganizzativa uo)
        {
            DocsPaDB.Query_DocsPAWS.Amministrazione amm = new DocsPaDB.Query_DocsPAWS.Amministrazione();
            ArrayList result = amm.getRuoliUO(uo);

            return(result);
        }
Beispiel #2
0
        /// <summary>
        /// Query #0 per il metodo "getGerarchiaInf"
        /// </summary>
        /// <param name="dataSet"></param>
        /// <param name="ruolo"></param>
        public void getGerInf(DataSet dataSet, DocsPaVO.utente.UnitaOrganizzativa uo)
        {
            DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("S_DPACorrGlob10");
            q.setParam("param1", uo.livello);
            string myString = q.getSQL();

            this.ExecuteQuery(dataSet, "UO", myString);
        }
Beispiel #3
0
        public XmlDocument(DocsPaVO.documento.FileDocumento fileDoc, DocsPaVO.documento.SchedaDocumento schDoc, DocsPaVO.documento.FileRequest objFileRequest, InstanceAccessDocument instanceDoc, DocsPaVO.utente.InfoUtente infoUtente)
        {
            if (this.documento == null)
            {
                documento = new DocsPaVO.InstanceAccess.Metadata.Document();
            }

            DocsPaVO.utente.Ruolo ruolo = BusinessLogic.Utenti.UserManager.getRuolo(schDoc.creatoreDocumento.idCorrGlob_Ruolo);
            //DocsPaVO.utente.InfoUtente infoUtente = BusinessLogic.Utenti.UserManager.GetInfoUtente(BusinessLogic.Utenti.UserManager.getUtente(schDoc.creatoreDocumento.idPeople), ruolo);
            DocsPaVO.utente.UnitaOrganizzativa unitaOrganizzativa = ruolo.uo;

            List <DocsPaVO.InstanceAccess.Metadata.UnitaOrganizzativa> uoL = new List <DocsPaVO.InstanceAccess.Metadata.UnitaOrganizzativa>();

            DocsPaVO.InstanceAccess.Metadata.UnitaOrganizzativa uoXML = convertiUO(unitaOrganizzativa);
            uoL.Add(uoXML);

            documento.SoggettoProduttore = new DocsPaVO.InstanceAccess.Metadata.SoggettoProduttore
            {
                Amministrazione = getInfoAmministrazione(ruolo.idAmministrazione),
                GerarchiaUO     = new DocsPaVO.InstanceAccess.Metadata.GerarchiaUO {
                    UnitaOrganizzativa = uoL.ToArray()
                },
                Creatore = getCreatore(schDoc, ruolo)
            };

            documento.IDdocumento = schDoc.systemId;
            documento.Oggetto     = schDoc.oggetto.descrizione;
            documento.Tipo        = convertiTipoPoto(schDoc);
            //  documento.DataCreazione = Utils.formattaData(Utils.convertiData(schDoc.dataCreazione));
            documento.DataCreazione = schDoc.dataCreazione;

            if (schDoc.privato != null && schDoc.privato.Equals("1"))
            {
                documento.LivelloRiservatezza = "privato";
            }
            else
            {
                documento.LivelloRiservatezza = string.Empty;
            }
            if (instanceDoc.ENABLE && fileDoc != null)
            {
                documento.File = getFileDetail(fileDoc, objFileRequest, infoUtente);
            }
            documento.Registrazione        = getRegistrazione(schDoc, ruolo);
            documento.ContestoArchivistico = getContestoArchivistico(schDoc, ruolo, infoUtente);

            if (schDoc.template != null)
            {
                DocsPaVO.InstanceAccess.Metadata.Tipologia t = new DocsPaVO.InstanceAccess.Metadata.Tipologia {
                    NomeTipologia = schDoc.template.DESCRIZIONE, CampoTipologia = getCampiTipologia(schDoc.template)
                };
                documento.Tipologia = t;
            }
            documento.Allegati      = getAllegati(schDoc, instanceDoc, infoUtente);
            documento.TipoRichiesta = instanceDoc.TYPE_REQUEST;
        }
Beispiel #4
0
        public XmlDocumento(InfoConservazione infoCons, DocsPaVO.documento.FileDocumento fileDoc, DocsPaVO.documento.SchedaDocumento schDoc, DocsPaVO.documento.FileRequest objFileRequest)
        {
            if (this.documento == null)
            {
                documento = new Documento.Documento();
            }

            DocsPaVO.utente.Ruolo              ruolo              = BusinessLogic.Utenti.UserManager.getRuolo(infoCons.IdRuoloInUo);
            DocsPaVO.utente.InfoUtente         infoUtente         = BusinessLogic.Utenti.UserManager.GetInfoUtente(UserManager.getUtente(infoCons.IdPeople), ruolo);
            DocsPaVO.utente.UnitaOrganizzativa unitaOrganizzativa = ruolo.uo;

            List <UnitaOrganizzativa> uoL   = new List <UnitaOrganizzativa>();
            UnitaOrganizzativa        uoXML = Utils.convertiUO(unitaOrganizzativa);

            uoL.Add(uoXML);

            documento.SoggettoProduttore = new SoggettoProduttore
            {
                Amministrazione = Utils.getInfoAmministrazione(infoCons),
                GerarchiaUO     = new GerarchiaUO {
                    UnitaOrganizzativa = uoL.ToArray()
                },
                Creatore = Utils.getCreatore(infoCons, ruolo)
            };

            documento.IDistanza   = infoCons.SystemID;
            documento.IDdocumento = schDoc.systemId;
            documento.Oggetto     = schDoc.oggetto.descrizione;
            documento.Tipo        = Utils.convertiTipoPoto(schDoc);
            //  documento.DataCreazione = Utils.formattaData(Utils.convertiData(schDoc.dataCreazione));
            documento.DataCreazione = schDoc.dataCreazione;

            if (schDoc.privato != null && schDoc.privato.Equals("1"))
            {
                documento.LivelloRiservatezza = "privato";
            }
            else
            {
                documento.LivelloRiservatezza = string.Empty;
            }

            documento.File                 = getFileDetail(fileDoc, objFileRequest, infoUtente);
            documento.Registrazione        = getRegistrazione(infoCons, schDoc, ruolo);
            documento.ContestoArchivistico = getContestoArchivistico(infoCons, schDoc, ruolo, infoUtente);

            if (schDoc.template != null)
            {
                Tipologia t = new Tipologia {
                    NomeTipologia = schDoc.template.DESCRIZIONE, CampoTipologia = Utils.getCampiTipologia(schDoc.template)
                };
                documento.Tipologia = t;
            }
            documento.Allegati = getAllegati(schDoc, infoUtente);
        }
Beispiel #5
0
        /// <summary></summary>
        /// <param name="corr"></param>
        /// <param name="infoUtente"></param>
        /// <returns></returns>
        public static DocsPaVO.utente.UnitaOrganizzativa GetInfoUO(DocsPaVO.utente.Corrispondente corr)
        {
            DocsPaDB.Query_DocsPAWS.Amministrazione amm = new DocsPaDB.Query_DocsPAWS.Amministrazione();
            DocsPaVO.utente.UnitaOrganizzativa      uo  = amm.GetInfoUO((DocsPaVO.utente.UnitaOrganizzativa)corr);

            if (uo == null)
            {
                throw new Exception();
            }

            return(uo);
        }
Beispiel #6
0
        public XmlFascicolo(InfoConservazione infoCons, string ID_Project, FolderConservazione[] folderConservazione)
        {
            if (fascicolo == null)
            {
                fascicolo = new Fascicolo.Fascicolo();
            }

            DocsPaVO.utente.Ruolo              ruolo              = BusinessLogic.Utenti.UserManager.getRuolo(infoCons.IdRuoloInUo);
            DocsPaVO.utente.Utente             Utente             = UserManager.getUtente(infoCons.IdPeople);
            DocsPaVO.utente.UnitaOrganizzativa unitaOrganizzativa = ruolo.uo;
            DocsPaVO.utente.InfoUtente         infoUtente         = UserManager.GetInfoUtente(Utente, ruolo);
            DocsPaVO.fascicolazione.Fascicolo  dpaFascicolo       = BusinessLogic.Fascicoli.FascicoloManager.getFascicoloById(ID_Project, infoUtente);


            List <UnitaOrganizzativa> uoL   = new List <UnitaOrganizzativa>();
            UnitaOrganizzativa        uoXML = Utils.convertiUO(unitaOrganizzativa);

            uoL.Add(uoXML);

            fascicolo.SoggettoProduttore = new SoggettoProduttore
            {
                Amministrazione = Utils.getInfoAmministrazione(infoCons),
                GerarchiaUO     = new GerarchiaUO {
                    UnitaOrganizzativa = uoL.ToArray()
                },
                Creatore = Utils.getCreatore(infoCons, ruolo)
            };

            if (dpaFascicolo != null && dpaFascicolo.template != null)
            {
                Tipologia t = new Tipologia {
                    NomeTipologia = dpaFascicolo.template.DESCRIZIONE, CampoTipologia = Utils.getCampiTipologia(dpaFascicolo.template)
                };
                fascicolo.Tipologia = t;
            }

            if (!string.IsNullOrEmpty(fascicolo.Codice))
            {
                fascicolo.Codice        = dpaFascicolo.codice;
                fascicolo.DataChiusura  = Utils.formattaData(Utils.convertiData(dpaFascicolo.chiusura));
                fascicolo.DataCreazione = Utils.formattaData(Utils.convertiData(dpaFascicolo.apertura));
                fascicolo.Descrizione   = dpaFascicolo.descrizione;

                OrgNodoTitolario nodo = BusinessLogic.Amministrazione.TitolarioManager.getNodoTitolario(dpaFascicolo.idTitolario);
                fascicolo.TitolarioDiRiferimento = nodo.Descrizione;
                fascicolo.Classificazione        = nodo.Codice;

                fascicolo.LivelloRiservatezza = Utils.convertiLivelloRiservatezza(dpaFascicolo.privato);
                fascicolo.Numero    = dpaFascicolo.numFascicolo;
                fascicolo.Contenuto = creaStrutturaContenuto(folderConservazione, ID_Project, infoUtente, ref fascicolo);
            }
        }
Beispiel #7
0
        public static DocsPaVO.utente.UnitaOrganizzativa getParents(string id_parent, DocsPaVO.utente.Ruolo ruoloInit)
        {
            DocsPaVO.utente.UnitaOrganizzativa result = ruoloInit.uo;
            if (result == null)
            {
                return(null);
            }

            while (result.systemId != null && result.systemId.Equals(id_parent))
            {
                result = result.parent;
                if (result == null)
                {
                    return(null);
                }
            }

            return(result);
        }
Beispiel #8
0
        public static DocsPaVO.InstanceAccess.Metadata.UnitaOrganizzativa convertiUO(DocsPaVO.utente.UnitaOrganizzativa unitaOrganizzativa)
        {
            DocsPaVO.InstanceAccess.Metadata.UnitaOrganizzativa uoXML = new DocsPaVO.InstanceAccess.Metadata.UnitaOrganizzativa();
            uoXML.CodiceUO      = unitaOrganizzativa.codiceRubrica;
            uoXML.DescrizioneUO = unitaOrganizzativa.descrizione;
            uoXML.Livello       = unitaOrganizzativa.livello;

            if (unitaOrganizzativa.parent == null)
            {
                return(uoXML);
            }

            DocsPaVO.InstanceAccess.Metadata.UnitaOrganizzativa        uoXML_Padre = convertiUO(unitaOrganizzativa.parent);
            List <DocsPaVO.InstanceAccess.Metadata.UnitaOrganizzativa> uoXMLLst    = new List <DocsPaVO.InstanceAccess.Metadata.UnitaOrganizzativa>();

            uoXMLLst.Add(uoXML_Padre);
            uoXML.UnitaOrganizzativa1 = uoXMLLst.ToArray();

            return(uoXML);
        }
Beispiel #9
0
 public System.Collections.ArrayList getChildrenUO(DocsPaVO.utente.UnitaOrganizzativa uo)
 {
     System.Collections.ArrayList lista = new System.Collections.ArrayList();
     try
     {
         //si estraggono le uo di livello superiore, possibili figlie della uo del ruolo
         DataSet dataSet = new DataSet();
         DocsPaDB.Query_Utils.Utils obj = new DocsPaDB.Query_Utils.Utils();
         obj.getGerInf(dataSet, uo);
         DataTable table = dataSet.Tables["UO"];
         lista = getChildrenUO(uo.systemId, table);
     }
     catch (Exception e)
     {
         // TODO: Utilizzare il progetto DocsPaDbManagement
         //database.closeConnection();
         //throw e;
         string exMessage = e.Message;
         lista = null;
     }
     return(lista);
 }
Beispiel #10
0
        public XmlIstanza(InfoConservazione infoCons, DocsPaVO.utente.InfoUtente infoUtenteConservazione)
        {
            if (this.istanza == null)
            {
                istanza = new DocsPaConservazione.Metadata.Istanza.Istanza();
            }


            istanza.ID = infoCons.SystemID;
            // istanza.DataCreazione = Utils.formattaData(Utils.convertiData(infoCons.Data_Apertura)); //<<<--??
            // istanza.DataInvio = Utils.formattaData(Utils.convertiData(infoCons.Data_Invio));
            istanza.DataCreazione = infoCons.Data_Apertura; //<<<--??
            istanza.DataInvio     = infoCons.Data_Invio;
            // istanza.DataChiusura = Utils.formattaData(DateTime.Now);
            istanza.DataChiusura = Utils.FormattaDataOraIta(DateTime.Now);
            istanza.Descrizione  = infoCons.Descrizione;
            istanza.Tipologia    = infoCons.TipoConservazione;

            DocsPaVO.utente.Ruolo ruolo = BusinessLogic.Utenti.UserManager.getRuolo(infoCons.IdRuoloInUo);
            DocsPaVO.utente.UnitaOrganizzativa unitaOrganizzativa = ruolo.uo;

            List <UnitaOrganizzativa> uoL   = new List <UnitaOrganizzativa>();
            UnitaOrganizzativa        uoXML = Utils.convertiUO(unitaOrganizzativa);

            uoL.Add(uoXML);

            istanza.ResponsabileConservazione = new ResponsabileConservazione {
                Utente = UserManager.getUtente(infoUtenteConservazione.idPeople).descrizione
            };

            istanza.SoggettoProduttore = new SoggettoProduttore {
                Amministrazione = Utils.getInfoAmministrazione(infoCons),
                GerarchiaUO     = uoL.ToArray(),
                Creatore        = Utils.getCreatore(infoCons, ruolo)
            };
        }
Beispiel #11
0
        public static bool insertCorrEsterno(string Codice, string Codrubrica,
                                             string Descrizione, string Tipo_urp,
                                             string Email, string Indirizzo, string Cap,
                                             string Citta, string Prov,
                                             string Cognome, string Nome,
                                             DocsPaVO.utente.InfoUtente infoUtente,
                                             string idRegistro,
                                             DocsPaWS.DocsPaWebService ws)
        {
            #region new
            DocsPaVO.utente.Corrispondente resultCorr = null;
            DocsPaVO.utente.Corrispondente newCorr    = null;

            //DocsPaVO.utente.InfoUtente infoUtente = this.getInfoUtente(this.Utente, this.Ruolo);
            //string idRegistro = this.Registro.systemId;

            try
            {
                switch (Tipo_urp)
                {
                case "U":
                {
                    newCorr = new DocsPaVO.utente.UnitaOrganizzativa();
                    break;
                }

                case "P":
                {
                    newCorr = new DocsPaVO.utente.Utente();
                    ((DocsPaVO.utente.Utente)newCorr).cognome = Cognome;
                    ((DocsPaVO.utente.Utente)newCorr).nome    = Nome;
                    break;
                }

                default:
                    break;
                }

                newCorr.codiceCorrispondente = Codice;
                newCorr.codiceRubrica        = Codrubrica;
                newCorr.descrizione          = Descrizione;
                newCorr.tipoCorrispondente   = Tipo_urp;
                newCorr.email = Email;

                #region dati costanti
                newCorr.idAmministrazione = infoUtente.idAmministrazione;
                newCorr.idRegistro        = idRegistro;
                newCorr.codiceAmm         = "";
                newCorr.codiceAOO         = "";
                //dati canale
                DocsPaVO.utente.Canale canale = new DocsPaVO.utente.Canale();
                canale.systemId    = "2"; //EMAIL
                newCorr.canalePref = canale;

                /*massimo digregorio:
                 * necessari	sulla 2.0...
                 * sulla 3 non ho trovato nulla in riferimento, quindi non li gestisco
                 *              newCorr.tipoIE = "E";
                 *              newCorr.tipoCorrispondente = "S";
                 */

                #endregion dati costanti

                //dati dettagli corrispondente
                DocsPaVO.addressbook.DettagliCorrispondente dettagli = new DocsPaVO.addressbook.DettagliCorrispondente();
                dettagli.Corrispondente.AddCorrispondenteRow(
                    Indirizzo,
                    Citta,
                    Cap,
                    Prov,
                    "",  //nazionalita
                    "",  //txt_telefono1
                    "",  //txt_telefono2
                    "",  //txt_fax
                    "",  //txt_codfisc
                    "",  //txt_note
                    "",  //località
                    "",  // luogoNascita
                    "",  // dataNascita
                    "",  // titolo
                    //"",// partita iva
                    ""); // codice ipa
                newCorr.info     = dettagli;
                newCorr.dettagli = true;

                //eseguo l'inserimento
                resultCorr = ws.AddressbookInsertCorrispondente(newCorr, null, infoUtente);
            }
            catch (Exception e)
            {
                throw new Exception("Errore in inserimento corrispondente esterno - DocsPaWSLite.asmx ERRORE: " + e.Message);
            }
            if (resultCorr != null && resultCorr.errore == null)
            {
                return(true);
            }
            else
            {
                return(false);
            }

            #endregion new
        }
Beispiel #12
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);
        }
Beispiel #13
0
        //5.
        public static DocsPaVO.utente.Corrispondente getCorrispondente(DocsPaVO.OggettiLite.CorrispondenteLite corLite)
        {
            DocsPaVO.utente.Corrispondente corr = new DocsPaVO.utente.Corrispondente();
            if (corLite == null)
            {
                return(null);
            }

            switch (corLite.tipoCorrispondente)
            {
            case "U":
            {
                DocsPaVO.utente.UnitaOrganizzativa corrUO = new DocsPaVO.utente.UnitaOrganizzativa();
                corrUO.cap                = corLite.cap;
                corrUO.citta              = corLite.citta;
                corrUO.codiceAmm          = corLite.codiceAmm;
                corrUO.codiceAOO          = corLite.codiceAOO;
                corrUO.codfisc            = corLite.codfisc;
                corrUO.codiceRubrica      = corLite.codiceRubrica;
                corrUO.descrizione        = corLite.descrizione;
                corrUO.dta_fine           = corLite.dta_fine;
                corrUO.email              = corLite.email;
                corrUO.fax                = corLite.fax;
                corrUO.idAmministrazione  = corLite.idAmministrazione;
                corrUO.idRegistro         = corLite.idRegistro;
                corrUO.indirizzo          = corLite.indirizzo;
                corrUO.localita           = corLite.localita;
                corrUO.nazionalita        = corLite.nazionalita;
                corrUO.note               = corLite.note;
                corrUO.prov               = corLite.prov;
                corrUO.systemId           = corLite.systemId;
                corrUO.telefono1          = corLite.telefono1;
                corrUO.telefono2          = corLite.telefono2;
                corrUO.tipoCorrispondente = corLite.tipoCorrispondente;
                return(corrUO);

                break;
            }

            case "P":
            {
                DocsPaVO.utente.Utente corrP = new DocsPaVO.utente.Utente();
                corrP.cap                = corLite.cap;
                corrP.citta              = corLite.citta;
                corrP.codiceAmm          = corLite.codiceAmm;
                corrP.codiceAOO          = corLite.codiceAOO;
                corrP.codfisc            = corLite.codfisc;
                corrP.codiceRubrica      = corLite.codiceRubrica;
                corrP.descrizione        = corLite.descrizione;
                corrP.dta_fine           = corLite.dta_fine;
                corrP.email              = corLite.email;
                corrP.fax                = corLite.fax;
                corrP.idAmministrazione  = corLite.idAmministrazione;
                corrP.idRegistro         = corLite.idRegistro;
                corrP.indirizzo          = corLite.indirizzo;
                corrP.localita           = corLite.localita;
                corrP.nazionalita        = corLite.nazionalita;
                corrP.note               = corLite.note;
                corrP.prov               = corLite.prov;
                corrP.systemId           = corLite.systemId;
                corrP.telefono1          = corLite.telefono1;
                corrP.telefono2          = corLite.telefono2;
                corrP.tipoCorrispondente = corLite.tipoCorrispondente;
                return(corrP);

                break;
            }

            case "R":
            {
                DocsPaVO.utente.Ruolo corrR = new DocsPaVO.utente.Ruolo();
                corrR.cap                = corLite.cap;
                corrR.citta              = corLite.citta;
                corrR.codiceAmm          = corLite.codiceAmm;
                corrR.codiceAOO          = corLite.codiceAOO;
                corrR.codfisc            = corLite.codfisc;
                corrR.codiceRubrica      = corLite.codiceRubrica;
                corrR.descrizione        = corLite.descrizione;
                corrR.dta_fine           = corLite.dta_fine;
                corrR.email              = corLite.email;
                corrR.fax                = corLite.fax;
                corrR.idAmministrazione  = corLite.idAmministrazione;
                corrR.idRegistro         = corLite.idRegistro;
                corrR.indirizzo          = corLite.indirizzo;
                corrR.localita           = corLite.localita;
                corrR.nazionalita        = corLite.nazionalita;
                corrR.note               = corLite.note;
                corrR.prov               = corLite.prov;
                corrR.systemId           = corLite.systemId;
                corrR.telefono1          = corLite.telefono1;
                corrR.telefono2          = corLite.telefono2;
                corrR.tipoCorrispondente = corLite.tipoCorrispondente;
                return(corrR);

                break;
            }

            default:
            {
                DocsPaVO.utente.Corrispondente corrC = new DocsPaVO.utente.Corrispondente();
                corrC.cap                = corLite.cap;
                corrC.citta              = corLite.citta;
                corrC.codiceAmm          = corLite.codiceAmm;
                corrC.codiceAOO          = corLite.codiceAOO;
                corrC.codfisc            = corLite.codfisc;
                corrC.codiceRubrica      = corLite.codiceRubrica;
                corrC.descrizione        = corLite.descrizione;
                corrC.dta_fine           = corLite.dta_fine;
                corrC.email              = corLite.email;
                corrC.fax                = corLite.fax;
                corrC.idAmministrazione  = corLite.idAmministrazione;
                corrC.idRegistro         = corLite.idRegistro;
                corrC.indirizzo          = corLite.indirizzo;
                corrC.localita           = corLite.localita;
                corrC.nazionalita        = corLite.nazionalita;
                corrC.note               = corLite.note;
                corrC.prov               = corLite.prov;
                corrC.systemId           = corLite.systemId;
                corrC.telefono1          = corLite.telefono1;
                corrC.telefono2          = corLite.telefono2;
                corrC.tipoCorrispondente = corLite.tipoCorrispondente;

                return(corrC);
            }
                return(corr);
            }
            return(corr);
        }
Beispiel #14
0
        public void GetRuoliRiferimentoEsterni(out DataSet dataSet, DocsPaVO.addressbook.QueryCorrispondenteAutorizzato qc, DocsPaVO.utente.UnitaOrganizzativa uo)
        {
            DocsPaUtils.Query q        = DocsPaUtils.InitQuery.getInstance().getQuery("S_J_DPA_CORR_GLOBALI__TIPO_RUOLO3");
            string            idUO     = uo.systemId;
            string            strWhere = "";

            //condizione sulle autorizzazioni (registro, nodo di titolario)
            //condizione sulla gerarchia
            //elisa e sabri
            System.Collections.ArrayList ListaUO = new System.Collections.ArrayList();
            if (qc.ragione.tipoDestinatario.ToString() == DocsPaVO.trasmissione.TipoGerarchia.SUPERIORE.ToString())
            {
                DocsPaDB.Utils.Gerarchia gerarchia = new DocsPaDB.Utils.Gerarchia();
                ListaUO = gerarchia.getParentUO(qc.ruolo);
                ListaUO.Add(qc.ruolo.uo.systemId);
            }
            else if (qc.ragione.tipoDestinatario.ToString() == DocsPaVO.trasmissione.TipoGerarchia.INFERIORE.ToString())
            {
                DocsPaDB.Utils.Gerarchia gerarchia = new DocsPaDB.Utils.Gerarchia();
                ListaUO = gerarchia.getChildrenUO(qc.ruolo);
                ListaUO.Add(qc.ruolo.uo.systemId);
            }
            else if (qc.ragione.tipoDestinatario.ToString() == DocsPaVO.trasmissione.TipoGerarchia.PARILIVELLO.ToString())
            {
                DocsPaDB.Utils.Gerarchia gerarchia = new DocsPaDB.Utils.Gerarchia();
                ListaUO = gerarchia.getPariUO(qc.ruolo);
                ListaUO.Add(qc.ruolo.uo.systemId);
            }
            else
            {
                //				DocsPaDB.Utils.Gerarchia gerarchia = new DocsPaDB.Utils.Gerarchia();
                ListaUO = null;
                //				ListaUO.Add(qc.ruolo.uo.systemId);
            }


            //			strWhere = getQueryAut(qc.tipoOggetto,qc.idRegistro,qc.idNodoTitolario,qc.ruolo,null,qc.ragione.tipoDestinatario.ToString());
            strWhere  = getQueryAut(qc.tipoOggetto, null, qc.idNodoTitolario, qc.ruolo, ListaUO, qc.ragione.tipoDestinatario.ToString());
            strWhere += " AND A.CHA_TIPO_URP='R' AND A.ID_UO=" + idUO + " AND A.CHA_TIPO_IE = 'I'";
            if (qc.queryCorrispondente != null && qc.queryCorrispondente.fineValidita)
            {
                strWhere += " AND A.DTA_FINE IS NULL";
            }
            q.setParam("param1", strWhere);
            string sql = q.getSQL();

            logger.Debug(sql);
            this.ExecuteQuery(out dataSet, "RUOLI_RIF_EST", sql);
        }
Beispiel #15
0
        public SaveElementiResponse SaveElementi(SaveElementiRequest request)
        {
            SaveElementiResponse response = new SaveElementiResponse();

            DocsPaVO.utente.InfoUtente infoUtente = new DocsPaVO.utente.InfoUtente();

            try
            {
                using (DocsPaWebService ws = new DocsPaWebService())
                {
                    foreach (var elem in request.Elementi)
                    {
                        bool insertMode = (string.IsNullOrEmpty(elem.Id) || elem.Id == "0");

                        DocsPaVO.utente.Corrispondente corrispondente = null;

                        if (insertMode)
                        {
                            // Per ora, inserimento solo di unità organizzative
                            corrispondente = new DocsPaVO.utente.UnitaOrganizzativa();
                            corrispondente.tipoCorrispondente = "U";

                            corrispondente.idRegistro           = elem.IdRegistro;
                            corrispondente.codiceCorrispondente = (elem.Codice ?? string.Empty).Replace("'", "''");
                            corrispondente.codiceRubrica        = (elem.Codice ?? string.Empty).Replace("'", "''");

                            corrispondente.descrizione    = (elem.Descrizione ?? string.Empty).Replace("'", "''");
                            corrispondente.indirizzo      = (elem.Indirizzo ?? string.Empty).Replace("'", "''");
                            corrispondente.citta          = (elem.Citta ?? string.Empty).Replace("'", "''");
                            corrispondente.cap            = (elem.CAP ?? string.Empty).Replace("'", "''");
                            corrispondente.prov           = (elem.Provincia ?? string.Empty).Replace("'", "''");
                            corrispondente.nazionalita    = (elem.Nazione ?? string.Empty).Replace("'", "''");
                            corrispondente.telefono1      = (elem.Telefono ?? string.Empty).Replace("'", "''");
                            corrispondente.telefono2      = (elem.Telefono2 ?? string.Empty).Replace("'", "''");
                            corrispondente.fax            = (elem.Fax ?? string.Empty).Replace("'", "''");
                            corrispondente.codfisc        = (elem.CodiceFiscale ?? string.Empty).Replace("'", "''");
                            corrispondente.note           = (elem.Note ?? string.Empty).Replace("'", "''");
                            corrispondente.localita       = (elem.Localita ?? string.Empty).Replace("'", "''");
                            corrispondente.luogoDINascita = (elem.LuogoNascita ?? string.Empty).Replace("'", "''");
                            corrispondente.dataNascita    = (elem.DataNascita ?? string.Empty).Replace("'", "''");
                            corrispondente.titolo         = (elem.Titolo ?? string.Empty).Replace("'", "''");
                            corrispondente.email          = (elem.Email ?? string.Empty).Replace("'", "''");
                            corrispondente.dettagli       = true;

                            DocsPaVO.addressbook.DettagliCorrispondente dataSet = new DocsPaVO.addressbook.DettagliCorrispondente();
                            var rowCorrispondente = dataSet.Corrispondente.NewCorrispondenteRow();

                            rowCorrispondente.indirizzo     = (elem.Indirizzo ?? string.Empty).Replace("'", "''");
                            rowCorrispondente.citta         = (elem.Citta ?? string.Empty).Replace("'", "''");
                            rowCorrispondente.cap           = (elem.CAP ?? string.Empty).Replace("'", "''");
                            rowCorrispondente.provincia     = (elem.Provincia ?? string.Empty).Replace("'", "''");
                            rowCorrispondente.nazione       = (elem.Nazione ?? string.Empty).Replace("'", "''");
                            rowCorrispondente.telefono      = (elem.Telefono ?? string.Empty).Replace("'", "''");
                            rowCorrispondente.telefono2     = (elem.Telefono2 ?? string.Empty).Replace("'", "''");
                            rowCorrispondente.fax           = (elem.Fax ?? string.Empty).Replace("'", "''");
                            rowCorrispondente.codiceFiscale = (elem.CodiceFiscale ?? string.Empty).Replace("'", "''");
                            rowCorrispondente.note          = (elem.Note ?? string.Empty).Replace("'", "''");
                            rowCorrispondente.localita      = (elem.Localita ?? string.Empty).Replace("'", "''");
                            rowCorrispondente.dataNascita   = (elem.DataNascita ?? string.Empty).Replace("'", "''");
                            rowCorrispondente.luogoNascita  = (elem.LuogoNascita ?? string.Empty).Replace("'", "''");
                            rowCorrispondente.titolo        = (elem.Titolo ?? string.Empty).Replace("'", "''");

                            dataSet.Corrispondente.AddCorrispondenteRow(rowCorrispondente);

                            corrispondente.info = dataSet;

                            corrispondente = ws.AddressbookInsertCorrispondente(corrispondente, null, request.InfoUtente);

                            if (corrispondente == null)
                            {
                                throw new ApplicationException("Si è verificato un errore nell'inserimento dei dati dell'elemento");
                            }

                            elem.Id = corrispondente.systemId;
                            response.Elementi.Add(elem);
                        }
                        else
                        {
                            corrispondente = BusinessLogic.Utenti.UserManager.getCorrispondenteBySystemID(elem.Id);

                            DocsPaVO.utente.DatiModificaCorr datiModifica = new DocsPaVO.utente.DatiModificaCorr
                            {
                                idCorrGlobali = corrispondente.systemId,
                                descCorr      = (elem.Descrizione ?? string.Empty).Replace("'", "''"),
                                indirizzo     = (elem.Indirizzo ?? string.Empty).Replace("'", "''"),
                                citta         = (elem.Citta ?? string.Empty).Replace("'", "''"),
                                cap           = (elem.CAP ?? string.Empty).Replace("'", "''"),
                                provincia     = (elem.Provincia ?? string.Empty).Replace("'", "''"),
                                nazione       = (elem.Nazione ?? string.Empty).Replace("'", "''"),
                                telefono      = (elem.Telefono ?? string.Empty).Replace("'", "''"),
                                telefono2     = (elem.Telefono2 ?? string.Empty).Replace("'", "''"),
                                fax           = (elem.Fax ?? string.Empty).Replace("'", "''"),
                                codFiscale    = (elem.CodiceFiscale ?? string.Empty).Replace("'", "''"),
                                note          = (elem.Note ?? string.Empty).Replace("'", "''"),
                                localita      = (elem.Localita ?? string.Empty).Replace("'", "''"),
                                luogoNascita  = (elem.LuogoNascita ?? string.Empty).Replace("'", "''"),
                                dataNascita   = (elem.DataNascita ?? string.Empty).Replace("'", "''"),
                                titolo        = (elem.Titolo ?? string.Empty).Replace("'", "''"),
                                email         = (elem.Email ?? string.Empty).Replace("'", "''")
                            };

                            string newIdCorrispondente;
                            string errorMessage;

                            if (!BusinessLogic.Utenti.UserManager.ModifyCorrispondenteEsterno(datiModifica, infoUtente, out newIdCorrispondente, out errorMessage))
                            {
                                throw new ApplicationException(errorMessage);
                            }

                            if (!string.IsNullOrEmpty(newIdCorrispondente))
                            {
                                int newIdCorrispondenteAsInt;
                                if (Int32.TryParse(newIdCorrispondente, out newIdCorrispondenteAsInt))
                                {
                                    if (newIdCorrispondenteAsInt > 0)
                                    {
                                        elem.Id = newIdCorrispondenteAsInt.ToString();
                                    }
                                }
                            }

                            response.Elementi.Add(elem);
                        }
                    }
                }

                response.Success = true;
            }
            catch (Exception ex)
            {
                response         = new SaveElementiResponse();
                response.Success = false;

                if (request.TrowOnError)
                {
                    throw DocsPaUtils.Exceptions.SoapExceptionFactory.Create(ex);
                }
                else
                {
                    response.Exception = ex.Message;
                }
            }

            return(response);
        }
Beispiel #16
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="trasmissione"></param>
        /// <param name="corr"></param>
        /// <param name="ragione"></param>
        /// <param name="note"></param>
        /// <param name="tipoTrasm"></param>
        /// <param name="scadenza"></param>
        /// <returns></returns>
        public static DocsPaVO.trasmissione.Trasmissione addTrasmissioneSingola(
            DocsPaVO.utente.InfoUtente infoUtente,
            DocsPaVO.trasmissione.Trasmissione trasmissione,
            DocsPaVO.utente.Corrispondente corr,
            DocsPaVO.trasmissione.RagioneTrasmissione ragione,
            string note,
            string tipoTrasm,
            int scadenza)
        {
            if (trasmissione.trasmissioniSingole != null)
            {
                // controllo se esiste la trasmissione singola associata a corrispondente selezionato

                foreach (DocsPaVO.trasmissione.TrasmissioneSingola ts in trasmissione.trasmissioniSingole)
                {
                    if (ts.corrispondenteInterno.systemId.Equals(corr.systemId))
                    {
                        if (ts.daEliminare)
                        {
                            ts.daEliminare = false;
                            return(trasmissione);
                        }
                        else
                        {
                            return(trasmissione);
                        }
                    }
                }
            }

            // Aggiungo la trasmissione singola
            DocsPaVO.trasmissione.TrasmissioneSingola trasmissioneSingola = new DocsPaVO.trasmissione.TrasmissioneSingola();
            trasmissioneSingola.tipoTrasm             = tipoTrasm;
            trasmissioneSingola.corrispondenteInterno = corr;
            trasmissioneSingola.ragione     = ragione;
            trasmissioneSingola.noteSingole = note;
            //Imposto la data di scadenza
            if (scadenza > 0)
            {
                string          dataScadenza = "";
                System.DateTime data         = System.DateTime.Now.AddDays(scadenza);
                dataScadenza = data.Day + "/" + data.Month + "/" + data.Year;
                trasmissioneSingola.dataScadenza = dataScadenza;
            }

            // Aggiungo la lista di trasmissioniUtente
            if (corr is DocsPaVO.utente.Ruolo)
            {
                trasmissioneSingola.tipoDest = DocsPaVO.trasmissione.TipoDestinatario.RUOLO;

                DocsPaVO.utente.Corrispondente[] listaUtenti = queryUtenti(infoUtente, corr);

                if (listaUtenti.Length == 0)
                {
                    trasmissioneSingola = null;
                }

                //ciclo per utenti se dest è gruppo o ruolo
                for (int i = 0; i < listaUtenti.Length; i++)
                {
                    DocsPaVO.trasmissione.TrasmissioneUtente trasmissioneUtente = new DocsPaVO.trasmissione.TrasmissioneUtente();
                    trasmissioneUtente.utente = (DocsPaVO.utente.Utente)listaUtenti[i];
                    trasmissioneSingola.trasmissioneUtente.Add(trasmissioneUtente);
                }
            }

            if (corr is DocsPaVO.utente.Utente)
            {
                trasmissioneSingola.tipoDest = DocsPaVO.trasmissione.TipoDestinatario.UTENTE;
                DocsPaVO.trasmissione.TrasmissioneUtente trasmissioneUtente = new DocsPaVO.trasmissione.TrasmissioneUtente();
                trasmissioneUtente.utente = (DocsPaVO.utente.Utente)corr;
                trasmissioneSingola.trasmissioneUtente.Add(trasmissioneUtente);
            }

            if (corr is DocsPaVO.utente.UnitaOrganizzativa)
            {
                DocsPaVO.utente.UnitaOrganizzativa theUo = (DocsPaVO.utente.UnitaOrganizzativa)corr;
                DocsPaVO.addressbook.QueryCorrispondenteAutorizzato qca = new DocsPaVO.addressbook.QueryCorrispondenteAutorizzato();
                qca.ragione = trasmissioneSingola.ragione;
                qca.ruolo   = trasmissione.ruolo;

                System.Collections.ArrayList ruoli = BusinessLogic.Utenti.addressBookManager.getRuoliRiferimentoAutorizzati(qca, theUo);
                foreach (DocsPaVO.utente.Ruolo r in ruoli)
                {
                    trasmissione = addTrasmissioneSingola(infoUtente, trasmissione, r, ragione, note, tipoTrasm, scadenza);
                }

                return(trasmissione);
            }

            if (trasmissioneSingola != null)
            {
                trasmissione.trasmissioniSingole.Add(trasmissioneSingola);
            }

            return(trasmissione);
        }