Example #1
0
        /// <summary>
        /// </summary>
        /// <param name="idAmministrazione"></param>
        /// <param name="oggetto"></param>
        /// <returns></returns>
        public static bool modificaOggetto(string idAmministrazione, DocsPaVO.documento.Oggetto oggetto)
        {
            bool result;

            logger.Debug("START : DocsPAWS > documenti > Oggettario.cs > modificaOggetto");
            DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti();

            logger.Debug("CALL : UpdateOggettario");
            result = doc.UpdateOggettario(idAmministrazione, oggetto);

            logger.Debug("END : DocsPAWS > documenti > Oggettario.cs > modificaOggetto");
            return(result);
        }
Example #2
0
        ///// <summary>
        /////
        ///// </summary>
        ///// <param name="obj"></param>
        ///// <returns></returns>
        //private static byte[] GetObjectStream(object obj)
        //{
        //    byte[] content = null;

        //    if (obj != null)
        //    {
        //        using (MemoryStream ms = new MemoryStream())
        //        {
        //            BinaryFormatter formatter = new BinaryFormatter();
        //            formatter.Serialize(ms, obj);

        //            ms.Position = 0;

        //            content = new byte[ms.Length];
        //            ms.Read(content, 0, content.Length);
        //        }
        //    }

        //    return content;
        //}

        /// <summary>
        /// Uguaglianza tra due oggetti di un documento
        /// </summary>
        /// <param name="document"></param>
        /// <param name="savedDocument"></param>
        /// <returns></returns>
        private static bool AreEquals(DocsPaVO.documento.Oggetto o1, DocsPaVO.documento.Oggetto o2)
        {
            if (o1 == null || o2 == null)
            {
                return(false);
            }

            if (string.Compare(o1.systemId, o2.systemId, true) != 0)
            {
                return(false);
            }

            if (string.Compare(o1.descrizione, o2.descrizione, true) != 0)
            {
                return(false);
            }

            return(true);
        }
Example #3
0
        /// <summary>
        /// </summary>
        /// <param name="oggetto"></param>
        /// <param name="registro"></param>
        /// <param name="infoUtente"></param>
        /// <returns></returns>
        public static DocsPaVO.documento.Oggetto inserisciOggetto(string idAmministrazione, DocsPaVO.documento.Oggetto oggetto, DocsPaVO.utente.Registro registro, ref string errMsg)
        {
            logger.Debug("START : DocsPAWS > documenti > Oggettario.cs > inserisciOggetto");
            DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti();

            logger.Debug("CALL : InsertOggettario");
            oggetto = doc.InsertOggettario(idAmministrazione, oggetto, registro, ref errMsg);

            #region Codice Commentato

            /*DocsPaWS.Utils.Database db = DocsPaWS.Utils.dbControl.getDatabase();
             *
             * db.openConnection();
             * string id_registro;
             * string id_amministrazione;
             * if (registro != null)
             * {
             *      id_registro = registro.systemId;
             * }
             * else
             * {
             *      id_registro = "null";
             * }
             * id_amministrazione = infoUtente.idAmministrazione;
             *
             * string numOggetti= checkOggetto(oggetto, registro,id_amministrazione,db);
             * if (!numOggetti.Equals("0"))
             * {
             *      throw new Exception("Oggetto giĆ  presente");
             * }
             *
             * try
             * {
             *      string insertString =
             *              "INSERT INTO DPA_OGGETTARIO " +
             *              "(" + DocsPaWS.Utils.dbControl.getSystemIdColName() + " ID_REGISTRO, ID_AMM, VAR_DESC_OGGETTO, CHA_OCCASIONALE) " +
             *              " VALUES (" + DocsPaWS.Utils.dbControl.getSystemIdNextVal("DPA_OGGETTARIO") +
             *              id_registro + ", " + id_amministrazione + ", '" + oggetto.descrizione.Replace("'", "''") + "', '0')";
             *
             *      logger.Debug(insertString);
             *      oggetto.systemId = db.insertLocked(insertString, "DPA_OGGETTARIO");
             *
             *      db.closeConnection();
             *
             * }
             * catch (Exception e)
             * {
             *      logger.Debug (e.Message);
             *      db.closeConnection();
             *      throw new Exception("F_System");
             * }*/
            #endregion

            logger.Debug("END : DocsPAWS > documenti > Oggettario.cs > inserisciOggetto");
            return(oggetto);
        }
Example #4
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;
            }
        }
Example #5
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;
            }
        }