using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using ceTe.DynamicPDF.Text; using ceTe.DynamicPDF; using PDFGenerator.Presentation.Section; using PDFGenerator; using PDFGenerator.Presentation.Section.Tables; using PDFGenerator.Presentation.Section.Charts; using PDFGenerator.BusinessLayer; using PDFGenerator.BusinessLayer.DataSection; using ceTe.DynamicPDF.PageElements; using ContrattoSei.Utilities; using System.Collections.Generic; using System.ComponentModel; using System.Reflection; using System.Linq; /// /// Summary description for S80ALT /// /// public class S80ALT : ISezione { string Titolo = string.Empty; string _testotitolo; string _testointroduttivo; NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); /// /// Testo introduttivo della sezione. /// public string TestoIntroduttivo { get { return _testointroduttivo; } set { _testointroduttivo = value; } } /// /// Testo del titolo della sezione. /// public string TestoTitolo { get { return _testotitolo; } set { _testotitolo = value; } } public void setTitolo(string label) { Titolo = label; } public S80ALT() { // // TODO: Add constructor logic here // } public void writeSezione(DataThread dataThread) { //NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); DocumentPDF document = dataThread.DocumentPDF; DatiTabella datitab; DataSetS80ALT set = (DataSetS80ALT)dataThread.Data.DatiSezione; //setta la datatable che contiene i dati per disegnare la tabella Dati datitab = new DatiTabella(); datitab.table = set.Tables["GraficoPiramide"]; //string captionFase1 = datitab.table.Columns["Fase1"].Caption; //string captionFase2 = datitab.table.Columns["Fase2"].Caption; //string captionFase3 = datitab.table.Columns["Fase3"].Caption; // Aggiungo una pagina se la tabella non entra nella corrente. if (document.checkMargin(130)) document.addPage(); //document.setSezTitolo(Titolo); // Titolo della sezione logger.Info("Titolo della sezione " + _testointroduttivo); document.setLastPos(-40); _testointroduttivo = _testointroduttivo.Replace("si è evoluto l’ammontare del Suo patrimonio dall’attivazione del monitoraggio. Sono inoltre riportate, per ogni area di bisogno, l'allocazione ottimale (\"Piramide Modello\") corrente, al precedente invio del report e all’attivazione del monitoraggio, delle risorse finanziarie che lei detiene presso Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest.", "si è evoluto l’ammontare del Suo patrimonio dall’attivazione del monitoraggio. Sono inoltre riportate, per ogni area di bisogno, l'allocazione ottimale (\"Piramide Modello\") corrente, al precedente invio del report e all’attivazione del monitoraggio, delle risorse finanziarie che lei detiene presso Fideuram S.p.A., commercializzate tramite la rete di private banker Sanpaolo Invest."); document.setChapterHeader(string.Concat(_testointroduttivo,"
"), 0, 520, 8); #region Definizione delle Vars logger.Info("Definizione delle Vars"); DataRow rowTemplate; //float TotalePatrimonio; float Ypos = 0; float totaleTabellaAlttez = 0; float totaleTabellaAlttezHeader = 0; int larghezzaColonnaDescrizione = 0; //10; //è variabile e da calcolare in base allo spazio disponibile int larghezzaColonnaFase1 = 70; //80 //80; //130; //80; //70 int larghezzaColonnaFase2 = 70; //80 //150; //80; //60 int larghezzaColonnaFase3 = 70; //80 // 130; //80; //70 int larghezzaColonnaFase4 = 70; //70 //60 int larghezzaColonnaFase5 = 70; //70 //70 int larghezzaColonnaFase6 = 68; //70 //60 int larghezzaUltimaColonna = 0; #endregion #region Piramide //disegno la parte della piramide Piramide modello = new Piramide(""); /**************************** Modifica nuova sezione per report monitoraggio 28 - 10 - 2020-- Pino ***************************/ //modello.writeSezione(document); //Originale modello.writeSezionePiramideTagliata(document); logger.Info("Piramide - dopo la chiamata a modello.writeSezionePiramideTagliata"); /****************************************************************************************************************************/ //Ypos = document.getLastPos() - 35; //-35 Ypos = document.getLastPos(); #endregion int nFasi = 0; #region Disegno Header DatiTabella datiHeader; datiHeader = new DatiTabella(); datiHeader.table = set.Tables["GraficoPiramideHeader"]; DataRow rowTemplateHeader = datiHeader.table.Rows[0]; Tabella TabellaAreaBisognoHeader = new Tabella(); TabellaAreaBisognoHeader.LineeTabella = false; TabellaAreaBisognoHeader.Y = Ypos; //document.getLastPos() - 1; //Ypos; TabellaAreaBisognoHeader.X = document.getMargineLeft(); TabellaAreaBisognoHeader.Header = true; TabellaAreaBisognoHeader.HeaderFont = 8; TabellaAreaBisognoHeader.SaltoPagina = false; TabellaAreaBisognoHeader.Datasource = datiHeader.table; TabellaAreaBisognoHeader.AltezzaCella = 1; logger.Info("Disegno Header - Impostazioni Tabella"); int larghezzaColonnaDescrizioneHeader = 0; //80; //è variabile e da calcolare in base allo spazio disponibile int larghezzaColonnaGruppoFase1 = 200; //110; //80; //70 int larghezzaColonnaGruppoFase2 = 150; // 160; //80; //60 int larghezzaColonnaGruppoFase3 = 162; // 150; //80; //70 int larghezzaUltimaColonnaHeader = 0; foreach (DataColumn column in TabellaAreaBisognoHeader.Datasource.Columns) { if (column.ColumnName == "GruppoFase1") { logger.Info("Disegno Header - Gruppo Fase 1"); if (TabellaAreaBisognoHeader.Datasource.Columns[2].Caption != TabellaAreaBisognoHeader.Datasource.Columns[2].ColumnName) { logger.Info("Disegno Header - Gruppo Fase 1 Impostazione Colonna con dati Caption"); TabellaAreaBisognoHeader.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaGruppoFase1, TipoAllineamento.DESTRA, false, 8, false)); // -25 è la larghezza della colonna che conterrà l'immagine nFasi++; } else { logger.Info("Disegno Header - Gruppo Fase 1 Impostazione Colonna senza dati Caption"); TabellaAreaBisognoHeader.Colonne.Add(new Colonna(column.ColumnName, "", larghezzaColonnaGruppoFase1, TipoAllineamento.DESTRA, false, 8, false)); // -25 è la larghezza della colonna che conterrà l'immagine } } if (column.ColumnName == "GruppoFase2") { logger.Info("Disegno Header - Gruppo Fase 2"); if (column.Caption != column.ColumnName) { logger.Info("Disegno Header - Gruppo Fase 2 Impostazione Colonna con dati Caption"); TabellaAreaBisognoHeader.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaGruppoFase2, TipoAllineamento.DESTRA, false, 8, false)); // -25 è la larghezza della colonna che conterrà l'immagine nFasi++; } else { logger.Info("Disegno Header - Gruppo Fase 2 Impostazione Colonna con dati Caption 1"); TabellaAreaBisognoHeader.Colonne.Add(new Colonna(column.ColumnName, TabellaAreaBisognoHeader.Datasource.Columns[1].Caption, larghezzaColonnaGruppoFase2, TipoAllineamento.DESTRA, false, 8, false)); // -25 è la larghezza della colonna che conterrà l'immagine nFasi++; //TabellaAreaBisognoHeader.Colonne[1].Nome = string.Empty; } } if (column.ColumnName == "GruppoFase3") { logger.Info("Disegno Header - Gruppo Fase 3"); TabellaAreaBisognoHeader.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaGruppoFase3, TipoAllineamento.CENTRATO, false, 8, false)); // -25 è la larghezza della colonna che conterrà l'immagine nFasi++; } } TabellaAreaBisognoHeader.Colonne.Insert(0, new Colonna("DescrizionePiramide", "", larghezzaColonnaDescrizioneHeader, TipoAllineamento.SINISTRA, false, 8, false)); TabellaAreaBisognoHeader.Draw(datiHeader, document); Ypos += TabellaAreaBisognoHeader.AltezzaTabella; totaleTabellaAlttezHeader += TabellaAreaBisognoHeader.AltezzaTabella; #endregion #region Disegno Tabella Fase 1,2,3 datitab = new DatiTabella(); #region "Test Nuova Formattazione -- Pino /**************************** Modifica nuova sezione per report monitoraggio 28 - 10 - 2020-- Pino ***************************/ List _listaPirPerc = ConvertTo(set.Tables["GraficoPiramide"]); //int conta = 0; //foreach (PiramidePercentuale item in _listaPirPerc) //{ // switch (conta) // { // case 0: // item.Descrizione = "EXT"; // break; // case 1: // item.Descrizione = "INV"; // break; // case 2: // item.Descrizione = "PRE"; // break; // case 3: // item.Descrizione = "RIS"; // break; // case 4: // item.Descrizione = "LIQ"; // break; // case 5: // item.Descrizione = "EXTPERC"; // break; // case 6: // item.Descrizione = "INVPERC"; // break; // case 7: // item.Descrizione = "PREPERC"; // break; // case 8: // item.Descrizione = "RISPERC"; // break; // case 9: // item.Descrizione = "LIQPERC"; // break; // } // conta += 1; //} //_listaPirPerc.Find(f => f.Descrizione == "EXT").Fase1Percentuale = _listaPirPerc.Where(f => f.Descrizione == "EXTPERC").Select(s => s.Fase1Percentuale).First(); //_listaPirPerc.Find(f => f.Descrizione == "EXT").Fase2Percentuale = _listaPirPerc.Where(f => f.Descrizione == "EXTPERC").Select(s => s.Fase2Percentuale).First(); //_listaPirPerc.Find(f => f.Descrizione == "EXT").Fase3Percentuale = _listaPirPerc.Where(f => f.Descrizione == "EXTPERC").Select(s => s.Fase3Percentuale).First(); //_listaPirPerc.Find(f => f.Descrizione == "INV").Fase1Percentuale = _listaPirPerc.Where(f => f.Descrizione == "INVPERC").Select(s => s.Fase1Percentuale).First(); //_listaPirPerc.Find(f => f.Descrizione == "INV").Fase2Percentuale = _listaPirPerc.Where(f => f.Descrizione == "INVPERC").Select(s => s.Fase2Percentuale).First(); //_listaPirPerc.Find(f => f.Descrizione == "INV").Fase3Percentuale = _listaPirPerc.Where(f => f.Descrizione == "INVPERC").Select(s => s.Fase3Percentuale).First(); //_listaPirPerc.Find(f => f.Descrizione == "PRE").Fase1Percentuale = _listaPirPerc.Where(f => f.Descrizione == "PREPERC").Select(s => s.Fase1Percentuale).First(); //_listaPirPerc.Find(f => f.Descrizione == "PRE").Fase2Percentuale = _listaPirPerc.Where(f => f.Descrizione == "PREPERC").Select(s => s.Fase2Percentuale).First(); //_listaPirPerc.Find(f => f.Descrizione == "PRE").Fase3Percentuale = _listaPirPerc.Where(f => f.Descrizione == "PREPERC").Select(s => s.Fase3Percentuale).First(); //_listaPirPerc.Find(f => f.Descrizione == "RIS").Fase1Percentuale = _listaPirPerc.Where(f => f.Descrizione == "RISPERC").Select(s => s.Fase1Percentuale).First(); //_listaPirPerc.Find(f => f.Descrizione == "RIS").Fase2Percentuale = _listaPirPerc.Where(f => f.Descrizione == "RISPERC").Select(s => s.Fase2Percentuale).First(); //_listaPirPerc.Find(f => f.Descrizione == "RIS").Fase3Percentuale = _listaPirPerc.Where(f => f.Descrizione == "RISPERC").Select(s => s.Fase3Percentuale).First(); //_listaPirPerc.Find(f => f.Descrizione == "LIQ").Fase1Percentuale = _listaPirPerc.Where(f => f.Descrizione == "LIQPERC").Select(s => s.Fase1Percentuale).First(); //_listaPirPerc.Find(f => f.Descrizione == "LIQ").Fase2Percentuale = _listaPirPerc.Where(f => f.Descrizione == "LIQPERC").Select(s => s.Fase2Percentuale).First(); //_listaPirPerc.Find(f => f.Descrizione == "LIQ").Fase3Percentuale = _listaPirPerc.Where(f => f.Descrizione == "LIQPERC").Select(s => s.Fase3Percentuale).First(); //_listaPirPerc.RemoveAll(x => x.Descrizione.Contains("PERC")); //_listaPirPerc.ForEach(ff => ff.Descrizione = string.Empty); DataTable _dt = ToDataTable(_listaPirPerc); _dt.TableName = "GraficoPiramide"; _dt.Columns[1].Caption = "Controvalore
(€)"; _dt.Columns[2].Caption = "Piramide
Modello (%)"; _dt.Columns[3].Caption = "Controvalore
(€)"; _dt.Columns[4].Caption = "Piramide
Modello (%)"; _dt.Columns[5].Caption = "Controvalore
(€)"; _dt.Columns[6].Caption = "Piramide
Modello (%)"; logger.Info(string.Concat(" Disegno Tabella Fase 1,2,3 - Nuova Formattazione", _listaPirPerc.Count().ToString())); /****************************************************************************************************************************/ #endregion //datitab.table = set.Tables["GraficoPiramide"]; //ORIGINALE datitab.table = _dt; rowTemplate = datitab.table.Rows[0]; Tabella TabellaAreaBisogno = new Tabella(); TabellaAreaBisogno.LineeTabella = false; TabellaAreaBisogno.Y = Ypos; //TabellaAreaBisognoHeader.Y + 25; //Ypos; TabellaAreaBisogno.X = document.getMargineLeft(); TabellaAreaBisogno.Header = true; TabellaAreaBisogno.HeaderFont = 8; TabellaAreaBisogno.SaltoPagina = false; TabellaAreaBisogno.Datasource = datitab.table; TabellaAreaBisogno.AltezzaCella = 30; larghezzaColonnaDescrizione = 512; logger.Info("Disegno Tabella Fase 1,2,3 - Impostazioni Tabella"); // Definizione delle colonne foreach (DataColumn column in TabellaAreaBisogno.Datasource.Columns) { if (column.ColumnName.ToLower() == "fase1" && rowTemplate["fase1"].ToString() != string.Empty) { logger.Info("Disegno Tabella Fase 1,2,3 - Gruppo Fase 1"); larghezzaColonnaDescrizione -= larghezzaColonnaFase1; larghezzaUltimaColonna = larghezzaColonnaFase1; TabellaAreaBisogno.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase1, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine //nFasi++; } if (column.ColumnName == "Fase1Percentuale" && rowTemplate["Fase1Percentuale"].ToString() != string.Empty) { logger.Info("Disegno Tabella Fase 1,2,3 - Gruppo Fase 1Perc"); larghezzaColonnaDescrizione -= larghezzaColonnaFase4; larghezzaUltimaColonna = larghezzaColonnaFase4; TabellaAreaBisogno.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase4, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine //nFasi++; } if (column.ColumnName.ToLower() == "fase2" && rowTemplate["fase2"].ToString() != string.Empty) { logger.Info("Disegno Tabella Fase 1,2,3 - Gruppo Fase 2"); larghezzaColonnaDescrizione -= larghezzaColonnaFase2; larghezzaUltimaColonna = larghezzaColonnaFase2; TabellaAreaBisogno.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase2, TipoAllineamento.DESTRA, false, 7, false));// -25 è la larghezza della colonna che conterrà l'immagine //nFasi++; } if (column.ColumnName == "Fase2Percentuale" && rowTemplate["Fase2Percentuale"].ToString() != string.Empty) { logger.Info("Disegno Tabella Fase 1,2,3 - Gruppo Fase 2Perc"); larghezzaColonnaDescrizione -= larghezzaColonnaFase5; larghezzaUltimaColonna = larghezzaColonnaFase5; TabellaAreaBisogno.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase5, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine //nFasi++; } if (column.ColumnName.ToLower() == "fase3" && rowTemplate["fase3"].ToString() != string.Empty) { logger.Info("Disegno Tabella Fase 1,2,3 - Gruppo Fase 3"); larghezzaColonnaDescrizione -= larghezzaColonnaFase3; larghezzaUltimaColonna = larghezzaColonnaFase3; TabellaAreaBisogno.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase3, TipoAllineamento.DESTRA, false, 7, false));// -25 è la larghezza della colonna che conterrà l'immagine //nFasi++; } if (column.ColumnName == "Fase3Percentuale" && rowTemplate["Fase3Percentuale"].ToString() != string.Empty) { logger.Info("Disegno Tabella Fase 1,2,3 - Gruppo Fase 3Perc"); larghezzaColonnaDescrizione -= larghezzaColonnaFase6; larghezzaUltimaColonna = larghezzaColonnaFase6; TabellaAreaBisogno.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase6, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine //nFasi++; } } TabellaAreaBisogno.Colonne.Insert(0, new Colonna("Descrizione", "Aree di Bisogno", larghezzaColonnaDescrizione, TipoAllineamento.SINISTRA, false, 7, false)); TabellaAreaBisogno.Draw(datitab, document); Ypos += TabellaAreaBisogno.AltezzaTabella; totaleTabellaAlttez += TabellaAreaBisogno.AltezzaTabella; #endregion #region Disegno Tabella Totale Risorse Allocate Ypos += 40; //rowTemplate = set.Tables["RisorseNonAllocate"].Rows[0]; // Originale rowTemplate = set.Tables["RisorseAllocate"].Rows[0]; DataRow rowTemplateTotale = set.Tables["DatiTotale"].Rows[0]; if ((rowTemplate["fase1"].ToString() != rowTemplateTotale["fase1"].ToString()) || (rowTemplate["fase2"].ToString() != rowTemplateTotale["fase2"].ToString()) || rowTemplate["fase3"].ToString() != rowTemplateTotale["fase3"].ToString()) { if ((rowTemplate["fase1"].ToString() != "0,00" && rowTemplate["fase1"].ToString() != string.Empty) || (rowTemplate["fase2"].ToString() != "0,00" && rowTemplate["fase2"].ToString() != string.Empty) || (rowTemplate["fase3"].ToString() != "0,00" && rowTemplate["fase3"].ToString() != string.Empty)) { logger.Info("Disegno Tabella Totale Risorse Allocate"); datitab = new DatiTabella(); /**************************** Modifica nuova sezione per report monitoraggio 28 - 10 - 2020-- Pino ***************************/ List _listaTotaliRA = ConvertTo(set.Tables["RisorseAllocate"]); DataTable _dtTotaliRA = ToDataTable(_listaTotaliRA); _dtTotaliRA.TableName = "RisorseAllocate"; _dtTotaliRA.Columns[1].Caption = "Controvalore
(€)"; _dtTotaliRA.Columns[2].Caption = "Piramide
Modello (%)"; _dtTotaliRA.Columns[3].Caption = "Controvalore
(€)"; _dtTotaliRA.Columns[4].Caption = "Piramide
Modello (%)"; _dtTotaliRA.Columns[5].Caption = "Controvalore
(€)"; _dtTotaliRA.Columns[6].Caption = "Piramide
Modello (%)"; logger.Info(string.Concat("Disegno Tabella Totale Risorse Allocate, righe: ", _dtTotaliRA.Rows.Count.ToString())); /****************************************************************************************************************************/ //datitab.table = set.Tables["RisorseAllocate"]; //rowTemplate = datitab.table.Rows[0]; datitab.table = _dtTotaliRA; rowTemplate = _dtTotaliRA.Rows[0]; Tabella tabellaTotale = new Tabella(); tabellaTotale.X = document.getMargineLeft(); tabellaTotale.Y = Ypos; tabellaTotale.Header = false; tabellaTotale.SaltoPagina = false; tabellaTotale.Datasource = datitab.table; larghezzaColonnaDescrizione = 512; logger.Info("Disegno Tabella Totale Risorse Allocate - Impostazione tabellaTotale"); // Definizione delle colonne foreach (DataColumn column in tabellaTotale.Datasource.Columns) { if (column.ColumnName.ToLower() == "fase1" && rowTemplate["fase1"].ToString() != string.Empty) { logger.Info("Disegno Tabella Totale Risorse Allocate - fase 1"); larghezzaColonnaDescrizione -= larghezzaColonnaFase1; tabellaTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase1, TipoAllineamento.DESTRA, true, 7, true)); } if (column.ColumnName == "Fase1Percentuale" && rowTemplate["Fase1Percentuale"].ToString() != string.Empty) { logger.Info("Disegno Tabella Totale Risorse Allocate - fase 1Perc"); larghezzaColonnaDescrizione -= larghezzaColonnaFase4; tabellaTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase4, TipoAllineamento.DESTRA, true, 7, true)); // -25 è la larghezza della colonna che conterrà l'immagine } if (column.ColumnName.ToLower() == "fase2" && rowTemplate["fase2"].ToString() != string.Empty) { logger.Info("Disegno Tabella Totale Risorse Allocate - fase 2"); larghezzaColonnaDescrizione -= larghezzaColonnaFase2; tabellaTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase2, TipoAllineamento.DESTRA, true, 7, true)); } if (column.ColumnName == "Fase2Percentuale" && rowTemplate["Fase2Percentuale"].ToString() != string.Empty) { logger.Info("Disegno Tabella Totale Risorse Allocate - fase 2Perc"); larghezzaColonnaDescrizione -= larghezzaColonnaFase5; tabellaTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase5, TipoAllineamento.DESTRA, true, 7, true)); // -25 è la larghezza della colonna che conterrà l'immagine } if (column.ColumnName.ToLower() == "fase3" && rowTemplate["fase3"].ToString() != string.Empty) { logger.Info("Disegno Tabella Totale Risorse Allocate - fase 3"); larghezzaColonnaDescrizione -= larghezzaColonnaFase3; tabellaTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase3, TipoAllineamento.DESTRA, true, 7, true)); } if (column.ColumnName == "Fase3Percentuale" && rowTemplate["Fase3Percentuale"].ToString() != string.Empty) { logger.Info("Disegno Tabella Totale Risorse Allocate - fase 3Perc"); larghezzaColonnaDescrizione -= larghezzaColonnaFase6; tabellaTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase6, TipoAllineamento.DESTRA, true, 7, true)); // -25 è la larghezza della colonna che conterrà l'immagine } } tabellaTotale.Colonne.Insert(0, new Colonna("Descrizione", "", larghezzaColonnaDescrizione, TipoAllineamento.SINISTRA, true, 7, true)); tabellaTotale.Draw(datitab, document); Ypos += tabellaTotale.AltezzaTabella; totaleTabellaAlttez += tabellaTotale.AltezzaTabella; } } #endregion #region Disegno Tabella Risorse non allocate rowTemplate = set.Tables["RisorseNonAllocate"].Rows[0]; if ((rowTemplate["fase1"].ToString() != "0,00" && rowTemplate["fase1"].ToString() != string.Empty) || (rowTemplate["fase2"].ToString() != "0,00" && rowTemplate["fase2"].ToString() != string.Empty) || (rowTemplate["fase3"].ToString() != "0,00" && rowTemplate["fase3"].ToString() != string.Empty)) { logger.Info("Disegno Tabella Risorse non allocate"); //setta la datatable che contiene i Dati per disegnare la tabella del Risorse non allocate datitab = new DatiTabella(); /**************************** Modifica nuova sezione per report monitoraggio 28 - 10 - 2020-- Pino ***************************/ List _listaTotaliRnA = ConvertTo(set.Tables["RisorseNonAllocate"]); DataTable _dtTotaliRnA = ToDataTable(_listaTotaliRnA); _dtTotaliRnA.TableName = "RisorseNonAllocate"; _dtTotaliRnA.Columns[1].Caption = "Controvalore
(€)"; _dtTotaliRnA.Columns[2].Caption = "Piramide
Modello (%)"; _dtTotaliRnA.Columns[3].Caption = "Controvalore
(€)"; _dtTotaliRnA.Columns[4].Caption = "Piramide
Modello (%)"; _dtTotaliRnA.Columns[5].Caption = "Controvalore
(€)"; _dtTotaliRnA.Columns[6].Caption = "Piramide
Modello (%)"; logger.Info(string.Concat("Disegno Tabella Totale Risorse non allocate, righe: ", _dtTotaliRnA.Rows.Count.ToString())); /****************************************************************************************************************************/ //datitab.table = set.Tables["RisorseNonAllocate"]; // Originale //rowTemplate = datitab.table.Rows[0]; // Originale datitab.table = _dtTotaliRnA; rowTemplate = _dtTotaliRnA.Rows[0]; Tabella tabellaRisorseNonAllocate = new Tabella(); tabellaRisorseNonAllocate.X = document.getMargineLeft(); tabellaRisorseNonAllocate.Y = Ypos; tabellaRisorseNonAllocate.Header = false; tabellaRisorseNonAllocate.SaltoPagina = false; tabellaRisorseNonAllocate.Datasource = datitab.table; larghezzaColonnaDescrizione = 512; logger.Info("Disegno Tabella Totale Risorse non allocate - Impostazione tabellaRisorseNonAllocate"); // Definizione delle colonne foreach (DataColumn column in tabellaRisorseNonAllocate.Datasource.Columns) { if (column.ColumnName.ToLower() == "fase1" && rowTemplate["fase1"].ToString() != string.Empty) { logger.Info("Disegno Tabella Totale Risorse non allocate - fase 1"); larghezzaColonnaDescrizione -= larghezzaColonnaFase1; tabellaRisorseNonAllocate.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase1, TipoAllineamento.DESTRA, false, 7, false)); } if (column.ColumnName == "Fase1Percentuale" && rowTemplate["Fase1Percentuale"].ToString() != string.Empty) { logger.Info("Disegno Tabella Totale Risorse non allocate - fase 1Perc"); larghezzaColonnaDescrizione -= larghezzaColonnaFase4; tabellaRisorseNonAllocate.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase4, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine } if (column.ColumnName.ToLower() == "fase2" && rowTemplate["fase2"].ToString() != string.Empty) { logger.Info("Disegno Tabella Totale Risorse non allocate - fase 2"); larghezzaColonnaDescrizione -= larghezzaColonnaFase2; tabellaRisorseNonAllocate.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase2, TipoAllineamento.DESTRA, false, 7, false)); } if (column.ColumnName == "Fase2Percentuale" && rowTemplate["Fase2Percentuale"].ToString() != string.Empty) { logger.Info("Disegno Tabella Totale Risorse non allocate - fase 2Perc"); larghezzaColonnaDescrizione -= larghezzaColonnaFase5; tabellaRisorseNonAllocate.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase5, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine } if (column.ColumnName.ToLower() == "fase3" && rowTemplate["fase3"].ToString() != string.Empty) { logger.Info("Disegno Tabella Totale Risorse non allocate - fase 3"); larghezzaColonnaDescrizione -= larghezzaColonnaFase3; tabellaRisorseNonAllocate.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase3, TipoAllineamento.DESTRA, false, 7, false)); } if (column.ColumnName == "Fase3Percentuale" && rowTemplate["Fase3Percentuale"].ToString() != string.Empty) { logger.Info("Disegno Tabella Totale Risorse non allocate - fase 3Perc"); larghezzaColonnaDescrizione -= larghezzaColonnaFase6; tabellaRisorseNonAllocate.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase6, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine } } tabellaRisorseNonAllocate.Colonne.Insert(0, new Colonna("Descrizione", "", larghezzaColonnaDescrizione, TipoAllineamento.SINISTRA, false, 7, false)); tabellaRisorseNonAllocate.Draw(datitab, document); Ypos += tabellaRisorseNonAllocate.AltezzaTabella; totaleTabellaAlttez += tabellaRisorseNonAllocate.AltezzaTabella; } #endregion #region Disegno TOTALE RISORSE FINANZIARIE //DataRow rowTemplateCC = set.Tables["ContoCorrente"].Rows[0]; //DataRow rowTemplateSelf = set.Tables["LineaSelfNeg"].Rows[0]; //DataRow rowTemplateOC = set.Tables["OperazioniInCorso"].Rows[0]; //if ( // ((rowTemplateCC["fase1"].ToString() != "-" && rowTemplateCC["fase1"].ToString() != string.Empty) || (rowTemplateCC["fase2"].ToString() != "-" && rowTemplateCC["fase2"].ToString() != string.Empty) || (rowTemplateCC["fase3"].ToString() != "-" && rowTemplateCC["fase3"].ToString() != string.Empty)) // || // ((rowTemplateOC["fase1"].ToString() != "0,00" && rowTemplateOC["fase1"].ToString() != string.Empty) || (rowTemplateOC["fase2"].ToString() != "0,00" && rowTemplateOC["fase2"].ToString() != string.Empty) || (rowTemplateOC["fase3"].ToString() != "0,00" && rowTemplateOC["fase3"].ToString() != string.Empty)) // || // ((rowTemplateSelf["fase1"].ToString() != "-" && rowTemplateSelf["fase1"].ToString() != string.Empty) || (rowTemplateSelf["fase2"].ToString() != "-" && rowTemplateSelf["fase2"].ToString() != string.Empty) || (rowTemplateSelf["fase3"].ToString() != "-" && rowTemplateSelf["fase3"].ToString() != string.Empty)) // ) //{ // //setta la datatable che contiene i Dati per disegnare la tabella del Risorse non allocate // datitab = new DatiTabella(); // logger.Info("Disegno TOTALE RISORSE FINANZIARIE"); // /**************************** Modifica nuova sezione per report monitoraggio 28 - 10 - 2020-- Pino ***************************/ // List _listaTotaliRF = ConvertTo(set.Tables["RisorseFinanziarie"]); // DataTable _dtTotaliRF = ToDataTable(_listaTotaliRF); // _dtTotaliRF.TableName = "RisorseFinanziarie"; // _dtTotaliRF.Columns[1].Caption = "Controvalore
(€)"; // _dtTotaliRF.Columns[2].Caption = "Piramide
Modello (%)"; // _dtTotaliRF.Columns[3].Caption = "Controvalore
(€)"; // _dtTotaliRF.Columns[4].Caption = "Piramide
Modello (%)"; // _dtTotaliRF.Columns[5].Caption = "Controvalore
(€)"; // _dtTotaliRF.Columns[6].Caption = "Piramide
Modello (%)"; // logger.Info(string.Concat("Disegno TOTALE RISORSE FINANZIARIE, righe: ", _dtTotaliRF.Rows.Count.ToString())); // /****************************************************************************************************************************/ // //datitab.table = set.Tables["RisorseFinanziarie"]; // Originale // //rowTemplate = datitab.table.Rows[0]; // Originale // datitab.table = _dtTotaliRF; // rowTemplate = _dtTotaliRF.Rows[0]; // Tabella tabellaRisorseFinanziarie = new Tabella(); // tabellaRisorseFinanziarie.X = document.getMargineLeft(); // tabellaRisorseFinanziarie.Y = Ypos; // tabellaRisorseFinanziarie.Header = false; // tabellaRisorseFinanziarie.SaltoPagina = false; // tabellaRisorseFinanziarie.Datasource = datitab.table; // larghezzaColonnaDescrizione = 512; // logger.Info("Disegno TOTALE RISORSE FINANZIARIE - Impostazione tabellaRisorseFinanziarie"); // // Definizione delle colonne // foreach (DataColumn column in tabellaRisorseFinanziarie.Datasource.Columns) // { // if (column.ColumnName.ToLower() == "fase1" && rowTemplate["fase1"].ToString() != string.Empty) // { // logger.Info("Disegno TOTALE RISORSE FINANZIARIE - fase 1"); // larghezzaColonnaDescrizione -= larghezzaColonnaFase1; // tabellaRisorseFinanziarie.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase1, TipoAllineamento.DESTRA, false, 7, false)); // } // if (column.ColumnName == "Fase1Percentuale" && rowTemplate["Fase1Percentuale"].ToString() != string.Empty) // { // logger.Info("Disegno TOTALE RISORSE FINANZIARIE - fase 1Perc"); // larghezzaColonnaDescrizione -= larghezzaColonnaFase4; // tabellaRisorseFinanziarie.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase4, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine // } // if (column.ColumnName.ToLower() == "fase2" && rowTemplate["fase2"].ToString() != string.Empty) // { // logger.Info("Disegno TOTALE RISORSE FINANZIARIE - fase 2"); // larghezzaColonnaDescrizione -= larghezzaColonnaFase2; // tabellaRisorseFinanziarie.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase2, TipoAllineamento.DESTRA, false, 7, false)); // } // if (column.ColumnName == "Fase2Percentuale" && rowTemplate["Fase2Percentuale"].ToString() != string.Empty) // { // logger.Info("Disegno TOTALE RISORSE FINANZIARIE - fase 2Perc"); // larghezzaColonnaDescrizione -= larghezzaColonnaFase5; // tabellaRisorseFinanziarie.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase5, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine // } // if (column.ColumnName.ToLower() == "fase3" && rowTemplate["fase3"].ToString() != string.Empty) // { // logger.Info("Disegno TOTALE RISORSE FINANZIARIE - fase 3"); // larghezzaColonnaDescrizione -= larghezzaColonnaFase3; // tabellaRisorseFinanziarie.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase3, TipoAllineamento.DESTRA, false, 7, false)); // } // if (column.ColumnName == "Fase3Percentuale" && rowTemplate["Fase3Percentuale"].ToString() != string.Empty) // { // logger.Info("Disegno TOTALE RISORSE FINANZIARIE - fase 3Perc"); // larghezzaColonnaDescrizione -= larghezzaColonnaFase6; // tabellaRisorseFinanziarie.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase6, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine // } // } // tabellaRisorseFinanziarie.Colonne.Insert(0, new Colonna("Descrizione", "", larghezzaColonnaDescrizione, TipoAllineamento.SINISTRA, false, 7, false)); // tabellaRisorseFinanziarie.Draw(datitab, document); // Ypos += tabellaRisorseFinanziarie.AltezzaTabella; // totaleTabellaAlttez += tabellaRisorseFinanziarie.AltezzaTabella; //} #endregion #region Disegno CONTO CORRENTE A SALDO NEGATIVO rowTemplate = set.Tables["ContoCorrente"].Rows[0]; if ((rowTemplate["fase1"].ToString() != "-" && rowTemplate["fase1"].ToString() != string.Empty) || (rowTemplate["fase2"].ToString() != "-" && rowTemplate["fase2"].ToString() != string.Empty) || (rowTemplate["fase3"].ToString() != "-" && rowTemplate["fase3"].ToString() != string.Empty)) { //setta la datatable che contiene i Dati per disegnare la tabella del Risorse non allocate datitab = new DatiTabella(); logger.Info("Disegno CONTO CORRENTE A SALDO NEGATIVO"); /**************************** Modifica nuova sezione per report monitoraggio 28 - 10 - 2020-- Pino ***************************/ List _listaTotaliCC = ConvertTo(set.Tables["ContoCorrente"]); DataTable _dtTotaliCC = ToDataTable(_listaTotaliCC); _dtTotaliCC.TableName = "ContoCorrente"; _dtTotaliCC.Columns[1].Caption = "Controvalore
(€)"; _dtTotaliCC.Columns[2].Caption = "Piramide
Modello (%)"; _dtTotaliCC.Columns[3].Caption = "Controvalore
(€)"; _dtTotaliCC.Columns[4].Caption = "Piramide
Modello (%)"; _dtTotaliCC.Columns[5].Caption = "Controvalore
(€)"; _dtTotaliCC.Columns[6].Caption = "Piramide
Modello (%)"; logger.Info(string.Concat("Disegno CONTO CORRENTE A SALDO NEGATIVO, righe: ", _dtTotaliCC.Rows.Count.ToString())); /****************************************************************************************************************************/ //datitab.table = set.Tables["ContoCorrente"]; // Originale //rowTemplate = datitab.table.Rows[0]; // Originale datitab.table = _dtTotaliCC; rowTemplate = _dtTotaliCC.Rows[0]; Tabella tabellaContoCorrente = new Tabella(); tabellaContoCorrente.X = document.getMargineLeft(); tabellaContoCorrente.Y = Ypos; tabellaContoCorrente.Header = false; tabellaContoCorrente.SaltoPagina = false; tabellaContoCorrente.Datasource = datitab.table; larghezzaColonnaDescrizione = 512; // Definizione delle colonne foreach (DataColumn column in tabellaContoCorrente.Datasource.Columns) { if (column.ColumnName.ToLower() == "fase1" && rowTemplate["fase1"].ToString() != string.Empty) { logger.Info("Disegno CONTO CORRENTE A SALDO NEGATIVO - fase 1"); larghezzaColonnaDescrizione -= larghezzaColonnaFase1; tabellaContoCorrente.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase1, TipoAllineamento.DESTRA, false, 7, false)); } if (column.ColumnName == "Fase1Percentuale" && rowTemplate["Fase1Percentuale"].ToString() != string.Empty) { logger.Info("Disegno CONTO CORRENTE A SALDO NEGATIVO - fase 1Perc"); larghezzaColonnaDescrizione -= larghezzaColonnaFase4; tabellaContoCorrente.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase4, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine } if (column.ColumnName.ToLower() == "fase2" && rowTemplate["fase2"].ToString() != string.Empty) { logger.Info("Disegno CONTO CORRENTE A SALDO NEGATIVO - fase 2"); larghezzaColonnaDescrizione -= larghezzaColonnaFase2; tabellaContoCorrente.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase2, TipoAllineamento.DESTRA, false, 7, false)); } if (column.ColumnName == "Fase2Percentuale" && rowTemplate["Fase2Percentuale"].ToString() != string.Empty) { logger.Info("Disegno CONTO CORRENTE A SALDO NEGATIVO - fase 2Perc"); larghezzaColonnaDescrizione -= larghezzaColonnaFase5; tabellaContoCorrente.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase5, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine } if (column.ColumnName.ToLower() == "fase3" && rowTemplate["fase3"].ToString() != string.Empty) { logger.Info("Disegno CONTO CORRENTE A SALDO NEGATIVO - fase 3"); larghezzaColonnaDescrizione -= larghezzaColonnaFase3; tabellaContoCorrente.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase3, TipoAllineamento.DESTRA, false, 7, false)); } if (column.ColumnName == "Fase3Percentuale" && rowTemplate["Fase3Percentuale"].ToString() != string.Empty) { logger.Info("Disegno CONTO CORRENTE A SALDO NEGATIVO - fase 3Perc"); larghezzaColonnaDescrizione -= larghezzaColonnaFase6; tabellaContoCorrente.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase6, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine } } tabellaContoCorrente.Colonne.Insert(0, new Colonna("Descrizione", "", larghezzaColonnaDescrizione, TipoAllineamento.SINISTRA, false, 7, false)); tabellaContoCorrente.Draw(datitab, document); Ypos += tabellaContoCorrente.AltezzaTabella; totaleTabellaAlttez += tabellaContoCorrente.AltezzaTabella; } #endregion #region Disegno Linea Self Negativa rowTemplate = set.Tables["LineaSelfNeg"].Rows[0]; if ((rowTemplate["fase1"].ToString() != "-" && rowTemplate["fase1"].ToString() != string.Empty) || (rowTemplate["fase2"].ToString() != "-" && rowTemplate["fase2"].ToString() != string.Empty) || (rowTemplate["fase3"].ToString() != "-" && rowTemplate["fase3"].ToString() != string.Empty)) { //setta la datatable che contiene i Dati per disegnare la tabella del Risorse non allocate datitab = new DatiTabella(); /**************************** Modifica nuova sezione per report monitoraggio 28 - 10 - 2020-- Pino ***************************/ List _listaTotaliSelf = ConvertTo(set.Tables["LineaSelfNeg"]); DataTable _dtTotaliSelf = ToDataTable(_listaTotaliSelf); _dtTotaliSelf.TableName = "LineaSelfNeg"; _dtTotaliSelf.Columns[1].Caption = "Controvalore
(€)"; _dtTotaliSelf.Columns[2].Caption = "Piramide
Modello (%)"; _dtTotaliSelf.Columns[3].Caption = "Controvalore
(€)"; _dtTotaliSelf.Columns[4].Caption = "Piramide
Modello (%)"; _dtTotaliSelf.Columns[5].Caption = "Controvalore
(€)"; _dtTotaliSelf.Columns[6].Caption = "Piramide
Modello (%)"; /****************************************************************************************************************************/ //datitab.table = set.Tables["LineaSelfNeg"]; //Originale //rowTemplate = datitab.table.Rows[0]; //Originale datitab.table = _dtTotaliSelf; rowTemplate = _dtTotaliSelf.Rows[0]; Tabella tabellaLineaSelfNeg = new Tabella(); tabellaLineaSelfNeg.X = document.getMargineLeft(); tabellaLineaSelfNeg.Y = Ypos; tabellaLineaSelfNeg.Header = false; tabellaLineaSelfNeg.SaltoPagina = false; tabellaLineaSelfNeg.Datasource = datitab.table; // MIOFOGLIO 20181206 tabellaLineaSelfNeg.LineaFineTabella = false; tabellaLineaSelfNeg.LineeTabella = false; //--MIOFOGLIO 20181206 //tabellaOperazioniInCorso.AltezzaCella = 30; larghezzaColonnaDescrizione = 512; // Definizione delle colonne foreach (DataColumn column in tabellaLineaSelfNeg.Datasource.Columns) { if (column.ColumnName.ToLower() == "fase1" && rowTemplate["fase1"].ToString() != string.Empty) { larghezzaColonnaDescrizione -= larghezzaColonnaFase1; tabellaLineaSelfNeg.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase1, TipoAllineamento.DESTRA, false, 7, false)); } if (column.ColumnName == "Fase1Percentuale" && rowTemplate["Fase1Percentuale"].ToString() != string.Empty) { larghezzaColonnaDescrizione -= larghezzaColonnaFase4; tabellaLineaSelfNeg.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase4, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine } if (column.ColumnName.ToLower() == "fase2" && rowTemplate["fase2"].ToString() != string.Empty) { larghezzaColonnaDescrizione -= larghezzaColonnaFase2; tabellaLineaSelfNeg.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase2, TipoAllineamento.DESTRA, false, 7, false)); } if (column.ColumnName == "Fase2Percentuale" && rowTemplate["Fase2Percentuale"].ToString() != string.Empty) { larghezzaColonnaDescrizione -= larghezzaColonnaFase5; tabellaLineaSelfNeg.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase5, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine } if (column.ColumnName.ToLower() == "fase3" && rowTemplate["fase3"].ToString() != string.Empty) { larghezzaColonnaDescrizione -= larghezzaColonnaFase3; tabellaLineaSelfNeg.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase3, TipoAllineamento.DESTRA, false, 7, false)); } if (column.ColumnName == "Fase3Percentuale" && rowTemplate["Fase3Percentuale"].ToString() != string.Empty) { larghezzaColonnaDescrizione -= larghezzaColonnaFase6; tabellaLineaSelfNeg.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase6, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine } } tabellaLineaSelfNeg.Colonne.Insert(0, new Colonna("Descrizione", "", larghezzaColonnaDescrizione, TipoAllineamento.SINISTRA, false, 7, false)); tabellaLineaSelfNeg.Draw(datitab, document); Ypos += tabellaLineaSelfNeg.AltezzaTabella; totaleTabellaAlttez += tabellaLineaSelfNeg.AltezzaTabella; } #endregion #region Disegno Operazioni in corso rowTemplate = set.Tables["OperazioniInCorso"].Rows[0]; if ((rowTemplate["fase1"].ToString() != "0,00" && rowTemplate["fase1"].ToString() != string.Empty) || (rowTemplate["fase2"].ToString() != "0,00" && rowTemplate["fase2"].ToString() != string.Empty) || (rowTemplate["fase3"].ToString() != "0,00" && rowTemplate["fase3"].ToString() != string.Empty)) { //setta la datatable che contiene i Dati per disegnare la tabella del Risorse non allocate datitab = new DatiTabella(); /**************************** Modifica nuova sezione per report monitoraggio 28 - 10 - 2020-- Pino ***************************/ List _listaTotaliOiC = ConvertTo(set.Tables["OperazioniInCorso"]); DataTable _dtTotaliOiC = ToDataTable(_listaTotaliOiC); _dtTotaliOiC.TableName = "OperazioniInCorso"; _dtTotaliOiC.Columns[1].Caption = "Controvalore
(€)"; _dtTotaliOiC.Columns[2].Caption = "Piramide
Modello (%)"; _dtTotaliOiC.Columns[3].Caption = "Controvalore
(€)"; _dtTotaliOiC.Columns[4].Caption = "Piramide
Modello (%)"; _dtTotaliOiC.Columns[5].Caption = "Controvalore
(€)"; _dtTotaliOiC.Columns[6].Caption = "Piramide
Modello (%)"; /****************************************************************************************************************************/ //datitab.table = set.Tables["OperazioniInCorso"]; //Originale //rowTemplate = datitab.table.Rows[0]; //Originale datitab.table = _dtTotaliOiC; rowTemplate = _dtTotaliOiC.Rows[0]; Tabella tabellaOperazioniInCorso = new Tabella(); tabellaOperazioniInCorso.X = document.getMargineLeft(); tabellaOperazioniInCorso.Y = Ypos; tabellaOperazioniInCorso.Header = false; tabellaOperazioniInCorso.SaltoPagina = false; tabellaOperazioniInCorso.Datasource = datitab.table; //tabellaOperazioniInCorso.AltezzaCella = 30; larghezzaColonnaDescrizione = 512; // Definizione delle colonne foreach (DataColumn column in tabellaOperazioniInCorso.Datasource.Columns) { if (column.ColumnName.ToLower() == "fase1" && rowTemplate["fase1"].ToString() != string.Empty) { larghezzaColonnaDescrizione -= larghezzaColonnaFase1; tabellaOperazioniInCorso.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase1, TipoAllineamento.DESTRA, false, 7, false)); } if (column.ColumnName == "Fase1Percentuale" && rowTemplate["Fase1Percentuale"].ToString() != string.Empty) { larghezzaColonnaDescrizione -= larghezzaColonnaFase4; tabellaOperazioniInCorso.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase4, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine } if (column.ColumnName.ToLower() == "fase2" && rowTemplate["fase2"].ToString() != string.Empty) { larghezzaColonnaDescrizione -= larghezzaColonnaFase2; tabellaOperazioniInCorso.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase2, TipoAllineamento.DESTRA, false, 7, false)); } if (column.ColumnName == "Fase2Percentuale" && rowTemplate["Fase2Percentuale"].ToString() != string.Empty) { larghezzaColonnaDescrizione -= larghezzaColonnaFase5; tabellaOperazioniInCorso.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase5, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine } if (column.ColumnName.ToLower() == "fase3" && rowTemplate["fase3"].ToString() != string.Empty) { larghezzaColonnaDescrizione -= larghezzaColonnaFase3; tabellaOperazioniInCorso.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase3, TipoAllineamento.DESTRA, false, 7, false)); } if (column.ColumnName == "Fase3Percentuale" && rowTemplate["Fase3Percentuale"].ToString() != string.Empty) { larghezzaColonnaDescrizione -= larghezzaColonnaFase6; tabellaOperazioniInCorso.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase6, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine } } tabellaOperazioniInCorso.Colonne.Insert(0, new Colonna("Descrizione", "", larghezzaColonnaDescrizione, TipoAllineamento.SINISTRA, false, 7, false)); tabellaOperazioniInCorso.Draw(datitab, document); Ypos += tabellaOperazioniInCorso.AltezzaTabella; totaleTabellaAlttez += tabellaOperazioniInCorso.AltezzaTabella; } #endregion #region Disegno Totale Patrimonto //setta la datatable che contiene i Dati per disegnare la tabella del Risorse non allocate datitab = new DatiTabella(); logger.Info("Disegno Totale Patrimonto"); /**************************** Modifica nuova sezione per report monitoraggio 28 - 10 - 2020-- Pino ***************************/ List _listaTotali = ConvertTo(set.Tables["DatiTotale"]); DataTable _dtTotali = ToDataTable(_listaTotali); _dtTotali.TableName = "DatiTotale"; _dtTotali.Columns[1].Caption = "Controvalore
(€)"; _dtTotali.Columns[2].Caption = "Piramide
Modello (%)"; _dtTotali.Columns[3].Caption = "Controvalore
(€)"; _dtTotali.Columns[4].Caption = "Piramide
Modello (%)"; _dtTotali.Columns[5].Caption = "Controvalore
(€)"; _dtTotali.Columns[6].Caption = "Piramide
Modello (%)"; logger.Info("Disegno Totale Patrimonto"); /****************************************************************************************************************************/ //datitab.table = set.Tables["DatiTotale"]; //Originale //rowTemplate = set.Tables["DatiTotale"].Rows[0]; //Originale datitab.table = _dtTotali; rowTemplate = _dtTotali.Rows[0]; Tabella tabellaDatiTotale = new Tabella(); tabellaDatiTotale.X = document.getMargineLeft(); tabellaDatiTotale.Y = Ypos; tabellaDatiTotale.Header = false; tabellaDatiTotale.SaltoPagina = false; tabellaDatiTotale.Datasource = datitab.table; larghezzaColonnaDescrizione = 512; // Definizione delle colonne foreach (DataColumn column in tabellaDatiTotale.Datasource.Columns) { if (column.ColumnName.ToLower() == "fase1" && rowTemplate["fase1"].ToString() != string.Empty) { logger.Info("Disegno Totale Patrimonto - fase 1"); larghezzaColonnaDescrizione -= larghezzaColonnaFase1; tabellaDatiTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase1, TipoAllineamento.DESTRA, true, 7, true)); } if (column.ColumnName == "Fase1Percentuale" && rowTemplate["Fase1Percentuale"].ToString() != string.Empty) { logger.Info("Disegno Totale Patrimonto - fase 1Perc"); larghezzaColonnaDescrizione -= larghezzaColonnaFase4; tabellaDatiTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase4, TipoAllineamento.DESTRA, true, 7, true)); // -25 è la larghezza della colonna che conterrà l'immagine } if (column.ColumnName.ToLower() == "fase2" && rowTemplate["fase2"].ToString() != string.Empty) { logger.Info("Disegno Totale Patrimonto - fase 2"); larghezzaColonnaDescrizione -= larghezzaColonnaFase2; tabellaDatiTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase2, TipoAllineamento.DESTRA, true, 7, true)); } if (column.ColumnName == "Fase2Percentuale" && rowTemplate["Fase2Percentuale"].ToString() != string.Empty) { logger.Info("Disegno Totale Patrimonto - fase 2Perc"); larghezzaColonnaDescrizione -= larghezzaColonnaFase5; tabellaDatiTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase5, TipoAllineamento.DESTRA, true, 7, true)); // -25 è la larghezza della colonna che conterrà l'immagine } if (column.ColumnName.ToLower() == "fase3" && rowTemplate["fase3"].ToString() != string.Empty) { logger.Info("Disegno Totale Patrimonto - fase 3"); larghezzaColonnaDescrizione -= larghezzaColonnaFase3; tabellaDatiTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase3, TipoAllineamento.DESTRA, true, 7, true)); } if (column.ColumnName == "Fase3Percentuale" && rowTemplate["Fase3Percentuale"].ToString() != string.Empty) { logger.Info("Disegno Totale Patrimonto - fase 3Perc"); larghezzaColonnaDescrizione -= larghezzaColonnaFase6; tabellaDatiTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase6, TipoAllineamento.DESTRA, true, 7, true)); // -25 è la larghezza della colonna che conterrà l'immagine } } tabellaDatiTotale.Colonne.Insert(0, new Colonna("Descrizione", "", larghezzaColonnaDescrizione, TipoAllineamento.SINISTRA, true, 7, true)); tabellaDatiTotale.Draw(datitab, document); Ypos += tabellaDatiTotale.AltezzaTabella; totaleTabellaAlttez += tabellaDatiTotale.AltezzaTabella; #endregion #region Nuovo Disegno Dettaglio Movimenti Dopo Dati Totale //La minima larghezza necessaria per la descrizione di questa nuova tabella è 159, quindi: //512 - 73 - 150 - 130 = 159. int dettaglioMovimentiLarghezzaColonnaDescrizione =512; //int dettaglioMovimentiLarghezzaColonnaFase1 = 73; //int dettaglioMovimentiLarghezzaColonnaFase2 = 160; //int dettaglioMovimentiLarghezzaColonnaFase3 = 110; //130; //int dettaglioMovimentiLarghezzaColonnaFase1Perc = 50; //int dettaglioMovimentiLarghezzaColonnaFase2Perc = 50; //int dettaglioMovimentiLarghezzaColonnaFase3Perc = 50; int numeroFasiVisibili = 0; bool presenzaFase3 = false; int incrementoPixelRettangoloFase3 = 0; //setta la datatable che contiene i Dati per stampare righe ulteriori sotto al totale. datitab = new DatiTabella(); logger.Info("Disegno Dettaglio Movimenti Dopo Dati Totale"); /**************************** Modifica nuova sezione per report monitoraggio 28 - 10 - 2020-- Pino ***************************/ List _listaTotaliDDT = ConvertTo(set.Tables["RigheDopoDatiTotale"]); DataTable _dtTotaliDDT = ToDataTable(_listaTotaliDDT); _dtTotaliDDT.TableName = "RigheDopoDatiTotale"; _dtTotaliDDT.Columns[1].Caption = "Controvalore
(€)"; _dtTotaliDDT.Columns[2].Caption = "Piramide
Modello (%)"; _dtTotaliDDT.Columns[3].Caption = "Controvalore
(€)"; _dtTotaliDDT.Columns[4].Caption = "Piramide
Modello (%)"; _dtTotaliDDT.Columns[5].Caption = "Controvalore
(€)"; _dtTotaliDDT.Columns[6].Caption = "Piramide
Modello (%)"; _dtTotaliDDT.Columns[10].Caption = string.Empty; _dtTotaliDDT.Columns[11].Caption = string.Empty; _dtTotaliDDT.Columns[12].Caption = string.Empty; /****************************************************************************************************************************/ datitab.table = _dtTotaliDDT; rowTemplate = _dtTotaliDDT.Rows[0]; Tabella tabellaRigheDopoDatiTotale = new Tabella(); tabellaRigheDopoDatiTotale.X = document.getMargineLeft(); tabellaRigheDopoDatiTotale.Y = Ypos; tabellaRigheDopoDatiTotale.Header = false; tabellaRigheDopoDatiTotale.SaltoPagina = false; tabellaRigheDopoDatiTotale.Datasource = datitab.table; foreach (DataColumn column in tabellaRigheDopoDatiTotale.Datasource.Columns) { if (column.ColumnName.ToLower() == "fase1" && rowTemplate["fase1"].ToString() != string.Empty) { logger.Info("Disegno Dettaglio Movimenti Dopo Dati Totale - 1 fase"); dettaglioMovimentiLarghezzaColonnaDescrizione -= larghezzaColonnaFase1; if (rowTemplate["fase1"].ToString().Equals("notvisible")) { string nomeColonna = tabellaRigheDopoDatiTotale.Datasource.Columns[10].ToString(); tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(nomeColonna, string.Empty, larghezzaColonnaFase1 - 23, TipoAllineamento.DESTRA, false, 7, false)); } else { ++numeroFasiVisibili; int larghezzaFase1 = rowTemplate["fase1"].ToString().Length; tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaFase1 - 23, TipoAllineamento.DESTRA, false, 7, false)); } } if (column.ColumnName == "Fase1Percentuale") //&& rowTemplate["Fase1Percentuale"].ToString() != string.Empty) { logger.Info("Disegno Totale Patrimonto - fase 1Perc"); dettaglioMovimentiLarghezzaColonnaDescrizione -= larghezzaColonnaFase4; if (rowTemplate["Fase1Percentuale"].ToString().Equals(string.Empty)) { //string nomeColonna = tabellaRigheDopoDatiTotale.Datasource.Columns[10].ToString(); tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, string.Empty, larghezzaColonnaFase4 - 23, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine } else { tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase4 - 23, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine } } if (column.ColumnName.ToLower() == "fase2" && rowTemplate["fase2"].ToString() != string.Empty) { logger.Info("Disegno Dettaglio Movimenti Dopo Dati Totale - 2 fase"); dettaglioMovimentiLarghezzaColonnaDescrizione -= larghezzaColonnaFase2; if (rowTemplate["fase2"].ToString().Equals("notvisible")) { string nomeColonna = tabellaRigheDopoDatiTotale.Datasource.Columns[11].ToString(); tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(nomeColonna, string.Empty, larghezzaColonnaFase2, TipoAllineamento.DESTRA, false, 7, false)); } else { ++numeroFasiVisibili; tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase2, TipoAllineamento.DESTRA, false, 7, false)); } } if (column.ColumnName == "Fase2Percentuale") //&& rowTemplate["Fase2Percentuale"].ToString() != string.Empty) { logger.Info("Disegno Totale Patrimonto - fase 2Perc"); dettaglioMovimentiLarghezzaColonnaDescrizione -= larghezzaColonnaFase5; if (rowTemplate["Fase2Percentuale"].ToString().Equals(string.Empty)) { //string nomeColonna = tabellaRigheDopoDatiTotale.Datasource.Columns[11].ToString(); tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, string.Empty, larghezzaColonnaFase5, TipoAllineamento.DESTRA, false, 7, false)); } else { ++numeroFasiVisibili; tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase5, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine } } if (column.ColumnName.ToLower() == "fase3" && rowTemplate["fase3"].ToString() != string.Empty) { logger.Info("Disegno Dettaglio Movimenti Dopo Dati Totale - 3 fase"); dettaglioMovimentiLarghezzaColonnaDescrizione -= larghezzaColonnaFase3; if (rowTemplate["fase3"].ToString().Equals("notvisible")) { string nomeColonna = tabellaRigheDopoDatiTotale.Datasource.Columns[12].ToString(); tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(nomeColonna, string.Empty, larghezzaColonnaFase3, TipoAllineamento.DESTRA, false, 7, false)); } else { ++numeroFasiVisibili; tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase3, TipoAllineamento.DESTRA, false, 7, false)); presenzaFase3 = true; } } if (column.ColumnName == "Fase3Percentuale") //&& rowTemplate["Fase3Percentuale"].ToString() != string.Empty) { logger.Info("Disegno Totale Patrimonto - fase 3Perc"); dettaglioMovimentiLarghezzaColonnaDescrizione -= larghezzaColonnaFase6; if (rowTemplate["Fase3Percentuale"].ToString().Equals(string.Empty)) { //string nomeColonna = tabellaRigheDopoDatiTotale.Datasource.Columns[12].ToString(); tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, string.Empty, larghezzaColonnaFase6, TipoAllineamento.DESTRA, false, 7, false)); } else { ++numeroFasiVisibili; tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase6, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine } } } //tabellaRigheDopoDatiTotale.Colonne.Insert(0, new Colonna("Descrizione", "", 140, TipoAllineamento.SINISTRA, false, 7, false)); //if (presenzaFase3) incrementoPixelRettangoloFase3 += 14; //dettaglioMovimentiLarghezzaColonnaDescrizione if (numeroFasiVisibili > 0) { tabellaRigheDopoDatiTotale.Colonne.Insert(0, new Colonna("Descrizione", "", 140, TipoAllineamento.SINISTRA, false, 7, false)); if (presenzaFase3) incrementoPixelRettangoloFase3 += 14; } tabellaRigheDopoDatiTotale.Draw(datitab, document); Ypos += tabellaRigheDopoDatiTotale.AltezzaTabella; totaleTabellaAlttez += tabellaRigheDopoDatiTotale.AltezzaTabella; #endregion #region Disegno Dettaglio Movimenti Dopo Dati Totale ////La minima larghezza necessaria per la descrizione di questa nuova tabella è 159, quindi: ////512 - 73 - 150 - 130 = 159. //int dettaglioMovimentiLarghezzaColonnaDescrizione = 512; //int dettaglioMovimentiLarghezzaColonnaFase1 = 73; //int dettaglioMovimentiLarghezzaColonnaFase2 = 160; //int dettaglioMovimentiLarghezzaColonnaFase3 = 110; //130; ////int dettaglioMovimentiLarghezzaColonnaDescrizione = 512; ////int dettaglioMovimentiLarghezzaColonnaFase1 = 73; //73; ////int dettaglioMovimentiLarghezzaColonnaFase2 = 138; //139; //120 //150; ////int dettaglioMovimentiLarghezzaColonnaFase3 = 120; //122; //120 //130; ////int dettaglioMovimentiLarghezzaColonnaFase1Perc = 50; ////int dettaglioMovimentiLarghezzaColonnaFase2Perc = 50; ////int dettaglioMovimentiLarghezzaColonnaFase3Perc = 50; //int numeroFasiVisibili = 0; //bool presenzaFase3 = false; //int incrementoPixelRettangoloFase3 = 0; ////Ypos -= 5; ////setta la datatable che contiene i Dati per stampare righe ulteriori sotto al totale. //datitab = new DatiTabella(); //logger.Info("Disegno Dettaglio Movimenti Dopo Dati Totale"); ///**************************** Modifica nuova sezione per report monitoraggio 28 - 10 - 2020-- Pino ***************************/ //List _listaTotaliDDT = ConvertTo(set.Tables["RigheDopoDatiTotale"]); ////DataTable _dtTotaliDDT = ToDataTable(_listaTotaliDDT); ////_dtTotaliDDT.TableName = "RigheDopoDatiTotale"; ////_dtTotaliDDT.Columns[1].Caption = "Controvalore
(€)"; ////_dtTotaliDDT.Columns[2].Caption = "Piramide
Modello (%)"; ////_dtTotaliDDT.Columns[3].Caption = "Controvalore
(€)"; ////_dtTotaliDDT.Columns[4].Caption = "Piramide
Modello (%)"; ////_dtTotaliDDT.Columns[5].Caption = "Controvalore
(€)"; ////_dtTotaliDDT.Columns[6].Caption = "Piramide
Modello (%)"; ///****************************************************************************************************************************/ //datitab.table = set.Tables["RigheDopoDatiTotale"]; //Originale //rowTemplate = set.Tables["RigheDopoDatiTotale"].Rows[0]; //Originale ////datitab.table = _dtTotaliDDT; ////rowTemplate = _dtTotaliDDT.Rows[0]; //Tabella tabellaRigheDopoDatiTotale = new Tabella(); //tabellaRigheDopoDatiTotale.X = document.getMargineLeft(); //tabellaRigheDopoDatiTotale.Y = Ypos; //tabellaRigheDopoDatiTotale.Header = false; //tabellaRigheDopoDatiTotale.SaltoPagina = false; //tabellaRigheDopoDatiTotale.Datasource = datitab.table; //foreach (DataColumn column in tabellaRigheDopoDatiTotale.Datasource.Columns) //{ // if (column.ColumnName.ToLower() == "fase1" && rowTemplate["fase1"].ToString() != string.Empty) // { // logger.Info("Disegno Dettaglio Movimenti Dopo Dati Totale - 1 fase"); // dettaglioMovimentiLarghezzaColonnaDescrizione -= dettaglioMovimentiLarghezzaColonnaFase1; // if (rowTemplate["fase1"].ToString().Equals("notvisible")) // { // tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna("Fase1BlankValue", // string.Empty, // dettaglioMovimentiLarghezzaColonnaFase1, // TipoAllineamento.DESTRA, false, 7, false)); // } // else // { // ++numeroFasiVisibili; // tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, // column.Caption, // dettaglioMovimentiLarghezzaColonnaFase1, // TipoAllineamento.DESTRA, false, 7, false)); // } // } // //if (column.ColumnName == "Fase1Percentuale" && rowTemplate["Fase1Percentuale"].ToString() != string.Empty) // //{ // // larghezzaColonnaDescrizione -= larghezzaColonnaFase4; // // if (rowTemplate["Fase1Percentuale"].ToString().Equals("notvisible")) // // { // // tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna("Fase1BlankValue", // // string.Empty, // // dettaglioMovimentiLarghezzaColonnaFase1Perc, // // TipoAllineamento.DESTRA, false, 7, false)); // // } // // else // // { // // ++numeroFasiVisibili; // // //tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, // // // column.Caption, // // // dettaglioMovimentiLarghezzaColonnaFase1, // // // TipoAllineamento.DESTRA, false, 8, false)); // // tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase4, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine // // } // //} // if (column.ColumnName.ToLower() == "fase2" && rowTemplate["fase2"].ToString() != string.Empty) // { // logger.Info("Disegno Dettaglio Movimenti Dopo Dati Totale - 2 fase"); // dettaglioMovimentiLarghezzaColonnaDescrizione -= dettaglioMovimentiLarghezzaColonnaFase2; // if (rowTemplate["fase2"].ToString().Equals("notvisible")) // { // tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna("Fase2BlankValue", // string.Empty, // dettaglioMovimentiLarghezzaColonnaFase2, // TipoAllineamento.SINISTRA, false, 7, false)); // } // else // { // ++numeroFasiVisibili; // //if (rowTemplate["fase2"].ToString() != "n.d.") // //{ // tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, // column.Caption, // dettaglioMovimentiLarghezzaColonnaFase2, // TipoAllineamento.SINISTRA, false, 7, false)); // //} // //else // //{ // // tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, // // column.Caption, // // dettaglioMovimentiLarghezzaColonnaFase2 - 50, // // TipoAllineamento.SINISTRA, true, 8, false)); // //} // } // } // //if (column.ColumnName == "Fase2Percentuale" && rowTemplate["Fase2Percentuale"].ToString() != string.Empty) // //{ // // larghezzaColonnaDescrizione -= larghezzaColonnaFase5; // // if (rowTemplate["Fase2Percentuale"].ToString().Equals("notvisible")) // // { // // tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna("Fase2BlankValue", // // string.Empty, // // dettaglioMovimentiLarghezzaColonnaFase2Perc, // // TipoAllineamento.DESTRA, false, 7, false)); // // } // // else // // { // // ++numeroFasiVisibili; // // //tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, // // // column.Caption, // // // dettaglioMovimentiLarghezzaColonnaFase1, // // // TipoAllineamento.DESTRA, false, 8, false)); // // tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase5, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine // // } // //} // if (column.ColumnName.ToLower() == "fase3" && rowTemplate["fase3"].ToString() != string.Empty) // { // logger.Info("Disegno Dettaglio Movimenti Dopo Dati Totale - 3 fase"); // dettaglioMovimentiLarghezzaColonnaDescrizione -= dettaglioMovimentiLarghezzaColonnaFase3; // if (rowTemplate["fase3"].ToString().Equals("notvisible")) // { // tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna("Fase3BlankValue", // string.Empty, // dettaglioMovimentiLarghezzaColonnaFase3, // TipoAllineamento.SINISTRA, false, 7, false)); // } // else // { // ++numeroFasiVisibili; // tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, // column.Caption, // dettaglioMovimentiLarghezzaColonnaFase3, // TipoAllineamento.SINISTRA, false, 7, false)); // presenzaFase3 = true; // } // } // //if (column.ColumnName == "Fase3Percentuale" && rowTemplate["Fase3Percentuale"].ToString() != string.Empty) // //{ // // larghezzaColonnaDescrizione -= larghezzaColonnaFase5; // // if (rowTemplate["Fase3Percentuale"].ToString().Equals("notvisible")) // // { // // tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna("Fase3BlankValue", // // string.Empty, // // dettaglioMovimentiLarghezzaColonnaFase3Perc, // // TipoAllineamento.DESTRA, false, 7, false)); // // } // // else // // { // // ++numeroFasiVisibili; // // //tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, // // // column.Caption, // // // dettaglioMovimentiLarghezzaColonnaFase1, // // // TipoAllineamento.DESTRA, false, 8, false)); // // tabellaRigheDopoDatiTotale.Colonne.Add(new Colonna(column.ColumnName, column.Caption, larghezzaColonnaFase6, TipoAllineamento.DESTRA, false, 7, false)); // -25 è la larghezza della colonna che conterrà l'immagine // // } // //} //} //if (numeroFasiVisibili > 0) //{ // tabellaRigheDopoDatiTotale.Colonne.Insert(0, new Colonna("Descrizione", "", dettaglioMovimentiLarghezzaColonnaDescrizione, TipoAllineamento.SINISTRA, false, 7, false)); // if (presenzaFase3) incrementoPixelRettangoloFase3 += 14; //} //tabellaRigheDopoDatiTotale.Draw(datitab, document); //Ypos += tabellaRigheDopoDatiTotale.AltezzaTabella; //totaleTabellaAlttez += tabellaRigheDopoDatiTotale.AltezzaTabella; #endregion #region Disegno riquadro su Situazione Corrente e freccia //float totaleTabellaAltteza = TabellaAreaBisogno.AltezzaTabella + tabellaTotale.AltezzaCella + tabellaContoCorrente.AltezzaCella + tabellaOperazioniInCorso.AltezzaCella + tabellaRisorseNonAllocate.AltezzaCella + tabellaRisorseFinanziarie.AltezzaCella + tabellaDatiTotale.AltezzaTabella + 10; // riquadro intorno la colonna Situazione Corrente float xRiquadro = 528 - larghezzaUltimaColonna + (larghezzaUltimaColonna / 2); ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage(); Rectangle rettangoloSuSituazioneCorrente; //rettangoloSuSituazioneCorrente = new Rectangle(xRiquadro, TabellaAreaBisogno.Y - 10, larghezzaUltimaColonna - 35, totaleTabellaAlttez - 13 + incrementoPixelRettangoloFase3); //rettangoloSuSituazioneCorrente = new Rectangle(xRiquadro, TabellaAreaBisogno.Y - 10, larghezzaUltimaColonna - 35, totaleTabellaAlttez - 7 + incrementoPixelRettangoloFase3); // Originale //rettangoloSuSituazioneCorrente = new Rectangle(xRiquadro-80, TabellaAreaBisogno.Y - 35, larghezzaUltimaColonna+80, totaleTabellaAlttez - 1 + incrementoPixelRettangoloFase3); rettangoloSuSituazioneCorrente = new Rectangle(xRiquadro - 70, TabellaAreaBisogno.Y - 35, larghezzaUltimaColonna + 70, totaleTabellaAlttez - 1 + incrementoPixelRettangoloFase3); rettangoloSuSituazioneCorrente.CornerRadius = 5; page.Elements.Add(rettangoloSuSituazioneCorrente); System.Reflection.Assembly thisExe; thisExe = System.Reflection.Assembly.GetExecutingAssembly(); System.IO.Stream file = thisExe.GetManifestResourceStream(UtilityManager.getAppSetting("FrecciaS80")); switch (nFasi) { case 2: // Una freccia tra "attivazione monitoraggio" e "situazione corrente" o tra "Precedente invio report" e "situazione corrente" //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(file, document.getMargineLeft() + 395, TabellaAreaBisogno.Y - 10, 0.57F)); // Originale //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(file, document.getMargineLeft() + 395, TabellaAreaBisogno.Y - 35, 0.57F)); page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(file, document.getMargineLeft() + 375, TabellaAreaBisogno.Y - 35, 0.57F)); break; case 3: // Una freccia tra "attivazione monitoraggio" e "precedente invio report" e tra "precedente invio report" e "situazione corrente" //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(file, document.getMargineLeft() + 245, TabellaAreaBisogno.Y - 10, 0.57F)); // Originale //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(file, document.getMargineLeft() + 395, TabellaAreaBisogno.Y - 10, 0.57F)); // Originale page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(file, document.getMargineLeft() + 220, TabellaAreaBisogno.Y - 35, 0.57F)); //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(file, document.getMargineLeft() + 395, TabellaAreaBisogno.Y - 35, 0.57F)); page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(file, document.getMargineLeft() + 375, TabellaAreaBisogno.Y - 35, 0.57F)); break; default: break; } #endregion #region Disegno Didascalie Note Dettaglio Movimenti Ypos -= 13; DataTable dtRighe = set.Tables["RigheDopoDatiTotale"]; DataTable dtDidascalieDB = set.Tables["DettaglioMovimentiDidascalieNote"]; int fase1NumeroAsterischi = 0; int fase2NumeroAsterischi = 0; int fase3NumeroAsterischi = 0; if (!string.IsNullOrEmpty(dtRighe.Rows[0]["Fase1NumeroAsterischiNota"].ToString())) fase1NumeroAsterischi = Convert.ToInt16(dtRighe.Rows[0]["Fase1NumeroAsterischiNota"]); if (!string.IsNullOrEmpty(dtRighe.Rows[0]["Fase2NumeroAsterischiNota"].ToString())) fase2NumeroAsterischi = Convert.ToInt16(dtRighe.Rows[0]["Fase2NumeroAsterischiNota"]); if (!string.IsNullOrEmpty(dtRighe.Rows[0]["Fase3NumeroAsterischiNota"].ToString())) fase3NumeroAsterischi = Convert.ToInt16(dtRighe.Rows[0]["Fase3NumeroAsterischiNota"]); DataTable dtDidascalieInUso = new DataTable(); dtDidascalieInUso.Columns.Add(new DataColumn("SequenzaAsterischi", typeof(string))); dtDidascalieInUso.Columns.Add(new DataColumn("Descrizione", typeof(string))); DataRow dr; DataRow[] righeDidascalia; string accodamento = string.Empty; // lele if (fase1NumeroAsterischi > 0) { righeDidascalia = dtDidascalieDB.Select(string.Format(" NumeroAsterischi = {0}", fase1NumeroAsterischi)); if (righeDidascalia.Length > 0) { dr = dtDidascalieInUso.NewRow(); accodamento = "("; for (int i = 0; i < fase1NumeroAsterischi; i++) { accodamento = string.Format("{0}{1}", accodamento, "*"); } accodamento = string.Format("{0})", accodamento); dr["SequenzaAsterischi"] = accodamento; dr["Descrizione"] = righeDidascalia[0]["Descrizione"].ToString(); dtDidascalieInUso.Rows.Add(dr); } } if (fase2NumeroAsterischi > 0) { righeDidascalia = dtDidascalieDB.Select(string.Format(" NumeroAsterischi = {0}", fase2NumeroAsterischi)); if (righeDidascalia.Length > 0) { dr = dtDidascalieInUso.NewRow(); accodamento = "("; for (int i = 0; i < fase2NumeroAsterischi; i++) { accodamento = string.Format("{0}{1}", accodamento, "*"); } accodamento = string.Format("{0})", accodamento); if (fase3NumeroAsterischi == 0) { dr["SequenzaAsterischi"] = accodamento; dr["Descrizione"] = righeDidascalia[0]["Descrizione"].ToString(); } dtDidascalieInUso.Rows.Add(dr); } } if (fase3NumeroAsterischi > 0) { righeDidascalia = dtDidascalieDB.Select(string.Format(" NumeroAsterischi = {0}", fase3NumeroAsterischi)); if (righeDidascalia.Length > 0) { dr = dtDidascalieInUso.NewRow(); accodamento = "("; for (int i = 0; i < fase3NumeroAsterischi; i++) { accodamento = string.Format("{0}{1}", accodamento, "*"); } accodamento = string.Format("{0})", accodamento); dr["SequenzaAsterischi"] = accodamento + " " + righeDidascalia[0]["Descrizione"].ToString(); //remmare questa se non si vuole far uscire didascalia note? dr["Descrizione"] = righeDidascalia[0]["Descrizione"].ToString(); dtDidascalieInUso.Rows.Add(dr); } } datitab = new DatiTabella(); datitab.table = dtDidascalieInUso; Tabella tabellaDidascalieNote = new Tabella(); tabellaDidascalieNote.X = document.getMargineLeft(); tabellaDidascalieNote.Y = Ypos; tabellaDidascalieNote.Header = false; tabellaDidascalieNote.SaltoPagina = false; tabellaDidascalieNote.DimensioneLinea = 0; tabellaDidascalieNote.AltezzaCella = 10; tabellaDidascalieNote.DisegnaHeaderAlCambioPagina = false; tabellaDidascalieNote.Datasource = datitab.table; //ATTENZIONE: //A causa del tipo Tabella, per la colonna "SequenzaAsterischi" (con dimensione del testo pari ad 8) //un valore di larghezza inferiore a 25 renderà imposibile visualizzare correttamente le sequenze di asterischi //che verranno visualizzate correttamente solo nel caso siano (*), (**), (***). //512 è il valore della larghezza standard delle tabelle usate in questo documento pdf. tabellaDidascalieNote.Colonne.Add(new Colonna("SequenzaAsterischi", string.Empty, 512, TipoAllineamento.SINISTRA, false, 6, false)); /* tabellaDidascalieNote.Colonne.Add(new Colonna("Descrizione", string.Empty, 512 - 12, TipoAllineamento.SINISTRA, false, 6, false));*/ tabellaDidascalieNote.Draw(datitab, document); Ypos += tabellaDidascalieNote.AltezzaTabella; totaleTabellaAlttez += tabellaDidascalieNote.AltezzaTabella; #endregion document.setLastPos(totaleTabellaAlttez+20); } public List ConvertTo(DataTable datatable) where T : new() { List Temp = new List(); try { List columnsNames = new List(); foreach (DataColumn DataColumn in datatable.Columns) columnsNames.Add(DataColumn.ColumnName); Temp = datatable.AsEnumerable().ToList().ConvertAll(row => getObject(row, columnsNames)); return Temp; } catch(Exception ex) { logger.Error(ex, string.Concat("Errore nella ConvertTo ", ex.Message.ToString())); return Temp; } } public T getObject(DataRow row, List columnsName) where T : new() { T obj = new T(); try { string columnname = ""; string value = ""; PropertyInfo[] Properties; Properties = typeof(T).GetProperties(); foreach (PropertyInfo objProperty in Properties) { columnname = columnsName.Find(name => name.ToLower() == objProperty.Name.ToLower()); if (!string.IsNullOrEmpty(columnname)) { value = row[columnname].ToString(); if (!string.IsNullOrEmpty(value)) { if (Nullable.GetUnderlyingType(objProperty.PropertyType) != null) { value = row[columnname].ToString().Replace("$", "").Replace(",", ""); objProperty.SetValue(obj, Convert.ChangeType(value, Type.GetType(Nullable.GetUnderlyingType(objProperty.PropertyType).ToString())), null); } else { value = row[columnname].ToString().Replace("%", ""); objProperty.SetValue(obj, Convert.ChangeType(value, Type.GetType(objProperty.PropertyType.ToString())), null); } } } } return obj; } catch(Exception ex) { logger.Error(ex, string.Concat("Errore nella getObject ", ex.Message.ToString())); return obj; } } private DataTable ToDataTable(IList data) { DataTable table = new DataTable(); try { PropertyDescriptorCollection props = TypeDescriptor.GetProperties(typeof(T)); for (int i = 0; i < props.Count; i++) { PropertyDescriptor prop = props[i]; table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType); } object[] values = new object[props.Count]; foreach (T item in data) { for (int i = 0; i < values.Length; i++) values[i] = props[i].GetValue(item) ?? DBNull.Value; table.Rows.Add(values); } return table; } catch(Exception ex) { logger.Error(ex, string.Concat("Errore nella ToDataTable ", ex.Message.ToString())); return table; } } }