public RipartoSubreport(IList<ReportRipartizioneBilancioDTO> dataSource, CondominioDTO condominio, EsercizioDTO esercizio, BilancioConsuntivoReportParameters parameters, ImpostazioneReportDTO impostazioneReportDTO, decimal importoTotale, decimal importoPreventivo) : base(condominio, esercizio, null ,null, false, true) { _impostazioneReportDTO = impostazioneReportDTO; base.Inizializza(impostazioneReportDTO, parameters.Note); if (impostazioneReportDTO.MultiPage) { var helper = new RipartoHelper(dataSource, impostazioneReportDTO); var columns = helper.GetColumnList(null, null, null, null); var pagine = columns.Select(item => item.PrintPage).Distinct().ToList(); _mergeReports = new List<RipartoSinglePage>(pagine.Count); foreach (var i in pagine) { var columnsPage = columns.Where(item => item.PrintPage == i).Select(item => item.Order); var dataSourcePage = dataSource.Where(item => (item.OrdineConto == 0 && item.IdConto == 0) || columnsPage.Contains(item.OrdineConto)).ToList(); var pageReport = new RipartoSinglePage(dataSourcePage, condominio, esercizio, parameters, impostazioneReportDTO, importoTotale, importoPreventivo, i, true); _mergeReports.Add(pageReport); pageReport.CreateDocument(impostazioneReportDTO); } _reportMerge = _report; _reportMerge.BeforePrint += XtraReportMerged_BeforePrint; } else { var riparto = new RipartoSinglePage(dataSource, condominio, esercizio, parameters, impostazioneReportDTO, importoTotale, importoPreventivo, null, false); var report = riparto.GetReport(); _reportMerge = report; }}
public RipartoSinglePage(IList<ReportRipartizioneBilancioDTO> dataSource, CondominioDTO condominio, EsercizioDTO esercizio, BilancioConsuntivoReportParameters parameters, ImpostazioneReportDTO impostazioneReportDTO, decimal? importoTotale, decimal? importoPreventivo, int? numeroPagina, bool isSubReport) : base(condominio, esercizio, null, null, isSubReport, true) { _parameters = parameters; _dataSource = dataSource; _importoTotale = importoTotale; _importoPreventivo = importoPreventivo; _numeroPagina = numeroPagina; _impostazioniReport = impostazioneReportDTO; _ripartoHelper = new RipartoHelper(dataSource, impostazioneReportDTO); inizializza(); }
public RipartoMerge(IList<ReportRipartizioneBilancioDTO> dataSource, CondominioDTO condominio, EsercizioDTO esercizio, BilancioConsuntivoReportParameters parameters, ImpostazioneReportDTO impostazioneReportDTO, decimal importoTotale, decimal importoPreventivo) { if (impostazioneReportDTO.MultiPage) { var helper = new RipartoHelper(dataSource, impostazioneReportDTO); var columns = helper.GetColumnList(null, null, null, 1); var pagine = columns.Select(item => item.PrintPage).Distinct().ToList(); IList<XtraReport> reports = new List<XtraReport>(); foreach (var i in pagine) { var columnsPage = columns.Where(item => item.PrintPage == i).Select(item => item.Order); var dataSourcePage = dataSource.Where(item => item.OrdineConto == 0 || columnsPage.Contains(item.OrdineConto)).ToList(); var riparto = new RipartoSinglePage(dataSourcePage, condominio, esercizio, parameters, impostazioneReportDTO, importoTotale, importoPreventivo, i, false); var report = riparto.GetReport(); report.CreateDocument(); if (impostazioneReportDTO.FitToPage) report.PrintingSystem.Document.AutoFitToPagesWidth = 1; reports.Add(report); } _reportMerge = BaseReportContainer.GetXtraReport(impostazioneReportDTO, false); _reportMerge.CreateDocument(); var pageNumber = reports[0].Pages.Count; for (int i = 0; i < pageNumber; i++) { foreach (var xtraReport in reports) { if (xtraReport.Pages.Count > i) _reportMerge.Pages.Add(xtraReport.Pages[i]); } } // Reset all page numbers in the resulting document. _reportMerge.PrintingSystem.ContinuousPageNumbering = true; } else { var riparto = new RipartoSinglePage(dataSource, condominio, esercizio, parameters, impostazioneReportDTO, importoTotale, importoPreventivo, null, false); var report = riparto.GetReport(); _reportMerge = report; } }