private static DocsPaVO.trasmissione.Trasmissione cercaTrasmissioneFascicoloTemplate(DocsPaVO.trasmissione.TemplateTrasmissione template, DocsPaVO.fascicolazione.InfoFascicolo infoFascicolo, DocsPaVO.utente.Utente utente, DocsPaVO.utente.Ruolo ruolo) { DocsPaVO.trasmissione.OggettoTrasm oggTrasm = new DocsPaVO.trasmissione.OggettoTrasm(); oggTrasm.infoFascicolo = infoFascicolo; return(Trasmissioni.QueryTrasmManager.getTrasmissione(template.idTrasmissione, "E", false, null, utente, ruolo)); }
/// <summary> /// Reperimento trasmissione corrente /// </summary> /// <param name="idTrasmissione"></param> /// <returns></returns> protected virtual DocsPaVO.trasmissione.Trasmissione GetTrasmissione(string idTrasmissione, string idOggetto, DocsPaVO.trasmissione.TipoOggetto tipoOggetto) { DocsPaVO.trasmissione.Trasmissione retValue = null; if (!string.IsNullOrEmpty(idTrasmissione)) { // Reperimento oggetto trasmissione DocsPaVO.trasmissione.OggettoTrasm oggettoTrasm = new DocsPaVO.trasmissione.OggettoTrasm(); if (tipoOggetto == DocsPaVO.trasmissione.TipoOggetto.DOCUMENTO) { DocsPaVO.documento.SchedaDocumento schedaDocumento = BusinessLogic.Documenti.DocManager.getDettaglio(this._infoUtente, idOggetto, idOggetto); oggettoTrasm.infoDocumento = new DocsPaVO.documento.InfoDocumento(schedaDocumento); } else if (tipoOggetto == DocsPaVO.trasmissione.TipoOggetto.FASCICOLO) { DocsPaVO.fascicolazione.Fascicolo schedaFascicolo = BusinessLogic.Fascicoli.FascicoloManager.getFascicoloById(idOggetto, this._infoUtente); oggettoTrasm.infoFascicolo = new DocsPaVO.fascicolazione.InfoFascicolo(schedaFascicolo); } System.Collections.Generic.List <DocsPaVO.filtri.FiltroRicerca> filters = new System.Collections.Generic.List <DocsPaVO.filtri.FiltroRicerca>(); DocsPaVO.filtri.FiltroRicerca item = new DocsPaVO.filtri.FiltroRicerca(); item.argomento = DocsPaVO.filtri.trasmissione.listaArgomentiNascosti.ID_TRASMISSIONE.ToString(); item.valore = idTrasmissione; filters.Add(item); DocsPaVO.utente.Utente utente = BusinessLogic.Utenti.UserManager.getUtente(this._infoUtente.idPeople); DocsPaVO.utente.Ruolo ruolo = BusinessLogic.Utenti.UserManager.getRuoloById(this._infoUtente.idCorrGlobali); // Utilizzo del metodo di ricerca trasmissioni fornendo i filtri di ricerca int totalPageNumber; int recordCount; DocsPaVO.trasmissione.Trasmissione[] trasmissioni = (DocsPaVO.trasmissione.Trasmissione[]) BusinessLogic.Trasmissioni.QueryTrasmManager.getQueryEffettuateDocMethodPaging( oggettoTrasm, utente, ruolo, filters.ToArray(), 1, out totalPageNumber, out recordCount).ToArray(typeof(DocsPaVO.trasmissione.Trasmissione)); if (trasmissioni.Length == 1) { // Reperimento prima trasmissione estratta retValue = trasmissioni[0]; } } return(retValue); }
/// <summary>Il metodo restituisce un file PDF che rappresenta il report delle trasmissioni relative all'oggetto specificato (documento o fascicolo)</summary> /// <param name="obj">oggetto della trasmissione</param> /// <returns>FileDocumento</returns> public static int reportTrasmDocFasc(DocsPaVO.trasmissione.OggettoTrasm obj, out DocsPaVO.documento.FileDocumento fileDoc) { int result = 0; fileDoc = null; FileStream fs = null; StampaPDF.Report report = null; try { string pathReport = getPath(); string templateXML = pathReport + "XMLRepTrasmDocFasc.xml"; //costruisce il dataTable con le informazioni per il report DataTable dt_U; DataTable dt_R; bool newPage = false; //trasmissioni a ruoli BusinessLogic.Trasmissioni.QueryTrasmManager.getTrasmissioniDocFasc(out dt_R, obj, "R"); //trasmissioni a utenti BusinessLogic.Trasmissioni.QueryTrasmManager.getTrasmissioniDocFasc(out dt_U, obj, "U"); if ((dt_R == null || dt_R.Rows.Count < 1) && (dt_U == null || dt_U.Rows.Count < 1)) { return(0); } //crea il report, inserendo i valori parametrici e riempiendo la tabella fs = new FileStream(templateXML, System.IO.FileMode.Open, System.IO.FileAccess.Read); report = new StampaPDF.Report(fs, pathReport); #region Sostituzione valori parametrici in base al tipo di oggetto Hashtable ht = new Hashtable(); string idOggetto; string descOggetto; if (obj.infoDocumento != null) { if (obj.infoDocumento.segnatura != null && !obj.infoDocumento.segnatura.Equals("")) { idOggetto = "DOCUMENTO: " + obj.infoDocumento.segnatura; } else { idOggetto = "DOCUMENTO: " + obj.infoDocumento.docNumber; } descOggetto = "OGGETTO: " + obj.infoDocumento.oggetto; } else { idOggetto = "FASCICOLO: " + obj.infoFascicolo.codice; descOggetto = "DESCRIZIONE: " + obj.infoFascicolo.descrizione; } ht["@param1"] = idOggetto; ht["@param2"] = descOggetto; report.replace(null, ht); #endregion report.printData(null); // // dt_R.Rows[0][3].ToString()==obj.infoDocumento. // if (dt_R != null && dt_R.Rows.Count > 0) { report.appendParagraph("R_P", "", false); //intestazione trasm a Ruoli report.appendTable("R_T", dt_R, false); //tabella trasm a Ruoli newPage = true; } if (dt_U != null && dt_U.Rows.Count > 0) { report.appendParagraph("U_P", "", newPage); //intestazione trasm a Utenti report.appendTable("U_T", dt_U, false); //tabella trasm a Utenti } MemoryStream ms = report.close(); ms.Flush(); fs.Close(); fileDoc = new DocsPaVO.documento.FileDocumento(); fileDoc.content = ms.GetBuffer(); fileDoc.length = fileDoc.content.Length; fileDoc.contentType = "application/pdf"; fileDoc.name = ""; } catch (StampaPDF.ReportException re) { logger.Debug("Errore nella creazione del Report (stampaPDF)", re); if (fs != null) { fs.Close(); } if (report != null) { report.close(); } result = (int)re.code; } catch (Exception e) { logger.Debug("Errore nella gestione di Report (stampa)", e); if (fs != null) { fs.Close(); } if (report != null) { report.close(); } result = -1; } return(result); }