Exemple #1
0
        /// <summary>
        /// GetInfoDocumento: metodo che popola il VO per il trasferimento dei dati al frontend
        /// </summary>
        /// <param name="dr">DataRow contenente i dati</param>
        /// <param name="co">CommonObject</param>
        /// <returns>Un VO popolato</returns>
        private DocsPaVO.documento.InfoDocumento GetInfoDocumento(DataRow row)
        {
            //Creiamo l'oggetto che restituiremo
            DocsPaVO.documento.InfoDocumento infoDoc = new DocsPaVO.documento.InfoDocumento();

            //Popoliamo l'oggetto
            infoDoc.idProfile    = row["SYSTEM_ID"].ToString();
            infoDoc.docNumber    = row["DOCNUMBER"].ToString();
            infoDoc.numProt      = row["NUM_PROTO"].ToString();
            infoDoc.dataApertura = row["DATA"].ToString();
            infoDoc.tipoProto    = row["A_P"].ToString();
            //aggiunto per gestire gli allegati
            if (row["ID_DOCUMENTO_PRINCIPALE"] != DBNull.Value)
            {
                infoDoc.allegato = (Convert.ToInt32(row["ID_DOCUMENTO_PRINCIPALE"]) > 0);
            }

            ArrayList mitt = this.GetElencoCorrispondenti(infoDoc.idProfile);

            infoDoc.mittDest = mitt;

            infoDoc.idRegistro  = row["ID_REGISTRO"].ToString();
            infoDoc.codRegistro = string.Empty;

//			if (infoDoc.idRegistro.Length>0)
//				infoDoc.codRegistro = row["codRegistro"].ToString();

            infoDoc.oggetto   = row["OGGETTO"].ToString();
            infoDoc.segnatura = row["VAR_SEGNATURA"].ToString();

            //nella ricerca FULL_TEXT, il file c'è sempre.
            infoDoc.acquisitaImmagine = row["CHA_IMG"].ToString();

            return(infoDoc);
        }
Exemple #2
0
 /// <summary>
 /// Reperimento dell'ultima nota visibile dall'utente associata al documento
 /// </summary>
 /// <param name="infoUtente"></param>
 /// <param name="infoDocumento"></param>
 /// <returns></returns>
 public static string GetNotaDocumento(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.documento.InfoDocumento infoDocumento)
 {
     return(BusinessLogic.Note.NoteManager.GetUltimaNotaAsString(infoUtente,
                                                                 new DocsPaVO.Note.AssociazioneNota {
         Id = infoDocumento.idProfile, TipoOggetto = DocsPaVO.Note.AssociazioneNota.OggettiAssociazioniNotaEnum.Documento
     }));
 }
Exemple #3
0
        public ArrayList GetDocumentiETDOCS(string[] resultKeys, InfoUtente infoUtente)
        {
            logger.Debug("GetDocumentiETDOCS_NO_SECURITY");

            string resultQuery = this.GetSearchResultFilterCriteriaETDOCS(resultKeys);

            ArrayList result = new ArrayList();

            string queryString = "";

            DocsPaUtils.Query q;
            q = DocsPaUtils.InitQuery.getInstance().getQuery("S_FULLTEXT_GET_DOCUMENTI");
            q.setParam("param", resultQuery);
            q.setParam("creationDate", DocsPaDbManagement.Functions.Functions.ToChar("P.CREATION_DATE", false));
            q.setParam("dbuser", DocsPaDbManagement.Functions.Functions.GetDbUserSession());
            queryString = q.getSQL();
            logger.Debug(queryString);

            DataSet dsp = new DataSet();

            this.ExecuteQuery(out dsp, "PROFILE", queryString);

            // recupero informazioni documenti
            foreach (DataRow dr in dsp.Tables[0].Rows)
            {
                DocsPaVO.documento.InfoDocumento tmp = this.GetInfoDocumento(dr);
                result.Add(tmp);
                tmp = null;
            }

            return(result);
        }
Exemple #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="docNumber"></param>
        /// <returns></returns>
        public static DocsPaVO.documento.InfoDocumento GetDocumento(DocsPaVO.utente.InfoUtente infoUtente, string docNumber)
        {
            DocsPaVO.documento.InfoDocumento infoDocumento = BusinessLogic.Documenti.DocManager.GetInfoDocumento(infoUtente, docNumber, docNumber, true);

            if (infoDocumento == null)
            {
                throw new ApplicationException(string.Format("Documento con id {0} non trovato", docNumber));
            }

            return(infoDocumento);
        }
