Пример #1
0
        protected override PrintReportResponse GenerateReport(PrintReportRequest request)
        {
            IReportGeneratorBehavior      formatGenerator     = base.CreateReportGenerator(request);
            IReportDataExtractionBehavior reportDataExtractor = new DatasetReportDataExtractionBehavior();

            return(base.GenerateReport(request, reportDataExtractor, formatGenerator));
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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));
        }
Пример #4
0
        /// <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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
        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);
        }
Пример #10
0
        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);
        }
Пример #11
0
        /// <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);
        }
Пример #12
0
        /// <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);
        }
Пример #13
0
        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);
        }
Пример #14
0
        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);
        }
Пример #15
0
        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);
        }
Пример #16
0
        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);
        }