예제 #1
0
        public static string getProvenienzaMitt(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;
            }
            if (corr != null)
            {
                string systemId = null;
                if (corr.GetType().Equals(typeof(DocsPaVO.utente.Utente)) || corr.GetType().Equals(typeof(DocsPaVO.utente.UnitaOrganizzativa)))
                {
                    systemId = corr.systemId;
                    //res=getCorrectString(utente.);
                }
                if (corr.GetType().Equals(typeof(DocsPaVO.utente.Ruolo)))
                {
                    DocsPaVO.utente.Ruolo ruolo = (DocsPaVO.utente.Ruolo)corr;
                    if (ruolo.uo != null)
                    {
                        systemId = ruolo.uo.systemId;
                    }
                }
                res = getCorrectString(getCitta(systemId));
            }
            return(res);
        }
예제 #2
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);
                            }
                        }
                    }
                }
            }
        }
예제 #3
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;
        }
예제 #4
0
        public static string getDataProtMitt(DocsPaVO.documento.SchedaDocumento schedaDoc)
        {
            string res = "";

            if (schedaDoc.protocollo.GetType().Equals(typeof(DocsPaVO.documento.ProtocolloEntrata)))
            {
                DocsPaVO.documento.ProtocolloEntrata pe = (DocsPaVO.documento.ProtocolloEntrata)schedaDoc.protocollo;
                res = getDate(pe.dataProtocolloMittente);
            }
            else
            {
                res = "";
            }
            return(res);
        }
예제 #5
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;
            }
        }
예제 #6
0
        internal static DocsPaVO.documento.SchedaDocumento setProtoArrivo(DocsPaVO.documento.SchedaDocumento schedaDocumento, DocsPaVO.documento.ProtocolloEmergenza protoEmergenza)
        {
            DocsPaVO.documento.ProtocolloEntrata proto = new DocsPaVO.documento.ProtocolloEntrata();
            //proto.daProtocollare = "1";
            if (protoEmergenza.dataProtocolloMittente != null &&
                protoEmergenza.dataProtocolloMittente != "")
            {
                protoEmergenza.dataProtocolloMittente = protoEmergenza.dataProtocolloMittente.Trim();
                if (protoEmergenza.dataProtocolloMittente.Length < 10)
                {
                    //anno di 2 cifre, non va su docspa:
                    DateTime d = new DateTime();
                    d = System.Convert.ToDateTime(protoEmergenza.dataProtocolloMittente);
                    string day   = d.Day.ToString();
                    string month = d.Month.ToString();
                    if (day != null && day.Length == 1)
                    {
                        day = "0" + day;
                    }
                    if (month != null && month.Length == 1)
                    {
                        month = "0" + month;
                    }
                    protoEmergenza.dataProtocolloMittente = day + "/" + month + "/" + d.Year.ToString();
                }
            }
            proto.dataProtocolloMittente        = protoEmergenza.dataProtocolloMittente;
            proto.descrizioneProtocolloMittente = protoEmergenza.numeroProtocolloMittente;

            //mittente
            DocsPaVO.utente.Corrispondente mittente = new DocsPaVO.utente.Corrispondente();
            mittente.descrizione       = protoEmergenza.mittenti[0].ToString();
            proto.mittente             = mittente;
            schedaDocumento.protocollo = proto;

            return(schedaDocumento);
        }
예제 #7
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);
        }
예제 #8
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);
        }
예제 #9
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;
            }
        }
예제 #10
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);
        }
예제 #11
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);
        }