Exemple #5
0
        public ArrayList GetDocumentiFilenet(string[] resultKeys, InfoUtente infoUtente)
        {
            logger.Debug("GetDocumenti");

            string resultQuery = this.GetSearchResultFilterCriteria(resultKeys);

            ArrayList result = new ArrayList();

            string querySql = "SELECT DISTINCT " +
                              "P.SYSTEM_ID,P.DOCNUMBER, " +
                              "P.NUM_PROTO, " +
                              "P.VAR_SEGNATURA, " +
                              DocsPaDbManagement.Functions.Functions.ToChar("P.CREATION_DATE", false) + " AS DATA, " +
                              "P.ID_REGISTRO AS ID_REGISTRO, " +
                              // "R.VAR_CODICE As codRegistro, " +
                              "P.CHA_TIPO_PROTO As A_P, " +
                              "P.VAR_PROF_OGGETTO AS OGGETTO, " +
                              "P.SYSTEM_ID, " +
                              "P.CHA_IMG AS CHA_IMG, " +     //aggiunto
                              "P.ID_DOCUMENTO_PRINCIPALE " + //aggiunto
                              "FROM	PROFILE P,SECURITY S,DPA_EL_REGISTRI R " +
                              "WHERE	P.DOCNUMBER IN ("+ resultQuery + ")  " +
                              "AND (S.ACCESSRIGHTS >= 0   " +
                              "AND (S.PERSONORGROUP = " + infoUtente.idPeople + " OR S.PERSONORGROUP=" + infoUtente.idGruppo + "))  " +
                              "AND S.THING = P.SYSTEM_ID " +
                              "AND (R.SYSTEM_ID=P.ID_REGISTRO OR P.ID_REGISTRO IS NULL)";

            logger.Debug(querySql);

            DataSet ds = new DataSet();

            this.ExecuteQuery(out ds, "PROFILE", querySql);

            // recupero informazioni
            foreach (DataRow dr in ds.Tables["PROFILE"].Rows)
            {
                DocsPaVO.documento.InfoDocumento tmp = this.GetInfoDocumento(dr);
                result.Add(tmp);
                tmp = null;
            }

            ds = null;

            return(result);
        }
Exemple #6
0
        /// <summary>
        /// Inserisce in deposito una serie di documenti
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="template"></param>
        /// <returns></returns>
        public static int TrasfInDepositoSerie(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.ProfilazioneDinamica.Templates template, string anno, string valOggetto, string tipoOp, string rfAOO)
        {
            bool result    = false;
            int  docInDep2 = 0;

            using (DocsPaDB.TransactionContext transactionalContext = new DocsPaDB.TransactionContext())
            {
                ArrayList listaInfoDoc = new ArrayList();
                DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti();

                //Recupero la serie di documenti
                listaInfoDoc = doc.ListaDocumentiInSerie(listaInfoDoc, template, anno, valOggetto, rfAOO);
                string resInsDoc = "";
                for (int i = 0; i < listaInfoDoc.Count; i++)
                {
                    DocsPaVO.documento.InfoDocumento infoDoc = (DocsPaVO.documento.InfoDocumento)listaInfoDoc[i];
                    //Trasferimento in deposito dell'i-esimo documento del fascicolo
                    resInsDoc = TrasfInDepositoDoc(infoDoc.idProfile, "1", tipoOp);
                    if (resInsDoc == "-1")
                    {
                        break;
                    }
                    if (resInsDoc == "2")
                    {
                        docInDep2++;
                    }
                }
                if (resInsDoc == "-1")
                {
                    result = false;
                }
                else
                {
                    result = true;
                }
                if (result)
                {
                    transactionalContext.Complete();
                }
            }
            return(docInDep2);
        }
