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;
}
}
}