예제 #1
0
        /// <summary>
        /// </summary>
        /// <param name="classificazione"></param>
        /// <param name="infoUtente"></param>
        /// <param name="pos"></param>
        /// <param name="report"></param>
        /// <param name="path"></param>
        private static void buildClassificazione(string idAmministrazione, string idGruppo, string idPeople, DocsPaVO.fascicolazione.Classificazione classificazione, int pos, ref System.Collections.ArrayList report, string path)
        {
            string voceTitolario = ReportUtils.stringFile(path + "report\\titolario\\voceTitolario.txt");
            int    firstPos      = 100 * classificazione.codice.Length;
            int    secondPos     = pos + 100 * classificazione.codice.Length;

            voceTitolario = voceTitolario.Replace("XFIRSTPOS", "" + firstPos);
            voceTitolario = voceTitolario.Replace("XPOS", "" + secondPos);
            string testo = classificazione.codice + " " + classificazione.descrizione;

            voceTitolario = voceTitolario.Replace("XTESTO_VOCE", testo);
            ReportUtils.addStringToReport(voceTitolario, ref report);

            for (int i = 0; i < classificazione.childs.Count; i++)
            {
                buildClassificazione(idAmministrazione, idGruppo, idPeople, (DocsPaVO.fascicolazione.Classificazione)classificazione.childs[i], secondPos, ref report, path);
            }
            //parte relativa ai fascicoli proc.
            //addFascProc(idAmministrazione, idGruppo, idPeople, classificazione,firstPos,ref report,path);
        }
예제 #2
0
        /// <summary></summary>
        /// <param name="corr"></param>
        /// <param name="rowString"></param>
        /// <param name="report"></param>
        private static void addRowInTable(DocsPaVO.utente.Corrispondente corr, string rowString, ref ArrayList report)
        {
            string tmpStr = rowString;

            // tipo
            string tipo = "";

            if (corr.GetType().Equals(typeof(DocsPaVO.utente.Utente)))
            {
                tipo = "Utente";
            }
            else if (corr.GetType().Equals(typeof(DocsPaVO.utente.Ruolo)))
            {
                tipo = "Ruolo";
            }
            else if (corr.GetType().Equals(typeof(DocsPaVO.utente.UnitaOrganizzativa)))
            {
                tipo = "UO";
            }
            tmpStr = tmpStr.Replace("XTIPO", tipo);

            // codice
            tmpStr = tmpStr.Replace("XCODICE", corr.codiceRubrica);

            // descrizione
            tmpStr = tmpStr.Replace("XDESCRIZIONE", corr.descrizione);

            // email
            string email = "";

            if (corr.email != null)
            {
                email = corr.email;
            }
            tmpStr = tmpStr.Replace("XEMAIL", email);

            // tipo I/E
            tmpStr = tmpStr.Replace("XIE", corr.tipoIE);

            ReportUtils.addStringToReport(tmpStr, ref report);
        }
예제 #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="classificazione"></param>
 /// <param name="infoUtente"></param>
 /// <param name="pos"></param>
 /// <param name="report"></param>
 /// <param name="path"></param>
 private static void addFascProc(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.fascicolazione.Classificazione classificazione, int pos, ref System.Collections.ArrayList report, string path)
 {
     logger.Debug("addFascProc");
     DocsPaVO.filtri.FiltroRicerca filtro = new DocsPaVO.filtri.FiltroRicerca();
     filtro.argomento = DocsPaVO.filtri.fascicolazione.listaArgomenti.TIPO_FASCICOLO.ToString();
     filtro.valore    = "P";
     DocsPaVO.filtri.FiltroRicerca[] filtri        = { filtro };
     System.Collections.ArrayList    fascicoliProc = BusinessLogic.Fascicoli.FascicoloManager.getListaFascicoli(infoUtente, classificazione, filtri, false, false, false, null, "");
     logger.Debug("Fascicoli procedimentali trovati: " + fascicoliProc.Count);
     for (int k = 0; k < fascicoliProc.Count; k++)
     {
         DocsPaVO.fascicolazione.Fascicolo fasc = (DocsPaVO.fascicolazione.Fascicolo)fascicoliProc[k];
         string voceFasc  = ReportUtils.stringFile(path + "report\\titolario\\voceProc.txt");
         int    firstPos  = 100 * fasc.codice.Length;
         int    secondPos = pos + 100 * fasc.codice.Length;
         voceFasc = voceFasc.Replace("XFIRSTPOS", "" + firstPos);
         voceFasc = voceFasc.Replace("XPOS", "" + secondPos);
         string testoFasc = fasc.codice + " " + fasc.descrizione;
         voceFasc = voceFasc.Replace("XTESTO_VOCE", testoFasc);
         ReportUtils.addStringToReport(voceFasc, ref report);
     }
 }
