From cff36e43e6dd6dd5e6e6ecdb6a074a44a64faaa5 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Mon, 17 Feb 2020 09:55:04 +0100 Subject: [PATCH] Iniziato update x gestire nuovo formato --- LPA/LPA.csproj | 21 ++++++++++----------- LPA/MainForm.cs | 4 ++-- LPA/packages.config | 8 ++++---- LPA/reportPrinter.cs | 15 +++++++++++---- 4 files changed, 27 insertions(+), 21 deletions(-) diff --git a/LPA/LPA.csproj b/LPA/LPA.csproj index 62fb744..17961f8 100644 --- a/LPA/LPA.csproj +++ b/LPA/LPA.csproj @@ -67,14 +67,14 @@ ..\packages\Microsoft.ReportViewer.Runtime.WinForms.12.0.2402.15\lib\Microsoft.ReportViewer.WinForms.dll - - ..\packages\MongoDB.Bson.2.10.1\lib\net452\MongoDB.Bson.dll + + ..\packages\MongoDB.Bson.2.10.2\lib\net452\MongoDB.Bson.dll - - ..\packages\MongoDB.Driver.2.10.1\lib\net452\MongoDB.Driver.dll + + ..\packages\MongoDB.Driver.2.10.2\lib\net452\MongoDB.Driver.dll - - ..\packages\MongoDB.Driver.Core.2.10.1\lib\net452\MongoDB.Driver.Core.dll + + ..\packages\MongoDB.Driver.Core.2.10.2\lib\net452\MongoDB.Driver.Core.dll ..\packages\MongoDB.Libmongocrypt.1.0.0\lib\net452\MongoDB.Libmongocrypt.dll @@ -106,8 +106,8 @@ ..\packages\StackExchange.Redis.2.0.601\lib\net461\StackExchange.Redis.dll - - ..\packages\SteamWare.3.5.2002.719\lib\net462\SteamWare.dll + + ..\packages\SteamWare.3.5.2002.720\lib\net462\SteamWare.dll @@ -188,6 +188,8 @@ True Resources.resx + + Always @@ -197,8 +199,6 @@ Always - - Always @@ -254,7 +254,6 @@ - diff --git a/LPA/MainForm.cs b/LPA/MainForm.cs index c71d48d..3964759 100644 --- a/LPA/MainForm.cs +++ b/LPA/MainForm.cs @@ -504,7 +504,7 @@ namespace LPA queueConf confCoda = listQueue.Find(conf => conf.name == coda.Key); if (confCoda != null) { - fatto = rPrint.printReport(confCoda.template, confCoda.rdsName, localReportPath, coda.Value.Printer, item.rdsTable, confCoda.deviceInfoParam, true); + fatto = rPrint.printReport(confCoda.template, localReportPath, coda.Value.Printer, item.rdsData, confCoda.deviceInfoParam, true); if(fatto) { coda.Value.NumWaiting--; @@ -674,7 +674,7 @@ namespace LPA queueConf confCoda = listQueue.Find(conf => conf.name == coda.Key); if (confCoda != null) { - fatto = rPrint.printReport(confCoda.template, confCoda.rdsName, localReportPath, coda.Value.Printer, item.rdsTable, confCoda.deviceInfoParam, true); + fatto = rPrint.printReport(confCoda.template, localReportPath, coda.Value.Printer, item.rdsData, confCoda.deviceInfoParam, true); } // fatta stampa aggiorno server con indicazione ceh ho stampato if (fatto) diff --git a/LPA/packages.config b/LPA/packages.config index 7001d73..abb0bca 100644 --- a/LPA/packages.config +++ b/LPA/packages.config @@ -12,9 +12,9 @@ - - - + + + @@ -27,7 +27,7 @@ - + diff --git a/LPA/reportPrinter.cs b/LPA/reportPrinter.cs index db3a8ec..734839d 100644 --- a/LPA/reportPrinter.cs +++ b/LPA/reportPrinter.cs @@ -45,13 +45,12 @@ namespace LPA /// Crea un report locale da file rdlc, carica i dati, esporta report come EMF file e quindi lo invia alla stampante + eventuale backup pdf /// /// Nome report (file) - /// Nome report /// Cartella locale dei report /// nome completo stampante (rispetto al server) - /// tabella dati da caricare nel report + /// tabella dati da caricare nel report /// parametri "device input" /// effettua ANCHE copia pdf - public bool printReport(string reportTemplate, string rdsName, string localReportPath, string printerName, DataTable tabDati, devInfoParam deviceInfoParam, bool doPdfCopy) + public bool printReport(string reportTemplate, string localReportPath, string printerName, Dictionary rdsData, devInfoParam deviceInfoParam, bool doPdfCopy) { bool answ = false; if (deviceInfoParam != null) @@ -61,7 +60,15 @@ namespace LPA //LocalReport report = new LocalReport(); report.EnableExternalImages = true; report.ReportPath = $"{localReportPath}\\{reportTemplate}"; - report.DataSources.Add(new ReportDataSource(rdsName, tabDati)); + // per ogni oggetto rds nome/tabela aggiungo la sorgente dati... + string rdsName = ""; + DataTable tabDati = null; + foreach (var item in rdsData) + { + rdsName = item.Key; + tabDati = item.Value; + report.DataSources.Add(new ReportDataSource(rdsName, tabDati)); + } // stampa da EMF doEmfPrint(printerName, report, deviceInfoParam.xmlParam);