Exemple #7
0
        public static DocsPaVO.trasmissione.Trasmissione addTrasmDaTemplate(DocsPaVO.documento.InfoDocumento infoDocumento, DocsPaVO.trasmissione.TemplateTrasmissione template, DocsPaVO.utente.Utente utente, DocsPaVO.utente.Ruolo ruolo)
        {
            //DocsPaVO.utente.Utente utente = utenti.getUtente(infoUtente.idPeople);
            //DocsPaVO.utente.Ruolo ruolo = Utenti.UserManager.getRuolo(infoUtente.idCorrGlobali);
//			DocsPaVO.utente.InfoUtente infoUtente = null;
            if (template == null)
            {
                return(null);
            }

            DocsPaVO.trasmissione.Trasmissione trasmTemplate = cercaTrasmissioneTemplate(template, infoDocumento, utente, ruolo);
            if (trasmTemplate == null)
            {
                return(null);
            }
            DocsPaVO.trasmissione.Trasmissione trasmissione = new DocsPaVO.trasmissione.Trasmissione();
            //Ricostruisci la nuova trasmissione, con le trasmissioni utenti aggiornate
            trasmissione.utente        = utente;
            trasmissione.ruolo         = ruolo;
            trasmissione.tipoOggetto   = trasmTemplate.tipoOggetto;
            trasmissione.noteGenerali  = template.descrizione;            // CONTROLLARE DOVE PRENDERE L'INFORMAZIONE
            trasmissione.infoDocumento = infoDocumento;

            if (trasmTemplate.trasmissioniSingole != null && trasmTemplate.trasmissioniSingole.Count > 0)
            {
                for (int i = 0; i < trasmTemplate.trasmissioniSingole.Count; i++)
                {
                    trasmissione = addTrasmissioneSingola(trasmissione, ((DocsPaVO.trasmissione.TrasmissioneSingola)trasmTemplate.trasmissioniSingole[i]), utente.idAmministrazione);
                }
            }
            if (trasmissione != null && trasmissione.trasmissioniSingole != null && trasmissione.trasmissioniSingole.Count > 0)
            {
                trasmissione = TrasmManager.saveTrasmMethod(trasmissione);
            }
            else
            {
                logger.Debug("Errore nella creazione dell'oggetto trasmissione da template o trasmissioni singole non presenti");
                return(null);
            }
            return(trasmissione);
        }
Exemple #8
0
        //OK VERO
        /// <summary>
        /// Inserisce in deposito tutti i documenti in un dato fascicolo generale
        /// Inserisce in deposito il fascicolo generale: il valore di questo in archivio
        /// sarà sempre 2
        /// </summary>
        /// <param name="fascicolo"></param>
        /// <param name="anno"></param>
        /// <param name="infoUtente"></param>
        /// <returns></returns>
        public static int TrasfInDepositoAllDocsFascGen(DocsPaVO.fascicolazione.Fascicolo fascicolo, string anno, DocsPaVO.utente.InfoUtente infoUtente, string tipoOp)
        {
            int  docInDep2 = 0;
            bool result    = false;

            using (DocsPaDB.TransactionContext transactionalContext = new DocsPaDB.TransactionContext())
            {
                //Recupero la lista di tutti i documenti contenuti in un dato fascicolo generale
                DocsPaDB.Query_DocsPAWS.Fascicoli fasc = new DocsPaDB.Query_DocsPAWS.Fascicoli();
                ArrayList listaDoc = fasc.GetDocumentiDaArchiviare(infoUtente.idGruppo, infoUtente.idPeople, fascicolo, anno);

                string resInsDoc = "";
                for (int i = 0; i < listaDoc.Count; i++)
                {
                    DocsPaVO.documento.InfoDocumento infoDoc = (DocsPaVO.documento.InfoDocumento)listaDoc[i];
                    resInsDoc = TrasfInDepositoDoc(infoDoc.idProfile, "0", tipoOp);
                    if (resInsDoc == "-1")
                    {
                        break;
                    }

                    if (resInsDoc == "2")
                    {
                        docInDep2++;
                    }
                }

                if (resInsDoc != "-1")
                {
                    //il fascicolo genereale viene inserito in deposito sempre con valore a 2
                    result = TrasfInDepositoFascicolo(fascicolo.systemID, "2", tipoOp);
                }
                if (result)
                {
                    transactionalContext.Complete();
                }
            }
            return(docInDep2);
        }
Exemple #9
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;
            }
        }
