private static Byte[] GetReportData(string codice, string descrizione) { string templatePath = AppDomain.CurrentDomain.BaseDirectory + @"report/fascicolo/Fascetta.txt"; string report = ReportUtils.stringFile(templatePath); codice = codice.Replace("\\", "\\\\"); report = report.Replace("XCODICE", codice); descrizione = descrizione.Replace("\\", "\\\\"); report = report.Replace("XDESCRIZIONE", descrizione); return(ReportUtils.toByteArray(report)); }
private static DocsPaVO.documento.FileDocumento GetStampaProfiloRTF(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.documento.SchedaDocumento schedaDocumento) { logger.Debug("GetStampaProfiloRTF"); string reportData = ReportUtils.stringFile(AppDomain.CurrentDomain.BaseDirectory + @"\report\schedaDoc\schedaProfiloDoc.txt"); reportData = reportData.Replace("XIDDOC", schedaDocumento.docNumber); reportData = reportData.Replace("XDTACREAZIONE", schedaDocumento.dataCreazione); reportData = reportData.Replace("XOGG", schedaDocumento.oggetto.descrizione); string paroleChiavi = string.Empty; for (int i = 0; i < schedaDocumento.paroleChiave.Count; i++) { if (paroleChiavi != string.Empty) { paroleChiavi += "; "; } paroleChiavi += ((DocsPaVO.documento.ParolaChiave)schedaDocumento.paroleChiave[i]).descrizione; } reportData = reportData.Replace("XPAROLECHIAVI", paroleChiavi); reportData = reportData.Replace("XNOTE", BusinessLogic.Note.NoteManager.GetUltimaNotaAsString(infoUtente, new DocsPaVO.Note.AssociazioneNota(DocsPaVO.Note.AssociazioneNota.OggettiAssociazioniNotaEnum.Documento, schedaDocumento.systemId))); string tipoAtto = string.Empty; if (schedaDocumento.tipologiaAtto != null) { tipoAtto = schedaDocumento.tipologiaAtto.descrizione; } reportData = reportData.Replace("XTIPODOC", tipoAtto); DocsPaVO.documento.FileDocumento retValue = new DocsPaVO.documento.FileDocumento(); retValue.content = ReportUtils.toByteArray(reportData); retValue.length = retValue.content.Length; retValue.contentType = "application/rtf"; retValue.name = "report.rtf"; return(retValue); }
/// <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); }
/// <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); }
/// <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); } }
/// <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); }
/// <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); }
/// <summary></summary> /// <param name="schedaDoc"></param> /// <returns></returns> public static DocsPaVO.documento.FileDocumento getRicevutaProtocolloRtf(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.documento.SchedaDocumento schedaDoc) { DocsPaVO.documento.FileDocumento result = new DocsPaVO.documento.FileDocumento(); string path = AppDomain.CurrentDomain.BaseDirectory + "report"; try { logger.Debug("Generazione report"); //string report = ReportUtils.stringFile(path + "\\ricevuta\\ricevuta.txt"); string modelRootPath = System.Configuration.ConfigurationManager.AppSettings["MODELS_ROOT_PATH"]; string report = ReportUtils.stringFile(string.Concat(modelRootPath, string.Format(@"\Modelli\{0}\Ricevute\{1}\Ricevuta.{2}", schedaDoc.registro.codAmministrazione, schedaDoc.registro.codRegistro, "rtf"))); report = Regex.Replace(report, "#Amministrazione#", BusinessLogic.Amministrazione.AmministraManager.AmmGetInfoAmmCorrente(infoUtente.idAmministrazione).Descrizione, RegexOptions.IgnoreCase); report = Regex.Replace(report, "#Data ora protocollo#", BusinessLogic.Documenti.ProtoManager.getDataOraProtocollo(schedaDoc.docNumber), RegexOptions.IgnoreCase); report = Regex.Replace(report, "#Data protocollo#", schedaDoc.protocollo.dataProtocollazione, RegexOptions.IgnoreCase); report = Regex.Replace(report, "#Numero protocollo#", schedaDoc.protocollo.numero, RegexOptions.IgnoreCase); report = Regex.Replace(report, "#Segnatura#", schedaDoc.protocollo.segnatura, RegexOptions.IgnoreCase); report = Regex.Replace(report, "#Oggetto#", schedaDoc.oggetto.descrizione.Replace("\n", @" \par "), RegexOptions.IgnoreCase); if (schedaDoc.protocollatore != null) { Corrispondente corr = new Corrispondente(); DocsPaDB.Query_DocsPAWS.Utenti obj = new DocsPaDB.Query_DocsPAWS.Utenti(); // PROTOCOLLATORE if (schedaDoc.protocollatore.utente_idPeople != null && schedaDoc.protocollatore.utente_idPeople != string.Empty) { corr = obj.GetCorrispondenteBySystemID(obj.GetIDUtCorr(schedaDoc.protocollatore.utente_idPeople)); report = Regex.Replace(report, "#Protocollatore#", corr.descrizione, RegexOptions.IgnoreCase); } // RUOLO PROTOCOLLATORE if (schedaDoc.protocollatore.ruolo_idCorrGlobali != null && schedaDoc.protocollatore.ruolo_idCorrGlobali != string.Empty) { corr = obj.GetCorrispondenteBySystemID(schedaDoc.protocollatore.ruolo_idCorrGlobali); report = Regex.Replace(report, "#Ruolo protocollatore#", corr.descrizione, RegexOptions.IgnoreCase); } // UO PROTOCOLLATORE if (schedaDoc.protocollatore.uo_idCorrGlobali != null && schedaDoc.protocollatore.uo_idCorrGlobali != string.Empty) { //descrizione corr = obj.GetCorrispondenteBySystemID(schedaDoc.protocollatore.uo_idCorrGlobali); report = Regex.Replace(report, "#Uo protocollatore#", corr.descrizione, RegexOptions.IgnoreCase); } } // NOTE // Reperimento dell'ultima nota visibile a tutti string testoNote = string.Empty; foreach (DocsPaVO.Note.InfoNota nota in BusinessLogic.Note.NoteManager.GetNote(infoUtente, new DocsPaVO.Note.AssociazioneNota(DocsPaVO.Note.AssociazioneNota.OggettiAssociazioniNotaEnum.Documento, schedaDoc.systemId), null)) { if (nota.TipoVisibilita == DocsPaVO.Note.TipiVisibilitaNotaEnum.Tutti) { testoNote = nota.Testo; break; } } report = Regex.Replace(report, "#Note#", testoNote, RegexOptions.IgnoreCase); //report custom pat momentaneo if (schedaDoc.creatoreDocumento != null && !string.IsNullOrEmpty(schedaDoc.creatoreDocumento.idCorrGlob_UO)) { Corrispondente corr = BusinessLogic.Utenti.UserManager.getCorrispondenteBySystemIDDisabled(schedaDoc.creatoreDocumento.idCorrGlob_UO); report = Regex.Replace(report, "#Uo creatore#", corr.descrizione, RegexOptions.IgnoreCase); } else { report = Regex.Replace(report, "#Uo creatore#", "", RegexOptions.IgnoreCase); } if (schedaDoc.protocollo.GetType() == typeof(DocsPaVO.documento.ProtocolloEntrata)) { report = Regex.Replace(report, "#Mittente#", ((DocsPaVO.documento.ProtocolloEntrata)schedaDoc.protocollo).mittente.descrizione, RegexOptions.IgnoreCase); } else if (schedaDoc.protocollo.GetType() == typeof(DocsPaVO.documento.ProtocolloUscita)) { report = Regex.Replace(report, "#Mittente#", ((DocsPaVO.documento.ProtocolloUscita)schedaDoc.protocollo).mittente.descrizione, RegexOptions.IgnoreCase); } else if (schedaDoc.protocollo.GetType() == typeof(DocsPaVO.documento.ProtocolloInterno)) { report = Regex.Replace(report, "#Mittente#", ((DocsPaVO.documento.ProtocolloInterno)schedaDoc.protocollo).mittente.descrizione, RegexOptions.IgnoreCase); } report = Regex.Replace(report, "#Numero Allegati#", schedaDoc.allegati.Count.ToString(), RegexOptions.IgnoreCase); logger.Debug("Generazione fileDocumento"); logger.Debug("Creazione content"); result.content = ReportUtils.toByteArray(report); logger.Debug("Content creato"); result.length = result.content.Length; result.contentType = "application/rtf"; result.name = "ricevuta.rtf"; logger.Debug("fileDocumento generato"); } catch (Exception e) { logger.Debug("Errore nella gestione di Report (getRicevutaProtocolloRtf)", e); throw e; } return(result); }
/// <summary></summary> /// <param name="schedaDoc"></param> /// <returns></returns> public static DocsPaVO.documento.FileDocumento getBustaReport(DocsPaVO.documento.SchedaDocumento schedaDoc) { DocsPaVO.documento.FileDocumento result = new DocsPaVO.documento.FileDocumento(); //string path = ReportUtils.getPathName(); //string path = DocsPaUtils.Functions.Functions.GetReportsPath(); string path = AppDomain.CurrentDomain.BaseDirectory + "report"; try { logger.Debug("Generazione report"); string report = ReportUtils.stringFile(path + "\\busta\\headerBusta.txt"); System.Collections.ArrayList dest = ((DocsPaVO.documento.ProtocolloUscita)schedaDoc.protocollo).destinatari; for (int i = 0; i < ((DocsPaVO.documento.ProtocolloUscita)schedaDoc.protocollo).destinatari.Count; i++) { string body = ReportUtils.stringFile(path + "\\busta\\bodyBusta.txt"); logger.Debug("Sostituzione campi destinatario " + i); body = body.Replace("XNOME_REG", schedaDoc.registro.descrizione); logger.Debug("Ricerca dettagli destinatario " + i); DocsPaVO.addressbook.QueryCorrispondente qco = new DocsPaVO.addressbook.QueryCorrispondente(); qco.systemId = ((DocsPaVO.utente.Corrispondente)dest[i]).systemId; DocsPaVO.addressbook.DettagliCorrispondente dettDest = BusinessLogic.Utenti.addressBookManager.dettagliCorrispondenteMethod(qco); body = body.Replace("XNOME_DEST", ((DocsPaVO.utente.Corrispondente)dest[i]).descrizione); body = body.Replace("XINDIRIZZO_DEST", dettDest.Corrispondente[0].indirizzo); string citta = ""; if (dettDest.Corrispondente[0].cap != null) { citta = citta + dettDest.Corrispondente[0].cap + " "; } ; if (dettDest.Corrispondente[0].citta != null) { citta = citta + dettDest.Corrispondente[0].citta + " "; } ; if (dettDest.Corrispondente[0].nazione != null) { citta = citta + "(" + dettDest.Corrispondente[0].nazione + ")"; } ; body = body.Replace("XCITTA_DEST", citta); if (i != 0) { body = body.Replace("XNEW_PAGE", "{\\b0\\lang1040\\langfe1033\\langnp1040 \\page }"); } else { body = body.Replace("XNEW_PAGE", ""); } report = report + body; } string bottom = ReportUtils.stringFile(path + "\\busta\\bottomBusta.txt"); report = report + bottom; logger.Debug("Generazione fileDocumento"); logger.Debug("Creazione content"); result.content = ReportUtils.toByteArray(report); logger.Debug("Content creato"); 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 (getBustaReport)", e); throw e; } return(result); }
/// <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); }