예제 #4
0
        /// <summary></summary>
        /// <param name="classificazioni"></param>
        /// <param name="infoUtente"></param>
        /// <returns></returns>
        public static DocsPaVO.documento.FileDocumento getTitolarioReport(string idAmministrazione, string idGruppo, string idPeople, System.Collections.ArrayList classificazioni)
        {
            DocsPaVO.documento.FileDocumento result = new DocsPaVO.documento.FileDocumento();
            //string path = ReportUtils.getPathName();
            //string path = DocsPaUtils.Functions.Functions.GetReportsPath();
            string path = AppDomain.CurrentDomain.BaseDirectory;

            try
            {
                string headerString = ReportUtils.stringFile(path + "report\\titolario\\headerTitolario.txt");
                logger.Debug("Generazione report");
                System.DateTime data = System.DateTime.Now;
                System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("it-IT");
                string[] formats    = data.GetDateTimeFormats(ci);
                string   dataString = formats[5];
                headerString = headerString.Replace("XDATA", dataString);
                //string titolo=ConfigurationManager.AppSettings["intestazioneTitolario"];
                string titolo = "Titolario";               // prima lo prendeva dal web.config, ma non esiste più
                if (titolo != null)
                {
                    headerString = headerString.Replace("XTITOLO", titolo);
                }
                else
                {
                    headerString = headerString.Replace("XTITOLO", "");
                }
                System.Collections.ArrayList report = new System.Collections.ArrayList();
                ReportUtils.addStringToReport(headerString, ref report);
                logger.Debug("Inserimento voci di titolario");
                for (int i = 0; i < classificazioni.Count; i++)
                {
                    DocsPaVO.fascicolazione.Classificazione classificazione = (DocsPaVO.fascicolazione.Classificazione)classificazioni[i];
                    string headerTableString = ReportUtils.stringFile(path + "report\\titolario\\headerTableTitolario.txt");
                    headerTableString = headerTableString.Replace("XPRIMO_CODICE", classificazione.codice);
                    headerTableString = headerTableString.Replace("XPRIMA_DESCR", classificazione.descrizione);
                    ReportUtils.addStringToReport(headerTableString, ref report);

                    for (int j = 0; j < classificazione.childs.Count; j++)
                    {
                        buildClassificazione(idAmministrazione, idGruppo, idPeople, (DocsPaVO.fascicolazione.Classificazione)classificazione.childs[j], 0, ref report, path);
                    }

                    //inserimento fascicoli proc
                    //addFascProc(idAmministrazione, idGruppo, idPeople, classificazione,0,ref report,path);

                    string bottomTableString = ReportUtils.stringFile(path + "report\\titolario\\bottomTableTitolario.txt");
                    ReportUtils.addStringToReport(bottomTableString, ref report);
                }

                logger.Debug("Inserimento bottom");
                string bottomString = ReportUtils.stringFile(path + "report\\titolario\\bottomTitolario.txt");
                ReportUtils.addStringToReport(bottomString, ref report);
                logger.Debug("Generazione fileDocumento");
                result.content     = (byte[])report.ToArray(typeof(byte));
                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 (getTitolarioReport)", e);
                throw e;
            }
            return(result);
        }
예제 #5
0
        /// <summary></summary>
        /// <param name="qco"></param>
        /// <returns></returns>
        public static DocsPaVO.documento.FileDocumento stampa(DocsPaVO.addressbook.QueryCorrispondente qco)
        {
            //string path = ReportUtils.getPathName() + "\\corrispondenti\\";
            string path = AppDomain.CurrentDomain.BaseDirectory + "report\\corrispondenti\\";

            //string path = DocsPaUtils.Functions.Functions.GetReportsPath() + "\\corrispondenti\\";
            DocsPaVO.documento.FileDocumento result = new DocsPaVO.documento.FileDocumento();

            try
            {
                ArrayList report = new ArrayList();
                string    tmpStr = "";

                #region Testata
                tmpStr = ReportUtils.stringFile(path + "Header.txt");

                // Registri
                string registro = "COMUNI A TUTTI";
                if (qco.idRegistri.Count > 0)
                {
                    //db.openConnection();
                    registro = BusinessLogic.Utenti.RegistriManager.getRegistro((string)qco.idRegistri[0]).descrizione;
                    //db.closeConnection();
                }
                tmpStr = tmpStr.Replace("XREGISTRO", registro);

                // Tipo corrispondente
                string tipo = "INTERNI/ESTERNI";
                if (qco.tipoUtente == DocsPaVO.addressbook.TipoUtente.INTERNO)
                {
                    tipo = "INTERNI";
                }
                else if (qco.tipoUtente == DocsPaVO.addressbook.TipoUtente.ESTERNO)
                {
                    tipo = "ESTERNI";
                }

                tmpStr = tmpStr.Replace("XFILTRO", tipo);
                ReportUtils.addStringToReport(tmpStr, ref report);
                #endregion Testata

                #region Tabella
                //testata
                tmpStr = ReportUtils.stringFile(path + "TableHead.txt");
                ReportUtils.addStringToReport(tmpStr, ref report);

                //righe
                string rowString = ReportUtils.stringFile(path + "Row.txt");
                qco.getChildren = false;

                // UO
                qco.descrizioneUO = "";
                addRows(BusinessLogic.Utenti.addressBookManager.getListaCorrispondenti(qco), rowString, ref report);
                qco.descrizioneUO = null;

                // Ruoli
                qco.descrizioneRuolo = "";
                addRows(BusinessLogic.Utenti.addressBookManager.getListaCorrispondenti(qco), rowString, ref report);
                qco.descrizioneRuolo = null;

                // Utenti
                qco.cognomeUtente = "";
                ArrayList lista = BusinessLogic.Utenti.addressBookManager.getListaCorrispondenti(qco);
                if (qco.tipoUtente != DocsPaVO.addressbook.TipoUtente.INTERNO)
                {
                    ArrayList listaSciolti = BusinessLogic.Utenti.addressBookManager.listaCorrEstSciolti(qco);
                    for (int i = 0; i < listaSciolti.Count; i++)
                    {
                        lista.Add(listaSciolti[i]);
                    }
                }
                addRows(lista, rowString, ref report);

                #endregion Tabella

                #region Bottom
                tmpStr = ReportUtils.stringFile(path + "Bottom.txt");
                ReportUtils.addStringToReport(tmpStr, ref report);
                #endregion Bottom

                result.content     = (byte[])report.ToArray(typeof(byte));
                result.length      = result.content.Length;
                result.contentType = "application/msword";
                result.name        = "report.rtf";
            }
            catch (Exception e)
            {
                logger.Debug("Errore nella gestione di Report (stampa)", e);
                throw e;
            }
            return(result);
        }