Exemple #10
0
        public ArrayList GetDocumentiETDOCS_OLD(string[] resultKeys, InfoUtente infoUtente)
        {
            logger.Debug("GetDocumentiETDOCS");

            string resultQuery = this.GetSearchResultFilterCriteriaETDOCS(resultKeys);

            ArrayList result = new ArrayList();

            string querySql = "SELECT DISTINCT " +
                              "P.SYSTEM_ID, " +
                              "P.DOCNUMBER, " +
                              "P.NUM_PROTO, " +
                              "P.VAR_SEGNATURA, " +
                              DocsPaDbManagement.Functions.Functions.ToChar("P.CREATION_DATE", false) + " AS DATA, " +
                              "P.CHA_TIPO_PROTO As A_P, " +
                              "P.VAR_PROF_OGGETTO AS OGGETTO, " +
                              "P.ID_REGISTRO AS ID_REGISTRO, " +
                              "P.CHA_IMG AS CHA_IMG, " +
                              "P.ID_DOCUMENTO_PRINCIPALE " +
                              "FROM	PROFILE P,SECURITY S " +
                              "WHERE	P.SYSTEM_ID IN ("+ resultQuery + ")  " +
                              "AND S.THING = P.SYSTEM_ID " +
                              "ORDER BY P.DOCNUMBER DESC";

//			//query su DOCSPA
//			string querySql="SELECT DISTINCT " +
//				"P.SYSTEM_ID, " +
//				"P.DOCNUMBER, " +
//				"P.NUM_PROTO, " +
//				"P.VAR_SEGNATURA, " +
//				DocsPaDbManagement.Functions.Functions.ToChar("P.CREATION_DATE",false) + " AS DATA, " +
//				"P.CHA_TIPO_PROTO As A_P, " +
//				"P.VAR_PROF_OGGETTO AS OGGETTO, " +
//				"P.ID_REGISTRO AS ID_REGISTRO " +
//				"FROM PROFILE P,COMPONENTS C, SECURITY S " + //, DPA_EL_REGISTRI R " +
//				"WHERE C.VERSION_ID IN (" + resultQuery + ")  " +
//					//"AND (S.ACCESSRIGHTS > 0   " +
//					//"AND (S.PERSONORGROUP = " + infoUtente.idPeople + " OR S.PERSONORGROUP=" + infoUtente.idGruppo + "))  " +
//					"AND S.THING = P.SYSTEM_ID AND C.DOCNUMBER=P.DOCNUMBER " +
//					//"AND (R.SYSTEM_ID=P.ID_REGISTRO OR P.ID_REGISTRO IS NULL) " +
//					//"AND P.CHA_TIPO_PROTO!='R' " +
//				"ORDER BY P.DOCNUMBER DESC";

            logger.Debug(querySql);

            DataSet dsp = new DataSet();

            this.ExecuteQuery(out dsp, "PROFILE", querySql);

            // recupero informazioni documenti
            foreach (DataRow dr in dsp.Tables[0].Rows)
            {
                DocsPaVO.documento.InfoDocumento tmp = this.GetInfoDocumento(dr);
                result.Add(tmp);
                tmp = null;
            }

            return(result);

            //return new ArrayList();
        }
Exemple #11
0
 public bool AddDocumentoInCestino(DocsPaVO.documento.InfoDocumento infoDocumento)
 {
     throw new NotImplementedException();
 }
Exemple #12
0
 /// <summary>
 /// Inserimento di un documento nel cestino
 /// </summary>
 /// <param name="infoDocumento"></param>
 /// <returns></returns>
 public bool AddDocumentoInCestino(DocsPaVO.documento.InfoDocumento infoDocumento)
 {
     return(this.Instance.AddDocumentoInCestino(infoDocumento));
 }
Exemple #13
0
        /// <summary>
        /// Reperimento della descrizione dello stato associato al documento
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="infoDocumento"></param>
        /// <returns></returns>
        public static string GetDescrizioneStatoDocumento(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.documento.InfoDocumento infoDocumento)
        {
            string descrizioneStato = string.Empty;

            if (!string.IsNullOrEmpty(infoDocumento.idTipoAtto))
            {
                DocsPaVO.DiagrammaStato.Stato stato = BusinessLogic.DiagrammiStato.DiagrammiStato.getStatoDoc(infoDocumento.docNumber);
                if (stato != null)
                {
                    descrizioneStato = stato.DESCRIZIONE;
                }
            }

            return(descrizioneStato);
        }
Exemple #14
0
 private static DocsPaVO.trasmissione.Trasmissione cercaTrasmissioneTemplate(DocsPaVO.trasmissione.TemplateTrasmissione template, DocsPaVO.documento.InfoDocumento infoDocumento, DocsPaVO.utente.Utente utente, DocsPaVO.utente.Ruolo ruolo)
 {
     DocsPaVO.trasmissione.OggettoTrasm oggTrasm = new DocsPaVO.trasmissione.OggettoTrasm();
     oggTrasm.infoDocumento = infoDocumento;
     return(Trasmissioni.QueryTrasmManager.getTrasmissione(template.idTrasmissione, "E", false, null, utente, ruolo));
 }
