2025-04-15 12:10:19 +02:00

1796 lines
94 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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>
/// Summary description for S80ALT
/// </summary>
///
public class S80ALT : ISezione
{
string Titolo = string.Empty;
string _testotitolo;
string _testointroduttivo;
NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
/// <summary>
/// Testo introduttivo della sezione.
/// </summary>
public string TestoIntroduttivo
{
get
{
return _testointroduttivo;
}
set
{
_testointroduttivo = value;
}
}
/// <summary>
/// Testo del titolo della sezione.
/// </summary>
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 lammontare del Suo patrimonio dallattivazione del monitoraggio. Sono inoltre riportate, per ogni area di bisogno, l'allocazione ottimale (\"Piramide Modello\") corrente, al precedente invio del report e allattivazione del monitoraggio, delle risorse finanziarie che lei detiene presso Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest.", "si è evoluto lammontare del Suo patrimonio dallattivazione del monitoraggio. Sono inoltre riportate, per ogni area di bisogno, l'allocazione ottimale (\"Piramide Modello\") corrente, al precedente invio del report e allattivazione 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,"<br>"), 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<PiramidePercentuale> _listaPirPerc = ConvertTo<PiramidePercentuale>(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<PiramidePercentuale>(_listaPirPerc);
_dt.TableName = "GraficoPiramide";
_dt.Columns[1].Caption = "Controvalore<BR>(€)";
_dt.Columns[2].Caption = "Piramide<BR>Modello (%)";
_dt.Columns[3].Caption = "Controvalore<BR>(€)";
_dt.Columns[4].Caption = "Piramide<BR>Modello (%)";
_dt.Columns[5].Caption = "Controvalore<BR>(€)";
_dt.Columns[6].Caption = "Piramide<BR>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<PiramidePercentuale> _listaTotaliRA = ConvertTo<PiramidePercentuale>(set.Tables["RisorseAllocate"]);
DataTable _dtTotaliRA = ToDataTable<PiramidePercentuale>(_listaTotaliRA);
_dtTotaliRA.TableName = "RisorseAllocate";
_dtTotaliRA.Columns[1].Caption = "Controvalore<BR>(€)";
_dtTotaliRA.Columns[2].Caption = "Piramide<BR>Modello (%)";
_dtTotaliRA.Columns[3].Caption = "Controvalore<BR>(€)";
_dtTotaliRA.Columns[4].Caption = "Piramide<BR>Modello (%)";
_dtTotaliRA.Columns[5].Caption = "Controvalore<BR>(€)";
_dtTotaliRA.Columns[6].Caption = "Piramide<BR>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<PiramidePercentuale> _listaTotaliRnA = ConvertTo<PiramidePercentuale>(set.Tables["RisorseNonAllocate"]);
DataTable _dtTotaliRnA = ToDataTable<PiramidePercentuale>(_listaTotaliRnA);
_dtTotaliRnA.TableName = "RisorseNonAllocate";
_dtTotaliRnA.Columns[1].Caption = "Controvalore<BR>(€)";
_dtTotaliRnA.Columns[2].Caption = "Piramide<BR>Modello (%)";
_dtTotaliRnA.Columns[3].Caption = "Controvalore<BR>(€)";
_dtTotaliRnA.Columns[4].Caption = "Piramide<BR>Modello (%)";
_dtTotaliRnA.Columns[5].Caption = "Controvalore<BR>(€)";
_dtTotaliRnA.Columns[6].Caption = "Piramide<BR>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<PiramidePercentuale> _listaTotaliRF = ConvertTo<PiramidePercentuale>(set.Tables["RisorseFinanziarie"]);
// DataTable _dtTotaliRF = ToDataTable<PiramidePercentuale>(_listaTotaliRF);
// _dtTotaliRF.TableName = "RisorseFinanziarie";
// _dtTotaliRF.Columns[1].Caption = "Controvalore<BR>(€)";
// _dtTotaliRF.Columns[2].Caption = "Piramide<BR>Modello (%)";
// _dtTotaliRF.Columns[3].Caption = "Controvalore<BR>(€)";
// _dtTotaliRF.Columns[4].Caption = "Piramide<BR>Modello (%)";
// _dtTotaliRF.Columns[5].Caption = "Controvalore<BR>(€)";
// _dtTotaliRF.Columns[6].Caption = "Piramide<BR>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<PiramidePercentuale> _listaTotaliCC = ConvertTo<PiramidePercentuale>(set.Tables["ContoCorrente"]);
DataTable _dtTotaliCC = ToDataTable<PiramidePercentuale>(_listaTotaliCC);
_dtTotaliCC.TableName = "ContoCorrente";
_dtTotaliCC.Columns[1].Caption = "Controvalore<BR>(€)";
_dtTotaliCC.Columns[2].Caption = "Piramide<BR>Modello (%)";
_dtTotaliCC.Columns[3].Caption = "Controvalore<BR>(€)";
_dtTotaliCC.Columns[4].Caption = "Piramide<BR>Modello (%)";
_dtTotaliCC.Columns[5].Caption = "Controvalore<BR>(€)";
_dtTotaliCC.Columns[6].Caption = "Piramide<BR>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<PiramidePercentuale> _listaTotaliSelf = ConvertTo<PiramidePercentuale>(set.Tables["LineaSelfNeg"]);
DataTable _dtTotaliSelf = ToDataTable<PiramidePercentuale>(_listaTotaliSelf);
_dtTotaliSelf.TableName = "LineaSelfNeg";
_dtTotaliSelf.Columns[1].Caption = "Controvalore<BR>(€)";
_dtTotaliSelf.Columns[2].Caption = "Piramide<BR>Modello (%)";
_dtTotaliSelf.Columns[3].Caption = "Controvalore<BR>(€)";
_dtTotaliSelf.Columns[4].Caption = "Piramide<BR>Modello (%)";
_dtTotaliSelf.Columns[5].Caption = "Controvalore<BR>(€)";
_dtTotaliSelf.Columns[6].Caption = "Piramide<BR>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<PiramidePercentuale> _listaTotaliOiC = ConvertTo<PiramidePercentuale>(set.Tables["OperazioniInCorso"]);
DataTable _dtTotaliOiC = ToDataTable<PiramidePercentuale>(_listaTotaliOiC);
_dtTotaliOiC.TableName = "OperazioniInCorso";
_dtTotaliOiC.Columns[1].Caption = "Controvalore<BR>(€)";
_dtTotaliOiC.Columns[2].Caption = "Piramide<BR>Modello (%)";
_dtTotaliOiC.Columns[3].Caption = "Controvalore<BR>(€)";
_dtTotaliOiC.Columns[4].Caption = "Piramide<BR>Modello (%)";
_dtTotaliOiC.Columns[5].Caption = "Controvalore<BR>(€)";
_dtTotaliOiC.Columns[6].Caption = "Piramide<BR>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<PiramidePercentuale> _listaTotali = ConvertTo<PiramidePercentuale>(set.Tables["DatiTotale"]);
DataTable _dtTotali = ToDataTable<PiramidePercentuale>(_listaTotali);
_dtTotali.TableName = "DatiTotale";
_dtTotali.Columns[1].Caption = "Controvalore<BR>(€)";
_dtTotali.Columns[2].Caption = "Piramide<BR>Modello (%)";
_dtTotali.Columns[3].Caption = "Controvalore<BR>(€)";
_dtTotali.Columns[4].Caption = "Piramide<BR>Modello (%)";
_dtTotali.Columns[5].Caption = "Controvalore<BR>(€)";
_dtTotali.Columns[6].Caption = "Piramide<BR>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<PiramidePercentualeDopoRigheTotali> _listaTotaliDDT = ConvertTo<PiramidePercentualeDopoRigheTotali>(set.Tables["RigheDopoDatiTotale"]);
DataTable _dtTotaliDDT = ToDataTable<PiramidePercentualeDopoRigheTotali>(_listaTotaliDDT);
_dtTotaliDDT.TableName = "RigheDopoDatiTotale";
_dtTotaliDDT.Columns[1].Caption = "Controvalore<BR>(€)";
_dtTotaliDDT.Columns[2].Caption = "Piramide<BR>Modello (%)";
_dtTotaliDDT.Columns[3].Caption = "Controvalore<BR>(€)";
_dtTotaliDDT.Columns[4].Caption = "Piramide<BR>Modello (%)";
_dtTotaliDDT.Columns[5].Caption = "Controvalore<BR>(€)";
_dtTotaliDDT.Columns[6].Caption = "Piramide<BR>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<PiramidePercentualeDopoRigheTotali> _listaTotaliDDT = ConvertTo<PiramidePercentualeDopoRigheTotali>(set.Tables["RigheDopoDatiTotale"]);
////DataTable _dtTotaliDDT = ToDataTable<PiramidePercentualeDopoRigheTotali>(_listaTotaliDDT);
////_dtTotaliDDT.TableName = "RigheDopoDatiTotale";
////_dtTotaliDDT.Columns[1].Caption = "Controvalore<BR>(€)";
////_dtTotaliDDT.Columns[2].Caption = "Piramide<BR>Modello (%)";
////_dtTotaliDDT.Columns[3].Caption = "Controvalore<BR>(€)";
////_dtTotaliDDT.Columns[4].Caption = "Piramide<BR>Modello (%)";
////_dtTotaliDDT.Columns[5].Caption = "Controvalore<BR>(€)";
////_dtTotaliDDT.Columns[6].Caption = "Piramide<BR>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<T> ConvertTo<T>(DataTable datatable) where T : new()
{
List<T> Temp = new List<T>();
try
{
List<string> columnsNames = new List<string>();
foreach (DataColumn DataColumn in datatable.Columns)
columnsNames.Add(DataColumn.ColumnName);
Temp = datatable.AsEnumerable().ToList().ConvertAll<T>(row => getObject<T>(row, columnsNames));
return Temp;
}
catch(Exception ex)
{
logger.Error(ex, string.Concat("Errore nella ConvertTo<T> ", ex.Message.ToString()));
return Temp;
}
}
public T getObject<T>(DataRow row, List<string> 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<T> ", ex.Message.ToString()));
return obj;
}
}
private DataTable ToDataTable<T>(IList<T> 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;
}
}
}