protected override PrintReportResponse GenerateReport(PrintReportRequest request) { IReportGeneratorBehavior formatGenerator = base.CreateReportGenerator(request); IReportDataExtractionBehavior reportDataExtractor = new DatasetReportDataExtractionBehavior(); return(base.GenerateReport(request, reportDataExtractor, formatGenerator)); }
/// <summary> /// Metodo per la generazione del report /// </summary> /// <param name="request">Informazioni utili alla creazione del report</param> /// <param name="dataExtractor">Oggetto responsabile dell'estrazione dati</param> /// <param name="reportGeneration">Oggetto responsabile della generazione del report fisico</param> /// <returns>Risultato del processo di creazione report</returns> /// <exception cref="ReportGenerationFailedException" /> protected virtual PrintReportResponse GenerateReport(PrintReportRequest request, IReportDataExtractionBehavior dataExtractor, IReportGeneratorBehavior reportGeneration) { PrintReportResponse response = null; try { // Response da restituire response = new PrintReportResponse(); // Recupero dati DataSet dataSet = dataExtractor.ExtractData(request); // Generazione dati per il report List <DocsPaVO.Report.Report> report = this.CreateReport(dataSet, request); // Generazione file report response.Document = reportGeneration.GenerateReport(request, report); } catch (Exception ex) { throw new ReportGenerationFailedException(ex.Message); } // Restituzione del report return(response); }
/// <summary> /// Metodo da richiamare per la generazione di un report. Il comportamento strandard prevede /// l'utilizzo di un behavior per l'estrazione dati basato su query list. Sovrascrivere questo /// metodo per ottenere un comportamento differente. /// </summary> /// <param name="request">Informazioni utili alla generazione del report</param> /// <returns>Outup del processo di generazione</returns> protected virtual PrintReportResponse GenerateReport(PrintReportRequest request) { IReportDataExtractionBehavior reportDataExtractor = new QueryListReportDataExtractionBehavior(); IReportGeneratorBehavior formatGenerator = this.CreateReportGenerator(request); // Generazione del report return(this.GenerateReport(request, reportDataExtractor, formatGenerator)); }
/// <summary> /// Metodo per la generazione del report /// </summary> /// <param name="request"></param> /// <param name="dataExtractor"></param> /// <param name="reportGeneration"></param> /// <returns></returns> protected override PrintReportResponse GenerateReport(PrintReportRequest request, IReportDataExtractionBehavior dataExtractor, IReportGeneratorBehavior reportGeneration) { PrintReportResponse response = null; try { // Lista dei report da esportare List <DocsPaVO.Report.Report> reports = new List <DocsPaVO.Report.Report>(); // Response da restituire response = new PrintReportResponse(); // Dataset per l'estrazione DataSet dataSet = new DataSet(); // Foglio per Accesso documentale request.SearchFilters.Where(f => f.argomento == "tipologia").FirstOrDefault().valore = "Accesso Documentale"; dataSet = dataExtractor.ExtractData(request); reports.AddRange(this.CreateReport(dataSet, request)); // Foglio per Accesso generalizzato e civico request.SearchFilters.Where(f => f.argomento == "tipologia").FirstOrDefault().valore = "Accesso Generalizzato e Civico"; dataSet = dataExtractor.ExtractData(request); reports.AddRange(this.CreateReport(dataSet, request)); // Foglio per Accesso dei consiglieri provinciali request.SearchFilters.Where(f => f.argomento == "tipologia").FirstOrDefault().valore = "Accesso dei Consiglieri provinciali"; dataSet = dataExtractor.ExtractData(request); reports.AddRange(this.CreateReport(dataSet, request)); // Generazione file report response.Document = reportGeneration.GenerateReport(request, reports); // Formato file string ext = string.Empty; if (request.ReportType == ReportTypeEnum.ODS) { ext = "ods"; } else { ext = "xls"; } if (response.Document != null) { response.Document.name = String.Format("Estrazione_Registro_Accessi_{0}.{1}", DateTime.Now.ToString("dd-MM-yyyy"), ext); response.Document.fullName = response.Document.name; } } catch (Exception ex) { throw new ReportGenerationFailedException(ex.Message); } return(response); }
protected override PrintReportResponse GenerateReport(PrintReportRequest request, IReportDataExtractionBehavior dataExtractor, IReportGeneratorBehavior reportGeneration) { PrintReportResponse response = null; try { //Personalizzazione report //le informazioni necessarie sono inserite nella request: string nomePolicy = request.SubTitle; string idIstanza = request.SearchFilters.Where(f => f.argomento == "idIstanza").FirstOrDefault().valore; request.Title = string.Format("{0} - Notifica di chiusura istanza", Amministrazione.AmministraManager.AmmGetInfoAmmCorrente(request.UserInfo.idAmministrazione).Descrizione); request.SubTitle = string.Format("Stampa del {0}", DateTime.Now.ToShortDateString()); request.AdditionalInformation = "Numero istanza: " + idIstanza + "\n"; if (!(string.IsNullOrEmpty(nomePolicy))) { request.AdditionalInformation += "Policy utilizzata: " + nomePolicy + "\n"; } //istanzio la response response = new PrintReportResponse(); //Recupero dataset //DataSet dataSet = dataExtractor.ExtractData(request); //Generazione dati per report List <DocsPaVO.Report.Report> report = new List <DocsPaVO.Report.Report>(); //1 - report principale con esito verifiche //utilizziamo la stessa classe usata per le notifiche di rifiuto //le query sono le stesse report.AddRange(this.GetReport(dataExtractor, request, "NotificheRifiutoVerifiche")); //2 - report aggiuntivo con dettaglio policy report.AddRange(this.GetReport(dataExtractor, request, "NotificheRifiutoPolicy")); //Creazione file report response.Document = reportGeneration.GenerateReport(request, report); } catch (Exception e) { throw new ReportGenerationFailedException(e.Message); } //restituzione del report return(response); }
protected override PrintReportResponse GenerateReport(PrintReportRequest request, IReportDataExtractionBehavior dataExtractor, IReportGeneratorBehavior reportGeneration) { PrintReportResponse response = null; try { //Personalizzazione report //le informazioni necessarie sono inserite nella request: string nomePolicy = request.SubTitle; //string idIstanza = request.SearchFilters.Where(f => f.argomento == "idIstanza").FirstOrDefault().valore; string idSupporto = request.SearchFilters.Where(f => f.argomento == "idSupporto").FirstOrDefault().valore; request.Title = string.Format("{0} - Richiesta di Rigenerazione Istanza", Amministrazione.AmministraManager.AmmGetInfoAmmCorrente(request.UserInfo.idAmministrazione).Descrizione); //request.SubTitle = string.Format("Stampa del {0}", DateTime.Now.ToShortDateString()); //request.AdditionalInformation = "Numero istanza: " + idIstanza + "\n"; //request.SubTitle = string.Format("Si richiede la rigenerazione dell'istanza numero {0} perché risulta danneggiato il supporto numero {1}.", idIstanza, idSupporto); request.AdditionalInformation = string.Empty; //istanzio la response response = new PrintReportResponse(); //Recupero dataset //DataSet dataSet = dataExtractor.ExtractData(request); //Generazione dati per report List <DocsPaVO.Report.Report> report = new List <DocsPaVO.Report.Report>(); report.AddRange(this.GetReport(dataExtractor, request)); //2 - report aggiuntivo con dettaglio policy //report.AddRange(this.GetReport(dataExtractor, request, "NotificheRifiutoPolicy")); //Creazione file report response.Document = reportGeneration.GenerateReport(request, report); } catch (Exception e) { throw new ReportGenerationFailedException(e.Message); } //restituzione del report return(response); }
protected override PrintReportResponse GenerateReport(PrintReportRequest request, IReportDataExtractionBehavior dataExtractor, IReportGeneratorBehavior reportGeneration) { PrintReportResponse response = null; try { response = new PrintReportResponse(); DataSet dataSet = dataExtractor.ExtractData(request); List <DocsPaVO.Report.Report> report = this.CreateReport(dataSet, request); response.Document = reportGeneration.GenerateReport(request, report); // Devo selezionare il tipo di report (policy documenti/policy stampe) string tipo = request.SearchFilters.Where(f => f.argomento.Equals("type")).FirstOrDefault().valore; } catch (Exception ex) { throw new ReportGenerationFailedException(ex.Message); } return(response); }
protected override PrintReportResponse GenerateReport(PrintReportRequest request, IReportDataExtractionBehavior dataExtractor, IReportGeneratorBehavior reportGeneration) { PrintReportResponse response = null; try { // Lista dei report da esportare List <DocsPaVO.Report.Report> reports = new List <DocsPaVO.Report.Report>(); // Response da restituire response = new PrintReportResponse(); // Costruzione della prima parte del titolo String title = GetTitle(request); request.Title = title; // Repertori creati dopo l'ultima stampa reports.AddRange(this.GetReport(dataExtractor, request, "StampaRepertoriNuovi", "Nuovi documenti")); request.Title = title; // Repertori creati dopo l'ultima stampa reports.AddRange(this.GetReport(dataExtractor, request, "StampaRepertoriAggiornati", "Documenti modificati")); //String.Format("{0}\n{1}", "Documenti repertoriati nuovi", "Ruoli disabilitati"), "Foglio 1 di 7")); // Generazione file report response.Document = reportGeneration.GenerateReport(request, reports); } catch (Exception ex) { throw new ReportGenerationFailedException(ex.Message); } // Restituzione del report return(response); }
protected override PrintReportResponse GenerateReport(PrintReportRequest request, IReportDataExtractionBehavior dataExtractor, IReportGeneratorBehavior reportGeneration) { PrintReportResponse response = null; try { response = new PrintReportResponse(); DataSet dataSet = new DataSet(); List <DocsPaVO.Report.Report> report = new List <DocsPaVO.Report.Report>(); if (request.ContextName.Equals("ExportProcessiDiFirma")) { // 1) report processi di firma request.ReportKey = "ExportProcessiFirma"; dataSet = dataExtractor.ExtractData(request); report.AddRange(this.CreateReport(dataSet, request)); // 2) report istanza di processi di firma request.ReportKey = "ExportIstanzeProcessiFirma"; dataSet = dataExtractor.ExtractData(request); report.AddRange(this.CreateReport(dataSet, request)); response.Document = reportGeneration.GenerateReport(request, report); if (response.Document != null) { string ext = string.Empty; switch (request.ReportType) { case ReportTypeEnum.PDF: ext = "pdf"; break; case ReportTypeEnum.Excel: ext = "xls"; break; case ReportTypeEnum.ODS: ext = "ods"; break; } response.Document.name = String.Format("Report_Processi_Firma_{0}." + ext, DateTime.Now.ToString("dd-MM-yyyy")); response.Document.fullName = response.Document.name; } } else { dataSet = dataSet = dataExtractor.ExtractData(request); report.AddRange(this.CreateReport(dataSet, request)); response.Document = reportGeneration.GenerateReport(request, report); string ext = string.Empty; switch (request.ReportType) { case ReportTypeEnum.PDF: ext = "pdf"; break; case ReportTypeEnum.Excel: ext = "xls"; break; } if (response.Document != null) { response.Document.name = String.Format("Report_Processi_Firma_Invalidati_{0}." + ext, DateTime.Now.ToString("dd-MM-yyyy")); response.Document.fullName = response.Document.name; } } } catch (Exception ex) { logger.Debug("Errore nella generazione del report - ", ex); throw new ReportGenerationFailedException(ex.Message); } return(response); }
protected override PrintReportResponse GenerateReport(PrintReportRequest request, IReportDataExtractionBehavior dataExtractor, IReportGeneratorBehavior reportGeneration) { // Il DataSet da utilizzare nel report è contenuto all'interno della request // per non replicare tutti i metodi necessari alla ricerca in rubrica PrintReportResponse response = null; try { // eseguo il cast della request PrintReportRequestDataset casted = request as PrintReportRequestDataset; if (casted == null) { throw new RequestNotValidException(); } response = new PrintReportResponse(); List <DocsPaVO.Report.Report> report = new List <DocsPaVO.Report.Report>(); if (casted.InputDataset != null) { report.AddRange(this.CreateReport(casted.InputDataset, request)); } response.Document = reportGeneration.GenerateReport(request, report); } catch (Exception ex) { logger.Debug("Errore nella generazione del report - ", ex); throw new ReportGenerationFailedException(ex.Message); } return(response); }
/// <summary> /// Generazione del report con la lista dei ruoli disabilitati o inibiti. Il report prodotto sarà un worksheet Excel /// costituito da 2 fogli con i seguenti sotto report: /// <ol> /// <li>Ruoli Disabilitati (codice, descrizione, UO)</li> /// <li>Ruoli inibiti alla ricezione di trasmissioni (codice, descrizione , UO)</li> /// </ol> /// </summary> /// <param name="request">Informazioni sul report da generare</param> /// <param name="dataExtractor">Estrattore dei dati</param> /// <param name="reportGeneration">Behavior costruttore del report</param> /// <returns>Report prodotto</returns> protected override PrintReportResponse GenerateReport(PrintReportRequest request, IReportDataExtractionBehavior dataExtractor, IReportGeneratorBehavior reportGeneration) { PrintReportResponse response = null; try { // Lista dei report da esportare List <DocsPaVO.Report.Report> reports = new List <DocsPaVO.Report.Report>(); // Response da restituire response = new PrintReportResponse(); // Generazione del report relativo ai ruoli disabilitati reports.AddRange(this.GetReport(dataExtractor, request, "DisabledRoles", String.Format("{0}\n{1}", request.Title, "Ruoli disabilitati"), "Foglio 1 di 2")); // Generazione del report relativo ai ruoli inibiti alla ricezione di trasmissioni reports.AddRange(this.GetReport(dataExtractor, request, "InhibitedRoles", "Ruoli inibiti alla ricezione trasmissioni", "Foglio 2 di 2")); // Generazione file report response.Document = reportGeneration.GenerateReport(request, reports); } catch (Exception ex) { throw new ReportGenerationFailedException(ex.Message); } // Restituzione del report return(response); }
/// <summary> /// Metodo per la generazione del report sulla consistenza dell'organigramma. Il report prodotto sarà un worksheet Excel /// costituito da 7 fogli con i seguenti sotto report: /// <ol> /// <li>Ruoli Disabilitati (codice, descrizione, UO)</li> /// <li>Ruoli inibiti alla ricezione di trasmissioni (codice, descrizione , UO)</li> /// <li>Ruoli senza utenti(codice, descrizione, UO)</li> /// <li>Ruoli senza registri o RF (codice, descrizione, UO)</li> /// <li>Ruoli senza funzioni (codice, descrizione, UO)</li> /// <li>UO senza ruoli (codice, descrizione, UO Padre)</li> /// <li>UO senza ruoli di riferimento (codice descrizione, UO Padre)</li> /// </ol> /// </summary> /// <param name="request">Informazioni sul report da generare</param> /// <param name="dataExtractor">Estrattore dei dati</param> /// <param name="reportGeneration">Behavior responsabile della generazione del report</param> /// <returns>Report</returns> protected override PrintReportResponse GenerateReport(PrintReportRequest request, IReportDataExtractionBehavior dataExtractor, IReportGeneratorBehavior reportGeneration) { PrintReportResponse response = null; try { // Lista dei report da esportare List <DocsPaVO.Report.Report> reports = new List <DocsPaVO.Report.Report>(); // Response da restituire response = new PrintReportResponse(); // Generazione del report relativo ai ruoli disabilitati (essengo il primo report, viene scritto anche // il titolo reports.AddRange(this.GetReport(dataExtractor, request, "DisabledRoles", String.Format("{0}\n{1}", request.Title, "Ruoli disabilitati"), "Foglio 1 di 7")); // Generazione del report relativo ai ruoli inibiti alla ricezione di trasmissioni reports.AddRange(this.GetReport(dataExtractor, request, "InhibitedRoles", "Ruoli inibiti alla ricezione trasmissioni", "Foglio 2 di 7")); // Generazione del report relativo ai ruoli senza utenti reports.AddRange(this.GetReport(dataExtractor, request, "RolesWOutUsers", "Ruoli senza utenti", "Foglio 3 di 7")); // Generazione del report relativo ai ruoli senza registri o rf reports.AddRange(this.GetReport(dataExtractor, request, "RolesWOutRegsOrRF", "Ruoli senza registri o rf", "Foglio 4 di 7")); // Generazione del report relativo ai ruoli senza funzioni reports.AddRange(this.GetReport(dataExtractor, request, "RolesWOutFunctions", "Ruoli senza funzioni", "Foglio 5 di 7")); // Generazione del report relativo alle UO senza ruoli reports.AddRange(this.GetReport(dataExtractor, request, "UOWOutRoles", "UO senza ruoli", "Foglio 6 di 7")); // Generazione del report relativo alle UO senza ruoli di riferimento reports.AddRange(this.GetReport(dataExtractor, request, "UOWOutRF", "UO senza ruoli di riferimento", "Foglio 7 di 7")); // Generazione file report response.Document = reportGeneration.GenerateReport(request, reports); } catch (Exception ex) { throw new ReportGenerationFailedException(ex.Message); } // Restituzione del report return(response); }
protected override PrintReportResponse GenerateReport(PrintReportRequest request, IReportDataExtractionBehavior dataExtractor, IReportGeneratorBehavior reportGeneration) { PrintReportResponse response = null; try { response = new PrintReportResponse(); DataSet dataSet = new DataSet(); List <DocsPaVO.Report.Report> report = new List <DocsPaVO.Report.Report>(); dataSet = dataExtractor.ExtractData(request); report.AddRange(this.CreateReport(dataSet, request)); response.Document = reportGeneration.GenerateReport(request, report); } catch (Exception ex) { logger.Debug("Errore nella generazione del report - ", ex); throw new ReportGenerationFailedException(ex.Message); } return(response); }
protected override PrintReportResponse GenerateReport(PrintReportRequest request, IReportDataExtractionBehavior dataExtractor, IReportGeneratorBehavior reportGeneration) { PrintReportResponse response = null; try { response = new PrintReportResponse(); // selezione tipo report (micro associate o ruoli/utenti) //string key = request.AdditionalInformation; //request.AdditionalInformation = string.Empty; //request.ReportKey = key; DataSet dataSet = new DataSet(); List <DocsPaVO.Report.Report> report = new List <DocsPaVO.Report.Report>(); // 1) report micro associate request.ReportKey = "AmmExportMacroFunzioni_Micro"; dataSet = dataExtractor.ExtractData(request); report.AddRange(this.CreateReport(dataSet, request)); // 2) report ruoli/utenti associati request.ReportKey = "AmmExportMacroFunzioni_Ruoli"; dataSet = dataExtractor.ExtractData(request); report.AddRange(this.CreateReport(dataSet, request)); response.Document = reportGeneration.GenerateReport(request, report); if (response.Document != null) { response.Document.name = String.Format("Report_Tipi_Funzione_{0}.xls", DateTime.Now.ToString("dd-MM-yyyy")); response.Document.fullName = response.Document.name; } } catch (Exception ex) { logger.Debug("Errore nella generazione del report - ", ex); throw new ReportGenerationFailedException(ex.Message); } return(response); }
protected override PrintReportResponse GenerateReport(PrintReportRequest request, IReportDataExtractionBehavior dataExtractor, IReportGeneratorBehavior reportGeneration) { PrintReportResponse response = null; try { //personalizzo il report request.Title = String.Format("{0} - Log Conservazione", Amministrazione.AmministraManager.AmmGetInfoAmmCorrente(request.UserInfo.idAmministrazione).Descrizione); request.SubTitle = string.Format("Data generazione report: {0}", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")); request.AdditionalInformation = this.ReportSummary(request.SearchFilters); //istanzio la response da restituire response = new PrintReportResponse(); // Recupero dati DataSet dataSet = dataExtractor.ExtractData(request); // Generazione dati per il report List <DocsPaVO.Report.Report> report = this.CreateReport(dataSet, request); // Generazione file report response.Document = reportGeneration.GenerateReport(request, report); } catch (Exception ex) { throw new ReportGenerationFailedException(ex.Message); } // Restituzione del report return(response); }
protected override PrintReportResponse GenerateReport(PrintReportRequest request, IReportDataExtractionBehavior dataExtractor, IReportGeneratorBehavior reportGeneration) { PrintReportResponse response = null; try { response = new PrintReportResponse(); DataSet dataSet = new DataSet(); List <DocsPaVO.Report.Report> report = new List <DocsPaVO.Report.Report>(); // i due fogli del report sono stati uniti in un singolo report dataSet = dataExtractor.ExtractData(request); report.AddRange(this.CreateReport(dataSet, request)); response.Document = reportGeneration.GenerateReport(request, report); if (response.Document != null) { response.Document.name = String.Format("Report_Funzioni_{0}.xls", DateTime.Now.ToString("dd-MM-yyyy")); response.Document.fullName = response.Document.name; } } catch (Exception ex) { throw new ReportGenerationFailedException(ex.Message); } return(response); }