Exemple #15
0
 public static DocsPaVO.trasmissione.Trasmissione creaTrasmDaTemplate(DocsPaVO.documento.SchedaDocumento schedaDocumento, DocsPaVO.trasmissione.TemplateTrasmissione template, DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.utente.Ruolo ruolo)
 {
     DocsPaVO.documento.InfoDocumento infoDocumento = Documenti.DocManager.getInfoDocumento(schedaDocumento);
     DocsPaVO.utente.Utente           utente        = Utenti.UserManager.getUtente(infoUtente.idPeople);
     return(addTrasmDaTemplate(infoDocumento, template, utente, ruolo));
 }
Exemple #16
0
        /// <summary>
        /// </summary>
        /// <param name="utente"></param>
        /// <param name="ruolo"></param>
        /// <param name="tipoObj"></param>
        /// <param name="tipoDoc"></param>
        /// <param name="tipoFasc"></param>
        /// <param name="numPage"></param>
        /// <param name="numTotPage"></param>
        /// <param name="nRec"></param>
        /// <returns></returns>
        public static DocsPaVO.areaLavoro.AreaLavoro getAreaLavoroPaging(DocsPaVO.utente.Utente utente, DocsPaVO.utente.Ruolo ruolo, DocsPaVO.areaLavoro.TipoOggetto tipoObj, DocsPaVO.areaLavoro.TipoDocumento tipoDoc, DocsPaVO.areaLavoro.TipoFascicolo tipoFasc, string idRegistro, bool enableUffRef, string chaDaProto, int numPage, out int numTotPage, out int nRec, DocsPaVO.filtri.FiltroRicerca[][] query = null)
        {
            //DocsPaWS.Utils.Database db=DocsPaWS.Utils.dbControl.getDatabase();
            DataSet dataSet;

            DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti();
            DocsPaVO.areaLavoro.AreaLavoro    al  = new DocsPaVO.areaLavoro.AreaLavoro();
            try
            {
                //db.openConnection();
                string idPeople    = utente.idPeople;
                string idRuoloInUo = ruolo.systemId;
                //DocsPaVO.areaLavoro.QueryAreaLavoro qal = new DocsPaVO.areaLavoro.QueryAreaLavoro();

                //costruzione della query
                //doc.GetAreaLavoro(out dataSet, idPeople, idRuoloInUo, tipoObj, tipoDoc, tipoFasc);
                doc.GetAreaLavoroPaging(out dataSet, idPeople, idRuoloInUo, tipoObj, tipoDoc, tipoFasc, idRegistro, chaDaProto, numPage, out numTotPage, out nRec, query);
                #region codice originale

                /*string queryString="SELECT * FROM DPA_AREA_LAVORO WHERE ID_PEOPLE='"+idPeople+"' AND ID_RUOLO_IN_UO='"+idRuoloInUo+"'";
                 *              if(tipoObj==DocsPaVO.areaLavoro.TipoOggetto.DOCUMENTO)
                 *              {
                 *                      queryString=queryString+" AND ID_PROFILE IS NOT NULL";
                 *                      if(tipoDoc!=DocsPaVO.areaLavoro.TipoDocumento.TUTTI){
                 *                        queryString=queryString+" AND CHA_TIPO_DOC='"+DocsPaVO.areaLavoro.QueryAreaLavoro.tipoDocString[tipoDoc]+ "'";
                 *                      }
                 *              }
                 *              else
                 *              {
                 *                      queryString=queryString+" AND ID_PROJECT IS NOT NULL";
                 *                      if(tipoFasc!=DocsPaVO.areaLavoro.TipoFascicolo.TUTTI)
                 *                      {
                 *                              queryString=queryString+" AND CHA_TIPO_FASC='"+DocsPaVO.areaLavoro.QueryAreaLavoro.tipoFascString[tipoFasc]+"'";
                 *                      }
                 *              }
                 *              logger.Debug(queryString);
                 *              db.fillTable(queryString,dataSet,"OGGETTI");
                 */
                #endregion
                //si riempie la lista
                if (tipoObj == DocsPaVO.areaLavoro.TipoOggetto.DOCUMENTO)
                {
                    logger.Debug("lista documenti");
                    foreach (DataRow dr in dataSet.Tables["PagingTable"].Rows)
                    {
                        DocsPaVO.documento.InfoDocumento id = new DocsPaVO.documento.InfoDocumento();
                        id.idProfile = dr["ID_PROFILE"].ToString();
                        id.tipoProto = dr["CHA_TIPO_DOC"].ToString();
                        id.docNumber = dr["DOCNUMBER"].ToString();
                        //DocsPaVO.utente.InfoUtente infoUtente=new DocsPaVO.utente.InfoUtente(utente,ruolo);

                        /* mod sab
                         * DocsPaVO.documento.SchedaDocumento sd=DocManager.getDettaglio(id,sic);
                         * //DocsPaVO.documento.Documento doc=(DocsPaVO.documento.Documento) sd.documenti[0];
                         * DocsPaVO.documento.InfoDocumento infoDoc=new DocsPaVO.documento.InfoDocumento(sd);
                         */
                        //nuovo
                        DocsPaDB.Query_DocsPAWS.Documenti documento = new DocsPaDB.Query_DocsPAWS.Documenti();
                        DocsPaVO.documento.InfoDocumento  infoDoc;
                        infoDoc = documento.GetInfoDocumento(ruolo.idGruppo, utente.idPeople, id.docNumber, true);
                        //fine nuovo
                        if (infoDoc != null)
                        {
                            infoDoc.tipoProto = dr["CHA_TIPO_DOC"].ToString();
                            al.lista.Add(infoDoc);
                        }
                    }
                }
                else
                {
                    logger.Debug("lista fascicoli");
                    foreach (DataRow dr in dataSet.Tables["DPA_AREA_LAVORO"].Rows)
                    {
                        DocsPaVO.fascicolazione.InfoFascicolo infoFasc = new DocsPaVO.fascicolazione.InfoFascicolo();
                        infoFasc.idFascicolo = dr["ID_PROJECT"].ToString();
                        DocsPaVO.utente.InfoUtente sic = new DocsPaVO.utente.InfoUtente(utente, ruolo);
                        //Federica 5 ott 2005
                        DocsPaVO.fascicolazione.Fascicolo fasc = BusinessLogic.Fascicoli.FascicoloManager.getDettaglio(sic, infoFasc, enableUffRef);

                        if (fasc == null)
                        {
                            logger.Debug("Errore nella gestione dell'area lavoro (getAreaLavoroPaging)");
                            //TODO: gestire la throw
                            throw new Exception();
                        }

                        fasc.tipo = dr["CHA_TIPO_FASC"].ToString();
                        al.lista.Add(fasc);
                    }
                }
                //				db.closeConnection();
                return(al);
            }
            catch (Exception e)
            {
                logger.Debug("Errore nella gestione dell'area lavoro (getAreaLavoroPaging)", e);
                //db.closeConnection();
                throw e;
            }
        }