예제 #12
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="serverName"></param>
        /// <param name="path"></param>
        /// <param name="messaggio"></param>
        /// <param name="infoUtente"></param>
        /// <param name="ruolo"></param>
        /// <param name="registro"></param>
        /// <param name="destinatario"></param>
        private static void processaMessaggio(string serverName, string path, ZfLib.Message messaggio, DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.utente.Ruolo ruolo, DocsPaVO.utente.Registro registro, DocsPaVO.utente.Corrispondente destinatario)
        {
            logger.Debug("processaMessaggio");
            System.IO.FileStream fs = null;
            bool daAggiornareUffRef = false;
            bool dbOpen             = false;
            bool fsOpen             = false;

            try
            {
                //informazioni sul fax
                string dataRic = messaggio.GetMsgHistories()[0].Date.ToString();
                logger.Debug(" @ dataric = " + dataRic);

                //accesso al file del fax
                fs = getFileStream(path + messaggio.GetMsgInfo().Body);              //=new System.IO.FileStream(path+messaggio.GetMsgInfo().Body+".G3N",System.IO.FileMode.Open,System.IO.FileAccess.ReadWrite,System.IO.FileShare.ReadWrite);

                logger.Debug(fs.CanRead.ToString() + "@ OK @");
                fsOpen = true;

                //creazione scheda documento
                DocsPaVO.documento.SchedaDocumento sd = new DocsPaVO.documento.SchedaDocumento();
                sd.idPeople = infoUtente.idPeople;

                logger.Debug("sd.idPeople = " + sd.idPeople.ToString());

                sd.userId = infoUtente.userId;
                logger.Debug("sd.userId = " + sd.userId.ToString());
                DocsPaVO.documento.Oggetto ogg = new DocsPaVO.documento.Oggetto();
                ogg.descrizione = "Fax ricevuto in data " + dataRic;              //DA COMPLETARE
                sd.oggetto      = ogg;
                sd.predisponiProtocollazione = true;
                sd.registro  = registro;
                sd.tipoProto = "A";
                sd.typeId    = "MAIL";

                //aggiunta protocollo entrata
                DocsPaVO.documento.ProtocolloEntrata protEntr = new DocsPaVO.documento.ProtocolloEntrata();
                DocsPaVO.utente.Corrispondente       mittente = new DocsPaVO.utente.Corrispondente();
                mittente.descrizione = messaggio.GetMsgInfo().Comment;
                logger.Debug(" @ mittente.descrizione = " + mittente.descrizione);               //"QUI SI METTONO INFORMAZIONI";
                protEntr.mittente = mittente;

                sd.protocollo = protEntr;
                protEntr.dataProtocollazione = System.DateTime.Today.ToString();
                sd.appId = "ACROBAT";
                sd       = BusinessLogic.Documenti.DocSave.addDocGrigia(sd, infoUtente, ruolo);
                logger.Debug("Salvataggio doc...");
                sd = BusinessLogic.Documenti.DocSave.save(infoUtente, sd, false, out daAggiornareUffRef, ruolo);
                logger.Debug("Salvataggio eseguito");
                DocsPaVO.documento.FileDocumento fd = new DocsPaVO.documento.FileDocumento();
                byte[] buffer = new byte[fs.Length];
                fs.Read(buffer, 0, (int)fs.Length);
                fd.content = buffer;
                fd.length  = buffer.Length;
                fd.name    = "fax.tif";

                BusinessLogic.Documenti.FileManager.putFile((DocsPaVO.documento.FileRequest)sd.documenti[0], fd, infoUtente);
                logger.Debug("Documento inserito");
                fs.Close();
                fsOpen = false;

                //TRASMISSIONE
                DocsPaVO.trasmissione.Trasmissione trasm = new DocsPaVO.trasmissione.Trasmissione();
                trasm.ruolo = ruolo;
                //db.openConnection();
                dbOpen       = true;
                trasm.utente = BusinessLogic.Utenti.UserManager.getUtente(infoUtente.idPeople);
                DocsPaVO.documento.InfoDocumento infoDoc = new DocsPaVO.documento.InfoDocumento();
                infoDoc.idProfile   = sd.systemId;
                infoDoc.docNumber   = sd.docNumber;
                infoDoc.oggetto     = sd.oggetto.descrizione;
                infoDoc.tipoProto   = "A";
                trasm.infoDocumento = infoDoc;
                //costruzione singole trasmissioni
                DocsPaVO.trasmissione.RagioneTrasmissione ragione = getRagioneTrasm();
                System.Collections.ArrayList dest = new System.Collections.ArrayList();
                dest.Add(destinatario);
                System.Collections.ArrayList trasmissioniSing = new System.Collections.ArrayList();

                for (int i = 0; i < dest.Count; i++)
                {
                    DocsPaVO.trasmissione.TrasmissioneSingola trSing = new DocsPaVO.trasmissione.TrasmissioneSingola();
                    trSing.ragione = ragione;
                    logger.Debug(dest[i].GetType().ToString());
                    if (dest[i].GetType().Equals(typeof(DocsPaVO.utente.Ruolo)))
                    {
                        logger.Debug("ruolo");
                        trSing.corrispondenteInterno = (DocsPaVO.utente.Ruolo)dest[i];
                    }
                    else
                    {
                        logger.Debug("utente");
                        trSing.corrispondenteInterno = (DocsPaVO.utente.Utente)dest[i];
                    }
                    logger.Debug("ok");
                    trSing.tipoTrasm = "S";
                    if (dest[i].GetType().Equals(typeof(DocsPaVO.utente.Ruolo)))
                    {
                        logger.Debug("caso ruolo");
                        trSing.tipoDest = DocsPaVO.trasmissione.TipoDestinatario.RUOLO;
                        //ricerca degli utenti del ruolo
                        System.Collections.ArrayList             utenti = new System.Collections.ArrayList();
                        DocsPaVO.addressbook.QueryCorrispondente qc     = new DocsPaVO.addressbook.QueryCorrispondente();
                        qc.codiceRubrica = ((DocsPaVO.utente.Ruolo)dest[i]).codiceRubrica;
                        System.Collections.ArrayList registri = new System.Collections.ArrayList();
                        registri.Add(registro.systemId);
                        qc.idRegistri        = registri;
                        qc.idAmministrazione = registro.idAmministrazione;
                        qc.getChildren       = true;
                        utenti = BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qc);
                        System.Collections.ArrayList trasmissioniUt = new System.Collections.ArrayList();
                        for (int k = 0; k < utenti.Count; k++)
                        {
                            DocsPaVO.trasmissione.TrasmissioneUtente trUt = new DocsPaVO.trasmissione.TrasmissioneUtente();
                            trUt.utente = (DocsPaVO.utente.Utente)utenti[k];
                            trasmissioniUt.Add(trUt);
                        }
                        trSing.trasmissioneUtente = trasmissioniUt;
                    }
                    else
                    {
                        logger.Debug("Caso utente");
                        trSing.tipoDest = DocsPaVO.trasmissione.TipoDestinatario.UTENTE;
                        System.Collections.ArrayList             trasmissioniUt = new System.Collections.ArrayList();
                        DocsPaVO.trasmissione.TrasmissioneUtente trUt           = new DocsPaVO.trasmissione.TrasmissioneUtente();
                        trUt.utente = (DocsPaVO.utente.Utente)dest[i];
                        trasmissioniUt.Add(trUt);
                        trSing.trasmissioneUtente = trasmissioniUt;
                    }
                    trasmissioniSing.Add(trSing);
                }

                trasm.trasmissioniSingole = trasmissioniSing;
                if (infoUtente.delegato != null)
                {
                    trasm.delegato = ((DocsPaVO.utente.InfoUtente)(infoUtente.delegato)).idPeople;
                }
                //BusinessLogic.Trasmissioni.TrasmManager.saveTrasmMethod(trasm);
                //BusinessLogic.Trasmissioni.ExecTrasmManager.executeTrasmMethod(serverName,trasm);
                BusinessLogic.Trasmissioni.ExecTrasmManager.saveExecuteTrasmMethod(serverName, trasm);
            }
            catch (Exception e)
            {
                logger.Debug(e.Message);
                if (fsOpen)
                {
                    fs.Close();
                }
                if (dbOpen)
                {
                    //db.closeConnection();
                }

                logger.Debug("Errore nella gestione dei fax (processaMessaggio)", e);
                throw e;
            }
        }
예제 #13
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
            }
        }