Exemple #17
0
        private static DocsPaVO.trasmissione.Trasmissione creaTrasmDaModello(DocsPaVO.documento.SchedaDocumento schedaDocumento, DocsPaVO.Modelli_Trasmissioni.ModelloTrasmissione modello, DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.utente.Ruolo ruolo)
        {
            DocsPaVO.trasmissione.Trasmissione trasmissione = new DocsPaVO.trasmissione.Trasmissione();

            try
            {
                DocsPaVO.documento.InfoDocumento infoDocumento = Documenti.DocManager.getInfoDocumento(schedaDocumento);
                trasmissione.infoDocumento = infoDocumento;

                DocsPaVO.utente.Utente utente = Utenti.UserManager.getUtente(infoUtente.idPeople);
                trasmissione.utente = utente;

                trasmissione.ruolo       = ruolo;
                trasmissione.tipoOggetto = DocsPaVO.trasmissione.TipoOggetto.DOCUMENTO;

                trasmissione.noteGenerali = modello.VAR_NOTE_GENERALI;

                for (int i = 0; i < modello.RAGIONI_DESTINATARI.Count; i++)
                {
                    DocsPaVO.Modelli_Trasmissioni.RagioneDest ragDest = (DocsPaVO.Modelli_Trasmissioni.RagioneDest)modello.RAGIONI_DESTINATARI[i];
                    ArrayList destinatari = new ArrayList(ragDest.DESTINATARI);
                    for (int j = 0; j < destinatari.Count; j++)
                    {
                        DocsPaVO.Modelli_Trasmissioni.MittDest mittDest = (DocsPaVO.Modelli_Trasmissioni.MittDest)destinatari[j];

                        DocsPaVO.trasmissione.RagioneTrasmissione ragione = Trasmissioni.QueryTrasmManager.getRagioneById(mittDest.ID_RAGIONE.ToString());

                        DocsPaVO.utente.Corrispondente corr = Utenti.UserManager.getCorrispondenteBySystemID(mittDest.ID_CORR_GLOBALI.ToString());

                        if (corr != null) //corr nullo se non esiste o se è stato disabilitato
                        {
                            // Aggiungo la trasmissione singola
                            DocsPaVO.trasmissione.TrasmissioneSingola trasmissioneSingola = new DocsPaVO.trasmissione.TrasmissioneSingola();
                            trasmissioneSingola.tipoTrasm             = mittDest.CHA_TIPO_TRASM;
                            trasmissioneSingola.corrispondenteInterno = corr;
                            trasmissioneSingola.ragione     = ragione;
                            trasmissioneSingola.noteSingole = mittDest.VAR_NOTE_SING;

                            // RUOLO
                            if (corr is DocsPaVO.utente.Ruolo)
                            {
                                trasmissioneSingola.tipoDest = DocsPaVO.trasmissione.TipoDestinatario.RUOLO;
                                ArrayList listaUtenti = queryUtenti(corr, modello.ID_AMM);
                                if (listaUtenti.Count == 0)
                                {
                                    trasmissioneSingola = null;
                                }

                                for (int ut = 0; ut < listaUtenti.Count; ut++)
                                {
                                    DocsPaVO.trasmissione.TrasmissioneUtente trasmissioneUtente = new DocsPaVO.trasmissione.TrasmissioneUtente();

                                    trasmissioneUtente.utente       = (DocsPaVO.utente.Utente)listaUtenti[ut];
                                    trasmissioneUtente.daNotificare = true;
                                    trasmissioneSingola.trasmissioneUtente.Add(trasmissioneUtente);
                                }
                            }

                            // UTENTE
                            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;
                                trasmissioneUtente.daNotificare = true;
                                trasmissioneSingola.trasmissioneUtente.Add(trasmissioneUtente);
                            }

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

            return(trasmissione);
        }
Exemple #18
0
 /// <summary>
 /// Ripristino del documento dal cestino
 /// </summary>
 /// <param name="infoDocumento"></param>
 /// <returns></returns>
 public bool RestoreDocumentoDaCestino(DocsPaVO.documento.InfoDocumento infoDocumento)
 {
     return(this.Instance.RestoreDocumentoDaCestino(infoDocumento));
 }
Exemple #19
0
        /// <summary></summary>
        /// <param name="schedaDoc"></param>
        /// <param name="infoUtente"></param>
        /// <returns></returns>
        public static DocsPaVO.documento.FileDocumento getSchedaDocReport(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.documento.SchedaDocumento schedaDoc, string mittDest_Indirizzo)
        {
            DocsPaVO.documento.FileDocumento result = null;

            if (schedaDoc.protocollo == null)
            {
                result = GetStampaProfiloRTF(infoUtente, schedaDoc);
            }
            else
            {
                result = new DocsPaVO.documento.FileDocumento();

                string path        = AppDomain.CurrentDomain.BaseDirectory;
                string report      = string.Empty;
                bool   existUffRef = false;

                try
                {
                    existUffRef = ExistUfficioReferente(schedaDoc);

                    logger.Debug("Generazione report");

                    if (existUffRef)
                    {
                        report = ReportUtils.stringFile(path + "\\report\\schedaDoc\\SchedaDoc_UffRef.rtf");
                    }
                    else
                    {
                        report = ReportUtils.stringFile(path + "\\report\\schedaDoc\\SchedaDoc.rtf");
                    }
                    if (schedaDoc.registro != null)
                    {
                        report = report.Replace("XNOME_REGISTRO", schedaDoc.registro.descrizione);
                        report = report.Replace("XCODICE_REGISTRO", schedaDoc.registro.codRegistro);
                    }
                    else
                    {
                        report = report.Replace("XNOME_REGISTRO", string.Empty);
                        report = report.Replace("XCODICE_REGISTRO", string.Empty);
                    }
                    report = report.Replace("XNUM_PR", schedaDoc.protocollo.numero);
                    report = report.Replace("XDTA_PR", schedaDoc.protocollo.dataProtocollazione);
                    report = report.Replace("XA/P", schedaDoc.tipoProto);

                    string mittDest = "";
                    string protMitt = "";
                    string uffRef   = "";                       // Ufficio referente

                    DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti();


                    if (schedaDoc.protocollo.GetType().Equals(typeof(DocsPaVO.documento.ProtocolloEntrata)))
                    {
                        if (mittDest_Indirizzo.ToUpper() == "FALSE")
                        {
                            mittDest = ((DocsPaVO.documento.ProtocolloEntrata)schedaDoc.protocollo).mittente.descrizione;
                        }
                        else
                        if (mittDest_Indirizzo.ToUpper() == "TRUE")
                        {
                            mittDest = doc.GetIndirizzoMittDest(schedaDoc.systemId, schedaDoc.tipoProto);
                        }
                        protMitt = ((DocsPaVO.documento.ProtocolloEntrata)schedaDoc.protocollo).dataProtocolloMittente + ((DocsPaVO.documento.ProtocolloEntrata)schedaDoc.protocollo).descrizioneProtocolloMittente;

                        // Ufficio referente
                        if (existUffRef)
                        {
                            uffRef = ((DocsPaVO.documento.ProtocolloEntrata)schedaDoc.protocollo).ufficioReferente.descrizione;
                        }
                    }
                    else
                    {
                        // Ufficio referente
                        if (existUffRef)
                        {
                            uffRef = ((DocsPaVO.documento.ProtocolloUscita)schedaDoc.protocollo).ufficioReferente.descrizione;
                        }

                        if (mittDest_Indirizzo.ToUpper() == "FALSE")
                        {
                            System.Collections.ArrayList dest = ((DocsPaVO.documento.ProtocolloUscita)schedaDoc.protocollo).destinatari;
                            for (int i = 0; i < dest.Count; i++)
                            {
                                mittDest = mittDest + ((DocsPaVO.utente.Corrispondente)dest[i]).descrizione;
                                if (i < (dest.Count - 1))
                                {
                                    mittDest = mittDest + " \\par ";
                                }
                            }
                            System.Collections.ArrayList destCC = ((DocsPaVO.documento.ProtocolloUscita)schedaDoc.protocollo).destinatariConoscenza;
                            if (destCC != null && destCC.Count > 0)
                            {
                                mittDest = mittDest + " \\par ";
                                for (int i = 0; i < destCC.Count; i++)
                                {
                                    mittDest = mittDest + ((DocsPaVO.utente.Corrispondente)destCC[i]).descrizione;
                                    if (i < (destCC.Count - 1))
                                    {
                                        mittDest = mittDest + " \\par ";
                                    }
                                }
                            }
                        }
                        else
                        if (mittDest_Indirizzo.ToUpper() == "TRUE")
                        {
                            mittDest = doc.GetIndirizzoMittDest(schedaDoc.systemId, schedaDoc.tipoProto);
                        }
                    }

                    report = report.Replace("XMITT/DEST", mittDest);
                    report = report.Replace("XPROT_MITT", protMitt);

                    //classifica
                    DocsPaVO.documento.InfoDocumento infoDoc   = new DocsPaVO.documento.InfoDocumento(schedaDoc);
                    System.Collections.ArrayList     fascicoli = BusinessLogic.Fascicoli.FascicoloManager.getFascicoliDaDoc(infoUtente, infoDoc.idProfile);
                    string classifica = "";
                    string codice     = "";
                    for (int i = 0; i < fascicoli.Count; i++)
                    {
                        //questo serve in caso nel codice fascicolo sia utilizzato come separatore il back slash "\", solo così è stampato nel file rtf...
                        codice     = ((DocsPaVO.fascicolazione.Fascicolo)fascicoli[i]).codice.Replace(@"\", @"{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1040\langfe1033\langnp1040\insrsid4612691 \\}");
                        classifica = classifica + " " + codice;
                        if (i < (fascicoli.Count - 1))
                        {
                            classifica = classifica + " \\par";
                        }
                    }
                    report = report.Replace("XCLASSIFICA", classifica);

                    report = report.Replace("XRISPOSTA", "");
                    report = report.Replace("XOGGETTO", schedaDoc.oggetto.descrizione);
                    report = report.Replace("XNOTE", BusinessLogic.Note.NoteManager.GetUltimaNotaAsString(infoUtente, new DocsPaVO.Note.AssociazioneNota(DocsPaVO.Note.AssociazioneNota.OggettiAssociazioniNotaEnum.Documento, schedaDoc.systemId)));

                    if (existUffRef)
                    {
                        report = report.Replace("XUFFREF", uffRef);
                    }

                    result.content     = ReportUtils.toByteArray(report);
                    result.length      = result.content.Length;
                    result.contentType = "application/rtf";
                    result.name        = "report.rtf";
                    logger.Debug("fileDocumento generato");
                }
                catch (Exception e)
                {
                    logger.Debug("Errore nella gestione di Report (getSchedaDocReport)", e);
                    throw e;
                }
            }

            return(result);
        }
Exemple #20
0
 public bool RestoreDocumentoDaCestino(DocsPaVO.documento.InfoDocumento infoDocumento)
 {
     throw new NotImplementedException();
 }