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

3357 lines
190 KiB
C#

using System;
using System.Data;
using ceTe.DynamicPDF.Text;
using PDFGenerator.Presentation.Section.Tables;
using PDFGenerator.Presentation.Section.Charts;
using PDFGenerator.BusinessLayer;
using ceTe.DynamicPDF;
using System.Collections;
namespace PDFGenerator.Presentation.Section
{
public class SIstogramma
{
protected string Titolo = " ";
protected DataTable tabTortaTabella;
protected DataTable tabTortaTotali;
protected DataTable tabTortaContoCorrenteBancaFideuram;
protected DataTable tabTortaLineaSelf;
protected DataTable tabTortaPatrimonioNonRappresentabile;
protected DataTable tabTotale;
protected DataTable tabTortaPartiteViaggianti;
/*** ESG DataTable delle caratteristiche ***/
protected DataTable tabCaratteristiche;
/********************************************/
private bool _noIndicizzato;
protected DataTable tabNota;
protected DocumentPDF document;
protected float dim = 0;
protected DatiTabella datitab = new DatiTabella();
protected bool salto = false;
protected int ChartHeigth = 145;
protected string _header;
protected bool _saltopaginaeffettuato = false;
/**** Direct Banker 23/03/2023 - Pino *****/
protected string DirectBanker;
protected DataTable tabMacroAssetClass;
/******************************************/
private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
public SIstogramma()
{
_noIndicizzato = false;
_header = "";
}
#region ISezione Members
protected void writeSezione(DataThread datathread)
{
int MaxRow;
bool cut = true;
DataTable vista;
Tabella tab = new Tabella();
datitab.table = tabTortaTabella;
vista = datitab.table;
if (document == null)
document = datathread.DocumentPDF;
datitab.setY(document.getLastPos());
datitab.setIsRet();
datitab.setIsLinee(1);
datitab.setHeader();
datitab.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
datitab.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitab.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitab.setCellSpace(0);
int rTotTortaPatrimonioNonRappresentabile = 0;
int rTotTortaContoCorrenteBancaFideuram = 0;
int rTotTortaLineaSelf = 0;
int rTotTotale = 0;
if (tabTortaPatrimonioNonRappresentabile != null)
rTotTortaPatrimonioNonRappresentabile = tabTortaPatrimonioNonRappresentabile.Rows.Count;
if (tabTortaContoCorrenteBancaFideuram != null)
rTotTortaContoCorrenteBancaFideuram = tabTortaContoCorrenteBancaFideuram.Rows.Count;
if (tabTortaLineaSelf != null)
rTotTortaLineaSelf = tabTortaLineaSelf.Rows.Count;
if (tabTotale != null)
rTotTotale = tabTotale.Rows.Count;
//eventuali operazioni sul dataset
//calcola se entra nella pagina altrimenti aggiunge una nuova pagina.
float altezzaNotaPatrimonioNonRappresentabile = tabTortaPatrimonioNonRappresentabile == null ? 0 : tabTortaPatrimonioNonRappresentabile.Rows.Count;
altezzaNotaPatrimonioNonRappresentabile = altezzaNotaPatrimonioNonRappresentabile * 30;
//V if (document.checkMargin(ChartHeigth + altezzaNotaPatrimonioNonRappresentabile))
//Aggiunto 30 per non far sforare la S10
if (document.checkMargin(ChartHeigth + altezzaNotaPatrimonioNonRappresentabile + 30))
document.addPage();
//if (_noIndicizzato)
// document.setTitolo("SOSTITUIRE_TITOLO");
//else
if (_noIndicizzato)
document.setTitolo(datathread.SezioneReport.Titolo);
else
{
// Inizio: aggiunto per via del font = 8 sul nuovo report di Diagnosi
if ((datathread.TipoReport.ToUpper() == "DIAGNOSI") && ((datathread.SezioneReport.Codice == "S153") || (datathread.SezioneReport.Codice == "S154") || (datathread.SezioneReport.Codice == "S163")))
{
document.setSezTitolo(datathread.SezioneReport.Titolo);
document.setChapterHeader(datathread.SezioneReport.TestoIntroduttivo.Replace("/$Banca$/", datathread.NomeRete).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest"), 0, 520, 8);
}
// Fine: aggiunto per via del font = 8 sul nuovo report di Diagnosi
else if (datathread.TipoReport.ToUpper() == "DIAGNOSI")
{
document.setSezTitoloDiagnosi(datathread.SezioneReport.Titolo);
document.setChapterHeader(Header);
}
else
{
document.setSezTitolo(datathread.SezioneReport.Titolo);
document.setChapterHeader(datathread.SezioneReport.TestoIntroduttivo.Replace("/$Banca$/", datathread.NomeRete).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest"), 0, 520, 8);
}
}
//document.setHeaderSpace(10);
// Grafico
DatiGrafico dati = new DatiGrafico();
DataView view = new DataView(datitab.table);
view.RowFilter = "";
dati.dataTab = view.ToTable(false, this.setTableForIsto());
switch (dati.dataTab.Rows.Count)
{
case 2:
dati.setHeight(ChartHeigth - 43);
break;
case 3:
dati.setHeight(ChartHeigth - 25);
break;
case 4:
dati.setHeight(ChartHeigth);
//dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow())));
break;
case 5:
dati.setHeight(ChartHeigth + 24);
break;
default:
//dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow()+2.5)));
dati.setHeight(Convert.ToSingle(datitab.getHeaderDim()) + (datitab.GetRowDim() * (datitab.getNumRow() + datitab.GetRowDim() + 10)));
break;
}
dati.setWidth(200);
Istogramma isto = new Istogramma();
//document.InsertGrafico(isto.getGrafico(dati), 360, document.getLastPos() - 11);
document.InsertGrafico(isto.getGrafico(dati), 349, document.getLastPos() - 12); /// Buona
ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage();
var xrowDim = datitab.GetRowDim();
if (tabTortaTabella.Rows.Count == 18 && tabTortaPatrimonioNonRappresentabile.Rows.Count + tabTortaContoCorrenteBancaFideuram.Rows.Count >= 1)
{
xrowDim--;
}
datitab.SetRowDim(xrowDim);
while (cut)
{
if (vista.Rows.Count != 0 && document.checkMargin(datitab.GetRowDim() * (vista.Rows.Count + 2 + rTotTortaPatrimonioNonRappresentabile + rTotTortaContoCorrenteBancaFideuram + rTotTortaLineaSelf + rTotTotale) + dim))
{
MaxRow = document.getWritableRow(23, false); //23
//if (tabTortaTabella.Rows.Count > 17 && tabTortaPatrimonioNonRappresentabile.Rows.Count + tabTortaContoCorrenteBancaFideuram.Rows.Count >= 1)
// MaxRow = document.getWritableRow(19, false);
// ulteriore controllo per evitare che la nota sfori sul footer. Questa gestione è da rifare totalmente.
if (document.checkMargin((MaxRow + rTotTortaPatrimonioNonRappresentabile + rTotTortaContoCorrenteBancaFideuram + rTotTortaLineaSelf + rTotTotale + altezzaNotaPatrimonioNonRappresentabile) * 23))
MaxRow -= 1;
vista.Columns.Add("ID");
int i = 0;
cut = false;
foreach (DataRow myRow in vista.Rows)
{
if (i < MaxRow - (1 + rTotTortaPatrimonioNonRappresentabile + rTotTortaContoCorrenteBancaFideuram + rTotTortaLineaSelf + rTotTotale))
myRow["ID"] = 1;
else
{
myRow["ID"] = 2;
cut = true;
}
i++;
}
view = new DataView(vista);
view.RowFilter = ("ID = 1");
}
else
cut = false;
datitab.table = view.ToTable(false, setTableForTable());
datitab.setY(document.getLastPos());
datitab.setX(document.getMargineLeft());
//setta posizione tabella
document.InsertTable(tab.getTabella(datitab));
dim = datitab.GetRowDim() * (datitab.getNumRow() + 1);
if (cut)
{
document.changePage(389, dim + 20);
document.nextPage(document.getMargineLeft());
datitab.setHeader();
dim = 0;
view = new DataView(vista);
view.RowFilter = ("ID = 2");
vista = view.ToTable();
vista.Columns.Remove(vista.Columns["ID"]);
_saltopaginaeffettuato = true;
}
}
// Totale della griglia
datitab = new DatiTabella();
datitab.table = tabTortaTotali;
datitab.setY(document.getLastPos() + dim);
datitab.setX(document.getMargineLeft());
datitab.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true);
datitab.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
datitab.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
document.InsertTable(tab.getTabella(datitab));
float yRect = datitab.getY() + 13;
float yLineHeader = datitab.getY() + 12;
// Barra colorata del footer anche estesa al grafico
switch (dati.dataTab.Rows.Count)
{
case 3:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 82, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
case 4:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 105, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
case 5:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 128, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
default:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, yRect, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
}
//if (dati.dataTab.Rows.Count == 4)
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 105, 199, 23, 0, new RgbColor(232, 236, 237)));
//else
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 128, 199, 23, 0, new RgbColor(232, 236, 237)));
dim += datitab.GetRowDim() * datitab.getNumRow();
if (tabTortaPatrimonioNonRappresentabile != null)
{
DatiTabella datitabPatrimonioNonRappresentabile = new DatiTabella();
datitabPatrimonioNonRappresentabile.table = tabTortaPatrimonioNonRappresentabile;
datitabPatrimonioNonRappresentabile.SetRowDim(xrowDim);
datitabPatrimonioNonRappresentabile.setY(document.getLastPos() + dim);
datitabPatrimonioNonRappresentabile.setX(document.getMargineLeft());
datitabPatrimonioNonRappresentabile.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
datitabPatrimonioNonRappresentabile.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitabPatrimonioNonRappresentabile.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
document.InsertTable(tab.getTabella(datitabPatrimonioNonRappresentabile));
dim += datitabPatrimonioNonRappresentabile.GetRowDim() * datitabPatrimonioNonRappresentabile.getNumRow();
}
if (tabTortaContoCorrenteBancaFideuram != null)
{
DatiTabella datitabContoCorrenteBancaFideuram = new DatiTabella();
datitabContoCorrenteBancaFideuram.table = tabTortaContoCorrenteBancaFideuram;
datitabContoCorrenteBancaFideuram.SetRowDim(xrowDim);
datitabContoCorrenteBancaFideuram.setY(document.getLastPos() + dim);
datitabContoCorrenteBancaFideuram.setX(document.getMargineLeft());
datitabContoCorrenteBancaFideuram.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
datitabContoCorrenteBancaFideuram.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitabContoCorrenteBancaFideuram.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
document.InsertTable(tab.getTabella(datitabContoCorrenteBancaFideuram));
dim += datitabContoCorrenteBancaFideuram.GetRowDim() * datitabContoCorrenteBancaFideuram.getNumRow();
}
if (tabTortaLineaSelf != null)
{
DatiTabella datitabLineaSelf = new DatiTabella();
datitabLineaSelf.table = tabTortaLineaSelf;
datitabLineaSelf.SetRowDim(xrowDim);
datitabLineaSelf.setY(document.getLastPos() + dim);
datitabLineaSelf.setX(document.getMargineLeft());
datitabLineaSelf.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
datitabLineaSelf.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitabLineaSelf.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
document.InsertTable(tab.getTabella(datitabLineaSelf));
dim += datitabLineaSelf.GetRowDim() * datitabLineaSelf.getNumRow();
}
if (tabTortaPartiteViaggianti != null)
{
DatiTabella datitabPartiteViaggianti = new DatiTabella();
datitabPartiteViaggianti.table = tabTortaPartiteViaggianti;
datitabPartiteViaggianti.setY(document.getLastPos() + dim);
datitabPartiteViaggianti.setX(document.getMargineLeft());
datitabPartiteViaggianti.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
datitabPartiteViaggianti.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitabPartiteViaggianti.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
document.InsertTable(tab.getTabella(datitabPartiteViaggianti));
dim += datitabPartiteViaggianti.GetRowDim() * datitabPartiteViaggianti.getNumRow();
}
if (tabTotale != null)
{
DatiTabella datitabContoTotale = new DatiTabella();
tabTotale.Columns.Add();
datitabContoTotale.table = tabTotale;
datitabContoTotale.setY(document.getLastPos() + dim);
datitabContoTotale.setX(document.getMargineLeft());
datitabContoTotale.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true);
datitabContoTotale.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
datitabContoTotale.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
document.InsertTable(tab.getTabella(datitabContoTotale));
dim += datitabContoTotale.GetRowDim() * datitabContoTotale.getNumRow();
}
// Scrittura del footer sul grafico
FormatNum format = new FormatNum();
ArrayList Labels = format.CreateCustomPerc148(dati.getValMax(), dati.getValMin());
switch (dati.dataTab.Rows.Count)
{
case 3:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 91, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
case 4:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 115, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 115, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 115, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
case 5:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 135, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 135, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 135, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
default:
float passo = 40.0F;
for (int i = 0; i <= Labels.Count - 1; ++i)
if (i == 0)
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 265F + i, yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
else
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 275F + (passo * i), yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
//float passo = 40.0F; //23.5F; //294.5F
////float x = datitab.getX();
////float barWidth = dati.getWidth();
//for (int i = 0; i <= Labels.Count-1; ++i)
// if (i == 0)
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 270F + i, yRect, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
// else
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 270F + (passo * i), yRect, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, yRect, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
////page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, yRect, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
////page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, yRect, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
}
//if (dati.dataTab.Rows.Count == 4)
//{
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 115, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
// //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 115, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 115, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
//}
//else
//{
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 135, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
// //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 135, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 135, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
//}
dim += datitab.GetRowDim() * datitab.getNumRow();
}
protected string[] setTableForTable()
{
string[] Columns = new String[6];
//eventuali operazioni sul dataset
Columns[0] = "Descrizione";
Columns[1] = "Controvalore";
Columns[2] = "Percentuale";
Columns[3] = "Red";
Columns[4] = "Green";
Columns[5] = "Blue";
return Columns;
}
protected string[] setTableForIsto()
{
string[] Columns = new String[4];
Columns[0] = "Percentuale";
Columns[1] = "Red";
Columns[2] = "Green";
Columns[3] = "Blue";
return Columns;
}
/***** Fix per FD 30/05/2023 - Pino ****/
protected string[] setTableForIsto190()
{
string[] Columns = new String[4];
Columns[0] = "percentuale_modello";
Columns[1] = "Red";
Columns[2] = "Green";
Columns[3] = "Blue";
return Columns;
}
/***************************************/
protected string[] setTableForIstoESG()
{
string[] Columns = new String[4];
Columns[0] = "PercentualeESG";
Columns[1] = "Red";
Columns[2] = "Green";
Columns[3] = "Blue";
return Columns;
}
protected string[] setTableForTableNoControvalore()
{
string[] Columns = new String[5];
//eventuali operazioni sul dataset
Columns[0] = "Descrizione";
Columns[1] = "Percentuale";
Columns[2] = "Red";
Columns[3] = "Green";
Columns[4] = "Blue";
return Columns;
}
/*** Fix FD 30/05/2023 - Pino ***/
protected string[] setTableForFD()
{
string[] Columns = new String[6];
//eventuali operazioni sul dataset
Columns[0] = "AssetClassName";
Columns[1] = "PercentualeString";
Columns[2] = "percentuale_modello_string";
Columns[3] = "Red";
Columns[4] = "Green";
Columns[5] = "Blue";
return Columns;
}
protected string[] setTableForFDAssetClass()
{
string[] Columns = new String[6];
//eventuali operazioni sul dataset
Columns[0] = "AssetClassName";
Columns[1] = "Percentuale";
Columns[2] = "percentuale_modello";
Columns[3] = "Red";
Columns[4] = "Green";
Columns[5] = "Blue";
return Columns;
}
/********************************/
protected void writeSezioneComboSX(DataThread datathread)
{
int MaxRow;
bool cut = true;
DataTable vista;
Tabella tab = new Tabella();
datitab.table = tabTortaTabella;
vista = datitab.table;
datitab.setY(document.getLastPos());
datitab.setIsRet();
datitab.setIsLinee(1);
datitab.setHeader();
datitab.setCell(115, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
datitab.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitab.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitab.setCellSpace(0);
int rTotTortaPatrimonioNonRappresentabile = 0;
int rTotTortaContoCorrenteBancaFideuram = 0;
int rTotTotale = 0;
if (tabTortaPatrimonioNonRappresentabile != null)
rTotTortaPatrimonioNonRappresentabile = tabTortaPatrimonioNonRappresentabile.Rows.Count;
if (tabTortaContoCorrenteBancaFideuram != null)
rTotTortaContoCorrenteBancaFideuram = tabTortaContoCorrenteBancaFideuram.Rows.Count;
if (tabTotale != null)
rTotTotale = tabTotale.Rows.Count;
//eventuali operazioni sul dataset
//calcola se entra nella pagina altrimenti aggiunge una nuova pagina. In questa sezione il # di righe è fissato
if (document.checkMargin(ChartHeigth + 20 + datitab.GetRowDim() * 2)) document.addPage();
if (_noIndicizzato)
document.setTitolo(datathread.SezioneReport.Titolo);
else
{
if (datathread.TipoReport.ToUpper() == "DIAGNOSI")
document.setSezTitoloDiagnosi(datathread.SezioneReport.Titolo);
else
document.setSezTitolo(datathread.SezioneReport.Titolo);
}
document.setChapterHeader(Header);
DatiGrafico dati = new DatiGrafico();
DataView view = new DataView(datitab.table);
view.RowFilter = "";
dati.dataTab = view.ToTable(false, this.setTableForIsto());
dati.setHeight(ChartHeigth);
dati.setWidth(140);
Istogramma isto = new Istogramma();
document.InsertGrafico(isto.getGrafico(dati), 100, document.getLastPos());
dim += (ChartHeigth + 20);
ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage();
while (cut)
{
if (vista.Rows.Count != 0 && document.checkMargin((datitab.GetRowDim() * (vista.Rows.Count + 2 + rTotTortaPatrimonioNonRappresentabile + rTotTortaContoCorrenteBancaFideuram + rTotTotale)) + dim))
{
MaxRow = document.getWritableRow(datitab.GetRowDim(), false) - (int)(dim / datitab.GetRowDim()) - 1;
vista.Columns.Add("ID");
int i = 0;
cut = false;
foreach (DataRow myRow in vista.Rows)
{
if (i < MaxRow - (rTotTortaContoCorrenteBancaFideuram + rTotTotale + rTotTortaPatrimonioNonRappresentabile + 2))
myRow["ID"] = 1;
else
{
myRow["ID"] = 2;
cut = true;
}
i++;
}
view = new DataView(vista);
view.RowFilter = ("ID = 1");
}
else
cut = false;
datitab.table = view.ToTable(false, setTableForTable());
datitab.setY(document.getLastPos() + dim);
datitab.setX(document.getMargineLeft());
//setta posizione tabella
document.InsertTable(tab.getTabella(datitab));
dim += datitab.GetRowDim() * (datitab.getNumRow() + 1);
if (cut)
{
document.changePage(237, dim);
document.nextPage(document.getMargineLeft());
datitab.setHeader();
salto = true;
dim = 0;
view = new DataView(vista);
view.RowFilter = ("ID = 2");
vista = view.ToTable();
vista.Columns.Remove(vista.Columns["ID"]);
}
}
datitab = new DatiTabella();
if (tabTortaTotali != null)
{
datitab.table = tabTortaTotali;
datitab.setY(document.getLastPos() + dim);
datitab.setX(document.getMargineLeft());
datitab.setCell(115, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true, 7);
datitab.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true, 7);
datitab.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true, 7);
document.InsertTable(tab.getTabella(datitab));
dim += datitab.GetRowDim() * datitab.getNumRow();
}
if (tabTortaPatrimonioNonRappresentabile != null)
{
DatiTabella datitabPatrimonioNonRappresentabile = new DatiTabella();
datitabPatrimonioNonRappresentabile.table = tabTortaPatrimonioNonRappresentabile;
datitabPatrimonioNonRappresentabile.setY(document.getLastPos() + dim);
datitabPatrimonioNonRappresentabile.setX(document.getMargineLeft());
datitabPatrimonioNonRappresentabile.setCell(115, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
datitabPatrimonioNonRappresentabile.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitabPatrimonioNonRappresentabile.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
document.InsertTable(tab.getTabella(datitabPatrimonioNonRappresentabile));
dim += datitabPatrimonioNonRappresentabile.GetRowDim() * datitabPatrimonioNonRappresentabile.getNumRow();
}
if (tabTortaContoCorrenteBancaFideuram != null)
{
DatiTabella datitabContoCorrenteBancaFideuram = new DatiTabella();
datitabContoCorrenteBancaFideuram.table = tabTortaContoCorrenteBancaFideuram;
datitabContoCorrenteBancaFideuram.setY(document.getLastPos() + dim);
datitabContoCorrenteBancaFideuram.setX(document.getMargineLeft());
datitabContoCorrenteBancaFideuram.setCell(115, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
datitabContoCorrenteBancaFideuram.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitabContoCorrenteBancaFideuram.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
document.InsertTable(tab.getTabella(datitabContoCorrenteBancaFideuram));
dim += datitabContoCorrenteBancaFideuram.GetRowDim() * datitabContoCorrenteBancaFideuram.getNumRow();
}
if (tabTortaPartiteViaggianti != null)
{
DatiTabella datitabPartiteViaggianti = new DatiTabella();
datitabPartiteViaggianti.table = tabTortaPartiteViaggianti;
datitabPartiteViaggianti.setY(document.getLastPos() + dim);
datitabPartiteViaggianti.setX(document.getMargineLeft());
datitabPartiteViaggianti.setCell(115, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
datitabPartiteViaggianti.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitabPartiteViaggianti.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
document.InsertTable(tab.getTabella(datitabPartiteViaggianti));
dim += datitabPartiteViaggianti.GetRowDim() * datitabPartiteViaggianti.getNumRow();
}
if (tabTotale != null)
{
DatiTabella datitabContoTotale = new DatiTabella();
tabTotale.Columns.Add();
datitabContoTotale.table = tabTotale;
datitabContoTotale.setY(document.getLastPos() + dim);
datitabContoTotale.setX(document.getMargineLeft());
datitabContoTotale.setCell(115, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true, 7);
datitabContoTotale.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true, 7);
datitabContoTotale.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true, 7);
document.InsertTable(tab.getTabella(datitabContoTotale));
dim += datitabContoTotale.GetRowDim() * datitabContoTotale.getNumRow();
}
}
protected void writeSezione167()
{
}
protected void writeSezione148(DataThread datathread)
{
int MaxRow;
bool cut = true;
DataTable vista;
Tabella tab = new Tabella();
datitab.table = tabTortaTabella;
float MargineTop;
vista = datitab.table;
if (document == null)
document = datathread.DocumentPDF;
MargineTop = document.getLastPos();
datitab.table.Columns[1].Caption = string.Empty;
datitab.setY(document.getLastPos());
datitab.setIsRet();
datitab.setIsLinee(1);
datitab.setHeader();
datitab.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
// ********************Modifica Andrea ***********************************************//
datitab.setCell(0, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false, 0); // 90
//************************************************************************************//
datitab.setCell(125, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false); // 120
datitab.setCellSpace(0);
int rTotTortaPatrimonioNonRappresentabile = 0;
int rTotTortaContoCorrenteBancaFideuram = 0;
int rTotTortaLineaSelf = 0;
int rTotTotale = 0;
int imposs = 1000;
if (tabTortaPatrimonioNonRappresentabile != null)
rTotTortaPatrimonioNonRappresentabile = tabTortaPatrimonioNonRappresentabile.Rows.Count;
if (tabTortaContoCorrenteBancaFideuram != null)
rTotTortaContoCorrenteBancaFideuram = tabTortaContoCorrenteBancaFideuram.Rows.Count;
if (tabTortaLineaSelf != null)
rTotTortaLineaSelf = tabTortaLineaSelf.Rows.Count;
if (tabTotale != null && imposs == 3)
rTotTotale = tabTotale.Rows.Count;
//eventuali operazioni sul dataset
//calcola se entra nella pagina altrimenti aggiunge una nuova pagina.
float altezzaNotaPatrimonioNonRappresentabile = tabTortaPatrimonioNonRappresentabile == null ? 0 : tabTortaPatrimonioNonRappresentabile.Rows.Count;
altezzaNotaPatrimonioNonRappresentabile = altezzaNotaPatrimonioNonRappresentabile * 30;
//V if (document.checkMargin(ChartHeigth + altezzaNotaPatrimonioNonRappresentabile))
//Aggiunto 30 per non far sforare la S10
if (document.checkMargin(ChartHeigth + altezzaNotaPatrimonioNonRappresentabile + 30))
document.addPage();
//if (_noIndicizzato)
// document.setTitolo("SOSTITUIRE_TITOLO");
//else
if (_noIndicizzato)
document.setTitolo(datathread.SezioneReport.Titolo);
else
{
// Inizio: aggiunto per via del font = 8 sul nuovo report di Diagnosi
if ((datathread.TipoReport.ToUpper() == "DIAGNOSI") && ((datathread.SezioneReport.Codice == "S153") || (datathread.SezioneReport.Codice == "S154") || (datathread.SezioneReport.Codice == "S163")))
{
document.setSezTitolo(datathread.SezioneReport.Titolo);
document.setChapterHeader(datathread.SezioneReport.TestoIntroduttivo.Replace("/$Banca$/", datathread.NomeRete).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest,"), 0, 520, 8);
}
// Fine: aggiunto per via del font = 8 sul nuovo report di Diagnosi
else if (datathread.TipoReport.ToUpper() == "DIAGNOSI")
{
document.setSezTitoloDiagnosi(datathread.SezioneReport.Titolo);
if (datathread.SezioneReport.Codice == "FD148")
{
string testo = "In questa scheda è riportata la classificazione del suo patrimonio finanziario presso $/Banca/$ sulla base delle principali asset class finanziarie a cui è esposto, con evidenza del peso percentuale di ciascuna.";
document.setChapterHeader(testo.Replace("$/Banca/$", datathread.NomeRete).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest,"), 0, 520, 8);
}
else
document.setChapterHeader(Header);
}
else
{
document.setSezTitolo(datathread.SezioneReport.Titolo);
// document.setChapterHeader(datathread.SezioneReport.TestoIntroduttivo.Replace("/$Banca$/", datathread.NomeRete), 0, 520, 8);
document.setChapterHeader(datathread.SezioneReport.TestoIntroduttivo.Replace("/$Banca$/", datathread.NomeRete).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest,"), 0, Convert.ToInt32(document.getLastPos()) - 10, 520, 8);
}
}
//document.setHeaderSpace();
#region Nuova Tabella
decimal totaleSelfNegFO = datathread.Periodico ? datathread.GetSelfNegativeValue("FO") : 0;
decimal totalNegativeCurrentAccountValue = datathread.Periodico ? datathread.TotalNegativeCurrentAccountValue : 0;
decimal GPEligoFondi = datathread.GPEligoFondi;
decimal GPEligoTitoli = datathread.GPEligoTitoli;
// decimal GradoCopertura = datathread.GradoCoperturaMacroAssetInterno;
decimal PatrimonioTerzi = datathread.Patrimonioterzictv;
decimal ProdottiNonRapp = datathread.PatrimonioNonRappresentabileFI;
decimal PatrBancaSez = datathread.PatrimonioBancaFideuramCtvAlNettoContoCorrente - datathread.PartiteViaggiantiInvestimento - datathread.PartiteViaggiantiDisinvestimento - datathread.PatrimonioNonRappresentabileFI;
decimal GradoCopertura = PatrBancaSez / datathread.PatrimonioBancaFideuramCtvAlNettoContoCorrente * 100;
decimal PartiteViaggianti = datathread.PartiteViaggiantiInvestimento + datathread.PartiteViaggiantiDisinvestimento;
DataTable _tmpTotPF = tabTortaTotali.Copy(); //set.Tables["MacroAssetTotale"];
_tmpTotPF.Columns.Remove("Percentuale");
if (totalNegativeCurrentAccountValue != 0 || totaleSelfNegFO != 0 || GPEligoFondi < 0 || GPEligoTitoli < 0 || ((GradoCopertura >= 0 && GradoCopertura < 100) && (ProdottiNonRapp != 0 || PartiteViaggianti != 0)))
{
_tmpTotPF.Rows[0][0] = "Patrimonio /$Banca$/ (€) *".Replace("/$Banca$/", datathread.NomeRete);
}
else
{
_tmpTotPF.Rows[0][0] = "Patrimonio /$Banca$/ (€)".Replace("/$Banca$/", datathread.NomeRete);
}
DatiTabella datitabPF = new DatiTabella();
datitabPF.table = _tmpTotPF;
datitabPF.setY(document.getLastPos() + 10);
datitabPF.setX(document.getMargineLeft());
datitabPF.setCell(220, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true); //Andrea Modifica 14062022 190 ---> 220
//datitabPF.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
datitabPF.setCell(130, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, false);
logger.Info(string.Concat("Periodico ", datathread.Periodico.ToString()));
if (datathread.Periodico)
{
var idModello = datathread.ReportsType.Find(f => f.Descrizione == "Monitoraggio").IdModello;
if (idModello == 6)
tab.ColoreDirectBankB = "green";
}
else
{
var idModello = datathread.ReportsType.Find(f => f.Descrizione == "Diagnosi").IdModello;
logger.Info(string.Concat("Modello ", idModello.ToString()));
if (idModello == 6)
tab.ColoreDirectBankB = "green";
}
document.InsertTable(tab.getTabella(datitabPF));
#endregion
document.setHeaderSpace(40);
#region Grafico
//// Grafico
DatiGrafico dati = new DatiGrafico();
DataView view = new DataView(datitab.table);
//view.RowFilter = "";
//dati.dataTab = view.ToTable(false, this.setTableForIsto());
//switch (dati.dataTab.Rows.Count)
//{
// case 3:
// dati.setHeight(ChartHeigth - 25);
// break;
// case 4:
// dati.setHeight(ChartHeigth);
// //dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow())));
// break;
// case 5:
// dati.setHeight(ChartHeigth + 15);
// break;
// default:
// dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow() + 2.5)));
// break;
//}
//dati.setWidth(200);
//Istogramma isto = new Istogramma();
////document.InsertGrafico(isto.getGrafico(dati), 360, document.getLastPos() - 11);
//document.InsertGrafico(isto.getGrafico(dati), 349, document.getLastPos() - 12); /// Buona
ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage();
#endregion
var xrowDim = datitab.GetRowDim();
if (tabTortaTabella.Rows.Count == 18 && tabTortaPatrimonioNonRappresentabile.Rows.Count + tabTortaContoCorrenteBancaFideuram.Rows.Count >= 1)
{
xrowDim--;
}
if (tabTortaTabella.Rows.Count == 19) // && tabTortaPatrimonioNonRappresentabile.Rows.Count + tabTortaContoCorrenteBancaFideuram.Rows.Count >= 1)
{
xrowDim--;
}
datitab.SetRowDim(xrowDim);
while (cut)
{
if (vista.Rows.Count != 0 && document.checkMargin(datitab.GetRowDim() * (vista.Rows.Count + 2 + rTotTortaPatrimonioNonRappresentabile + rTotTortaContoCorrenteBancaFideuram + rTotTortaLineaSelf + rTotTotale) + dim))
{
if (datathread.Periodico)
{
var idModello = datathread.ReportsType.Find(f => f.Descrizione == "Monitoraggio").IdModello;
if (idModello == 6) // FD
MaxRow = document.getWritableRow(24, false); //23
else
MaxRow = document.getWritableRow(23, false); //23
}
else
MaxRow = document.getWritableRow(23, false); //23
//if (tabTortaTabella.Rows.Count > 17 && tabTortaPatrimonioNonRappresentabile.Rows.Count + tabTortaContoCorrenteBancaFideuram.Rows.Count >= 1)
// MaxRow = document.getWritableRow(19, false);
// ulteriore controllo per evitare che la nota sfori sul footer. Questa gestione è da rifare totalmente.
if (document.checkMargin((MaxRow + rTotTortaPatrimonioNonRappresentabile + rTotTortaContoCorrenteBancaFideuram + rTotTortaLineaSelf + rTotTotale + altezzaNotaPatrimonioNonRappresentabile) * 23))
MaxRow -= 1;
vista.Columns.Add("ID");
int i = 0;
cut = false;
foreach (DataRow myRow in vista.Rows)
{
if (i < MaxRow - (1 + rTotTortaPatrimonioNonRappresentabile + rTotTortaContoCorrenteBancaFideuram + rTotTortaLineaSelf + rTotTotale))
myRow["ID"] = 1;
else
{
myRow["ID"] = 2;
cut = true;
}
i++;
}
view = new DataView(vista);
view.RowFilter = ("ID = 1");
}
else
cut = false;
datitab.table = view.ToTable(false, setTableForTable());
if (datathread.Rete == "S" && datitab.table.Rows.Count > 18) //Andrea Rosaspina
datitab.setY(document.getLastPos() - 4);
else
datitab.setY(document.getLastPos());
datitab.setX(document.getMargineLeft());
//setta posizione tabella
document.InsertTable(tab.getTabella(datitab));
dim = datitab.GetRowDim() * (datitab.getNumRow() + 1);
// Grafico
dati.dataTab = view.ToTable(false, this.setTableForIsto());
// Posizionamento delle barre in base al numero di righe
switch (datitab.table.Rows.Count)
{
case 1:
dati.setHeight(ChartHeigth - 63); // modifica Andrea
break;
case 2:
dati.setHeight(ChartHeigth - 42); // prova Andrea
break;
case 3:
dati.setHeight(ChartHeigth - 18); // prova Andrea
break;
case 4:
dati.setHeight(ChartHeigth);
//dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow())));
break;
case 5:
dati.setHeight(ChartHeigth + 32);
break;
case 6:
dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow() + 2.5) + 3));
break;
default:
/**************************** Fix Aladdin centratura barra Pino ***************************************************/
//dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow() + 2.5)));
dati.setHeight(Convert.ToSingle(datitab.getHeaderDim()) + ((datitab.GetRowDim() * datitab.getNumRow()) + datitab.GetRowDim() + 25));
/*******************************************************************************************************************/
/**** Fix - FD PINO 06/06/2023 ****/
if (datathread.Rete == "S" && datitab.table.Rows.Count > 18) // Andrea Rosaspina
dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow() + 3) - 4));
else
dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow() + 3) + 5));
//if (datathread.Rete == "S" && datitab.table.Rows.Count > 18) // Andrea Rosaspina
// dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow() + 3) - 4));
//else
//{
// if (datitab.table.Rows.Count > 18)
// dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow() + 3) -4));
// else
// dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow() + 3) + 5));
//}
/**************************************************************************************/
break;
}
dati.setWidth(200);
Istogramma isto = new Istogramma();
//document.InsertGrafico(isto.getGrafico(dati), 360, document.getLastPos() - 11);
document.InsertGrafico(isto.getGrafico(dati), 349, document.getLastPos() - 15); /// Buona 12
//ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage();
if (!_saltopaginaeffettuato)
{
//float yRectBarra = Convert.ToSingle((datitab.GetRowDim() * datitab.getNumRow()) + MargineTop + 60);
float yRectBarra = Convert.ToSingle((datitab.GetRowDim() * datitab.getNumRow()) + MargineTop + 110);
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, yRectBarra, 199, 23, 0, new RgbColor(255, 255, 255)));
//if(datathread.Rete == "S" && tabTortaTabella.Rows.Count == 19)
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, yRectBarra + 5, 199, 34, 0, new RgbColor(255, 255, 255)));
//else
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, yRectBarra, 199, 23, 0, new RgbColor(255, 255, 255)));
}
if (cut)
{
/*** Fix - FD riposizionamento dell'indicazione del cambio pagina 06/06/2023 - Pino ****/
//document.changePage(389, dim + 20);
if (datathread.Periodico)
{
var idModello = datathread.ReportsType.Find(f => f.Descrizione == "Monitoraggio").IdModello;
if (idModello == 6) // FD
document.changePage(500, dim + 20);
else
document.changePage(389, dim + 20);
}
else
document.changePage(389, dim + 20);
/******************************************************************************************/
document.nextPage(document.getMargineLeft());
datitab.setHeader();
dim = 0;
view = new DataView(vista);
view.RowFilter = ("ID = 2");
vista = view.ToTable();
vista.Columns.Remove(vista.Columns["ID"]);
_saltopaginaeffettuato = true;
}
}
// Totale della griglia
datitab = new DatiTabella();
datitab.table = tabTortaTotali;
datitab.setY(document.getLastPos() + dim);
datitab.setX(document.getMargineLeft());
datitab.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true);
datitab.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true, 0);
datitab.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
document.InsertTable(tab.getTabella(datitab));
float yRect = datitab.getY() + 13;
float yLineHeader = datitab.getY() + 12;
if (!_saltopaginaeffettuato)
{
// Barra colorata del footer anche estesa al grafico
switch (dati.dataTab.Rows.Count)
{
case 3:
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 82, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
case 4:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 105, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
case 5:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 128, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
default:
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, yRect, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
}
}
//if (dati.dataTab.Rows.Count == 4)
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 105, 199, 23, 0, new RgbColor(232, 236, 237)));
//else
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 128, 199, 23, 0, new RgbColor(232, 236, 237)));
dim += datitab.GetRowDim() * datitab.getNumRow();
if (tabTortaPatrimonioNonRappresentabile != null)
{
DatiTabella datitabPatrimonioNonRappresentabile = new DatiTabella();
datitabPatrimonioNonRappresentabile.table = tabTortaPatrimonioNonRappresentabile;
datitabPatrimonioNonRappresentabile.SetRowDim(xrowDim);
datitabPatrimonioNonRappresentabile.setY(document.getLastPos() + dim);
datitabPatrimonioNonRappresentabile.setX(document.getMargineLeft());
datitabPatrimonioNonRappresentabile.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
datitabPatrimonioNonRappresentabile.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitabPatrimonioNonRappresentabile.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
document.InsertTable(tab.getTabella(datitabPatrimonioNonRappresentabile));
dim += datitabPatrimonioNonRappresentabile.GetRowDim() * datitabPatrimonioNonRappresentabile.getNumRow();
}
if (tabTortaContoCorrenteBancaFideuram != null)
{
DatiTabella datitabContoCorrenteBancaFideuram = new DatiTabella();
datitabContoCorrenteBancaFideuram.table = tabTortaContoCorrenteBancaFideuram;
datitabContoCorrenteBancaFideuram.SetRowDim(xrowDim);
datitabContoCorrenteBancaFideuram.setY(document.getLastPos() + dim);
datitabContoCorrenteBancaFideuram.setX(document.getMargineLeft());
datitabContoCorrenteBancaFideuram.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
datitabContoCorrenteBancaFideuram.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitabContoCorrenteBancaFideuram.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
document.InsertTable(tab.getTabella(datitabContoCorrenteBancaFideuram));
dim += datitabContoCorrenteBancaFideuram.GetRowDim() * datitabContoCorrenteBancaFideuram.getNumRow();
}
if (tabTortaLineaSelf != null)
{
DatiTabella datitabLineaSelf = new DatiTabella();
datitabLineaSelf.table = tabTortaLineaSelf;
datitabLineaSelf.SetRowDim(xrowDim);
datitabLineaSelf.setY(document.getLastPos() + dim);
datitabLineaSelf.setX(document.getMargineLeft());
datitabLineaSelf.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
datitabLineaSelf.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitabLineaSelf.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
document.InsertTable(tab.getTabella(datitabLineaSelf));
dim += datitabLineaSelf.GetRowDim() * datitabLineaSelf.getNumRow();
}
if (tabTortaPartiteViaggianti != null)
{
DatiTabella datitabPartiteViaggianti = new DatiTabella();
datitabPartiteViaggianti.table = tabTortaPartiteViaggianti;
datitabPartiteViaggianti.setY(document.getLastPos() + dim);
datitabPartiteViaggianti.setX(document.getMargineLeft());
datitabPartiteViaggianti.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
datitabPartiteViaggianti.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitabPartiteViaggianti.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
document.InsertTable(tab.getTabella(datitabPartiteViaggianti));
dim += datitabPartiteViaggianti.GetRowDim() * datitabPartiteViaggianti.getNumRow();
}
if (tabTotale != null)
{
DatiTabella datitabContoTotale = new DatiTabella();
tabTotale.Columns.Add();
datitabContoTotale.table = tabTotale;
datitabContoTotale.setY(document.getLastPos() + dim);
datitabContoTotale.setX(document.getMargineLeft());
datitabContoTotale.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true);
datitabContoTotale.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
datitabContoTotale.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
document.InsertTable(tab.getTabella(datitabContoTotale));
dim += datitabContoTotale.GetRowDim() * datitabContoTotale.getNumRow();
}
// Scrittura del footer sul grafico
FormatNum format = new FormatNum();
ArrayList Labels = format.CreateCustomPerc148(dati.getValMax(), dati.getValMin());
#region Imposto la tabella per il footer del grafico
DataTable _dt = new DataTable();
for (int x = 0; x <= Labels.Count - 1; x++)
{
_dt.Columns.Add(string.Concat("P", x.ToString()), typeof(String));
}
DataRow newrow = _dt.NewRow();
int y = 0;
foreach (var item in Labels)
{
newrow[string.Concat("P", y.ToString())] = item.ToString();
y++;
}
_dt.Rows.Add(newrow);
DatiTabella datitabGrafico = new DatiTabella();
datitabGrafico.table = _dt;
float _dim = datitab.GetRowDim() * (view.Count + 1);
if (tabTortaTabella.Rows.Count == 19)
_dim = datitab.GetRowDim() * (view.Count + 1) - 20;
datitabGrafico.setY(document.getLastPos() + _dim);
datitabGrafico.setX(358);
datitabGrafico.setCell(10, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
datitabGrafico.setCell(50, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
datitabGrafico.setCell(50, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
datitabGrafico.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
datitabGrafico.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
document.InsertTable(tab.getTabella(datitabGrafico));
#endregion
if (!_saltopaginaeffettuato)
{
switch (dati.dataTab.Rows.Count)
{
case 3:
if (!datathread.SezioneReport.Codice.Equals("FD148"))
{
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 91, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
}
break;
case 4:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 115, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 115, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 115, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
case 5:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 135, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 135, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 135, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
default:
//float passo = 40.0F;
//for (int i = 0; i <= Labels.Count - 1; ++i)
// if (i == 0)
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 265F + i, yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
// else
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 275F + (passo * i), yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
//float passo = 40.0F; //23.5F; //294.5F
////float x = datitab.getX();
////float barWidth = dati.getWidth();
//for (int i = 0; i <= Labels.Count-1; ++i)
// if (i == 0)
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 270F + i, yRect, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
// else
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 270F + (passo * i), yRect, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, yRect, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
////page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, yRect, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
////page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, yRect, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
}
}
//if (dati.dataTab.Rows.Count == 4)
//{
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 115, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
// //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 115, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 115, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
//}
//else
//{
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 135, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
// //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 135, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 135, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
//}
dim += datitab.GetRowDim() * datitab.getNumRow();
}
protected void writeSezione10(DataThread datathread)
{
int MaxRow;
bool cut = true;
DataTable vista;
Tabella tab = new Tabella();
datitab.table = tabTortaTabella;
vista = datitab.table;
if (document == null)
document = datathread.DocumentPDF;
datitab.setY(document.getLastPos());
datitab.setIsRet();
datitab.setIsLinee(1);
datitab.setHeader();
datitab.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
datitab.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitab.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitab.setCellSpace(0);
int rTotTortaPatrimonioNonRappresentabile = 0;
int rTotTortaContoCorrenteBancaFideuram = 0;
int rTotTortaLineaSelf = 0;
int rTotTotale = 0;
if (tabTortaPatrimonioNonRappresentabile != null)
rTotTortaPatrimonioNonRappresentabile = tabTortaPatrimonioNonRappresentabile.Rows.Count;
if (tabTortaContoCorrenteBancaFideuram != null)
rTotTortaContoCorrenteBancaFideuram = tabTortaContoCorrenteBancaFideuram.Rows.Count;
if (tabTortaLineaSelf != null)
rTotTortaLineaSelf = tabTortaLineaSelf.Rows.Count;
if (tabTotale != null)
rTotTotale = tabTotale.Rows.Count;
//eventuali operazioni sul dataset
//calcola se entra nella pagina altrimenti aggiunge una nuova pagina.
float altezzaNotaPatrimonioNonRappresentabile = tabTortaPatrimonioNonRappresentabile == null ? 0 : tabTortaPatrimonioNonRappresentabile.Rows.Count;
altezzaNotaPatrimonioNonRappresentabile = altezzaNotaPatrimonioNonRappresentabile * 30;
//V if (document.checkMargin(ChartHeigth + altezzaNotaPatrimonioNonRappresentabile))
//Aggiunto 30 per non far sforare la S10
if (document.checkMargin(ChartHeigth + altezzaNotaPatrimonioNonRappresentabile + 30))
document.addPage();
//if (_noIndicizzato)
// document.setTitolo("SOSTITUIRE_TITOLO");
//else
if (_noIndicizzato)
document.setTitolo(datathread.SezioneReport.Titolo);
else
{
// Inizio: aggiunto per via del font = 8 sul nuovo report di Diagnosi
if ((datathread.TipoReport.ToUpper() == "DIAGNOSI") && ((datathread.SezioneReport.Codice == "S153") || (datathread.SezioneReport.Codice == "S154") || (datathread.SezioneReport.Codice == "S163")))
{
document.setSezTitolo(datathread.SezioneReport.Titolo);
document.setChapterHeader(datathread.SezioneReport.TestoIntroduttivo.Replace("/$Banca$/", datathread.NomeRete).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest"), 0, 520, 8);
}
// Fine: aggiunto per via del font = 8 sul nuovo report di Diagnosi
else if (datathread.TipoReport.ToUpper() == "DIAGNOSI")
{
document.setSezTitoloDiagnosi(datathread.SezioneReport.Titolo);
document.setChapterHeader(Header);
}
else
{
document.setSezTitolo(datathread.SezioneReport.Titolo);
/*************** modifica Aladdin 14062021 - Pino ******************************************/
datathread.SezioneReport.TestoIntroduttivo = "In questa scheda è riportata la classificazione, sulla base delle principali macro asset class finanziarie, del patrimonio che lei detiene presso /$Banca$/, con evidenza dell'esposizione, in termini percentuali, a ciascuna macro asset class.";
/*******************************************************************************************/
document.setChapterHeader(datathread.SezioneReport.TestoIntroduttivo.Replace("/$Banca$/", datathread.NomeRete).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest"), 0, 520, 8);
}
}
//document.setHeaderSpace(10);
#region Nuova tabella
//DatiTabella datitab1 = new DatiTabella();
//datitab1.table = tabTortaTotali;
decimal totalSelfNegGP = datathread.Periodico ? datathread.GetSelfNegativeValue("XY") : 0;
decimal totaleSelfNegFO = datathread.Periodico ? datathread.GetSelfNegativeValue("FO") : 0;
decimal totalNegativeCurrentAccountValue = datathread.Periodico ? datathread.TotalNegativeCurrentAccountValue : 0;
decimal totalePartiteViaggianti = datathread.PartiteViaggiantiDisinvestimento + datathread.PartiteViaggiantiInvestimento;
decimal GPEligoFondi = datathread.GPEligoFondi;
decimal GPEligoTitoli = datathread.GPEligoTitoli;
decimal ProdottiNonRapp = datathread.PatrimonioNonRappresentabileFI;
decimal PartiteViaggianti = datathread.PartiteViaggiantiInvestimento + datathread.PartiteViaggiantiDisinvestimento;
// decimal GradoCopertura = datathread.GradoCoperturaMacroAssetInterno;
decimal PatrBancaSez = datathread.PatrimonioBancaFideuramCtvAlNettoContoCorrente - datathread.PartiteViaggiantiInvestimento - datathread.PartiteViaggiantiDisinvestimento - datathread.PatrimonioNonRappresentabileFI;
decimal GradoCopertura = PatrBancaSez / datathread.PatrimonioBancaFideuramCtvAlNettoContoCorrente * 100;
decimal PatrimonioTerzi = datathread.Patrimonioterzictv;
DataTable _tmpTotPF = tabTortaTotali.Copy(); //set.Tables["MacroAssetTotale"]; ((GradoCopertura >= 0 && GradoCopertura < 100) && (ProdottiNonRapp != 0 || PartiteViaggianti != 0))
_tmpTotPF.Columns.Remove("Percentuale");
if (totalNegativeCurrentAccountValue != 0 || totaleSelfNegFO != 0 || GPEligoFondi < 0 || GPEligoTitoli < 0 || ((GradoCopertura >= 0 && GradoCopertura < 100) && (ProdottiNonRapp != 0 || PartiteViaggianti != 0)))
{
_tmpTotPF.Rows[0][0] = "Patrimonio /$Banca$/ (€) *".Replace("/$Banca$/", datathread.NomeRete);
}
else
{
_tmpTotPF.Rows[0][0] = "Patrimonio /$Banca$/ (€)".Replace("/$Banca$/", datathread.NomeRete);
}
DatiTabella datitabPF = new DatiTabella();
datitabPF.table = _tmpTotPF;
datitabPF.setY(document.getLastPos() + 10);
datitabPF.setX(document.getMargineLeft());
if (datathread.Rete == "W")
{
datitabPF.setCell(220, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true);
datitabPF.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, false);
}
else
{
datitabPF.setCell(190, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true);
//datitabPF.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
datitabPF.setCell(130, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, false);
}
document.InsertTable(tab.getTabella(datitabPF));
#endregion
document.setHeaderSpace(50);
#region Grafico
// Grafico
DatiGrafico dati = new DatiGrafico();
DataView view = new DataView(datitab.table);
view.RowFilter = "";
dati.dataTab = view.ToTable(false, this.setTableForIsto());
switch (dati.dataTab.Rows.Count)
{
case 3:
dati.setHeight(ChartHeigth - 25);
break;
case 4:
dati.setHeight(ChartHeigth);
//dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow())));
break;
case 5:
dati.setHeight(ChartHeigth + 24);
break;
case 6:
dati.setHeight(ChartHeigth + 49);
break;
default:
//dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow()+2.5)));
/**************************** Fix Aladdin centratura barra Pino ***************************************************/
//dati.setHeight(Convert.ToSingle(datitab.getHeaderDim()) + (datitab.GetRowDim() * (datitab.getNumRow() + 1)));
dati.setHeight(Convert.ToSingle(datitab.getHeaderDim()) + ((datitab.GetRowDim() * datitab.getNumRow()) + datitab.GetRowDim() + 10));
/*******************************************************************************************************************/
break;
}
dati.setWidth(200);
Istogramma isto = new Istogramma();
//document.InsertGrafico(isto.getGrafico(dati), 360, document.getLastPos() - 11);
document.InsertGrafico(isto.getGrafico(dati), 349, document.getLastPos() - 12); /// Buona
#endregion
ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage();
var xrowDim = datitab.GetRowDim();
if (tabTortaTabella.Rows.Count == 18 && tabTortaPatrimonioNonRappresentabile.Rows.Count + tabTortaContoCorrenteBancaFideuram.Rows.Count >= 1)
{
xrowDim--;
}
datitab.SetRowDim(xrowDim);
while (cut)
{
if (vista.Rows.Count != 0 && document.checkMargin(datitab.GetRowDim() * (vista.Rows.Count + 2 + rTotTortaPatrimonioNonRappresentabile + rTotTortaContoCorrenteBancaFideuram + rTotTortaLineaSelf + rTotTotale) + dim))
{
MaxRow = document.getWritableRow(23, false); //23
//if (tabTortaTabella.Rows.Count > 17 && tabTortaPatrimonioNonRappresentabile.Rows.Count + tabTortaContoCorrenteBancaFideuram.Rows.Count >= 1)
// MaxRow = document.getWritableRow(19, false);
// ulteriore controllo per evitare che la nota sfori sul footer. Questa gestione è da rifare totalmente.
if (document.checkMargin((MaxRow + rTotTortaPatrimonioNonRappresentabile + rTotTortaContoCorrenteBancaFideuram + rTotTortaLineaSelf + rTotTotale + altezzaNotaPatrimonioNonRappresentabile) * 23))
MaxRow -= 1;
vista.Columns.Add("ID");
int i = 0;
cut = false;
foreach (DataRow myRow in vista.Rows)
{
if (i < MaxRow - (1 + rTotTortaPatrimonioNonRappresentabile + rTotTortaContoCorrenteBancaFideuram + rTotTortaLineaSelf + rTotTotale))
myRow["ID"] = 1;
else
{
myRow["ID"] = 2;
cut = true;
}
i++;
}
view = new DataView(vista);
view.RowFilter = ("ID = 1");
}
else
cut = false;
/********************************* Originale ***********************************************/
//datitab.table = view.ToTable(false, setTableForTableNoControvalore());
//datitab.setY(document.getLastPos());
//datitab.setX(document.getMargineLeft());
////setta posizione tabella
//document.InsertTable(tab.getTabella(datitab));
/*********************************************************************************************/
/******************************** Modifica Aladdin 14062021 Pino *************************************************/
DatiTabella datitabRap = new DatiTabella(tabTortaTabella);
datitab.table = view.ToTable(false, setTableForTableNoControvalore());
Tabella tabellaDatiRap = new Tabella(document.getMargineLeft(), document.getLastPos());
tabellaDatiRap.Header = true;
tabellaDatiRap.Colonne.Add(new Colonna("Descrizione", "Macro asset class", 175, TipoAllineamento.SINISTRA, false, 9, false, TipoColonna.IMMAGINE_E_TESTO));
tabellaDatiRap.Colonne.Add(new Colonna("Percentuale", "Peso %", 130, TipoAllineamento.DESTRA, false, 9, false));
if (DirectBanker == "S")
tabellaDatiRap.ColoreDirectBankB = "green";
tabellaDatiRap.Draw(datitabRap, document);
//SIMBOLI
int nPallino = 1;
float yPallino = document.getLastPos() + tabellaDatiRap.AltezzaCella;
float xPallino = document.getMargineLeft();
//ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage();
foreach (DataRow drSimbolo in tabellaDatiRap.Datasource.Rows)
{
RgbColor color =
new RgbColor(byte.Parse(drSimbolo["Red"].ToString()), byte.Parse(drSimbolo["Green"].ToString()), byte.Parse(drSimbolo["Blue"].ToString()));
ceTe.DynamicPDF.PageElements.Circle simbolo =
new ceTe.DynamicPDF.PageElements.Circle(xPallino, yPallino, 10 / 1.8F, color, color);
//page.Elements.Add(simbolo);
document.getCurrentPage().Elements.Add(simbolo);
yPallino += tabellaDatiRap.AltezzaCella;
nPallino++;
}
/*******************************************************************************************/
dim = datitab.GetRowDim() * (datitab.getNumRow() + 1);
if (cut)
{
document.changePage(389, dim + 20);
document.nextPage(document.getMargineLeft());
datitab.setHeader();
dim = 0;
view = new DataView(vista);
view.RowFilter = ("ID = 2");
vista = view.ToTable();
vista.Columns.Remove(vista.Columns["ID"]);
_saltopaginaeffettuato = true;
}
}
// Totale della griglia
//datitab = new DatiTabella();
//datitab.table = tabTortaTotali;
DataTable _tmpTot = tabTortaTotali; //set.Tables["MacroAssetTotale"];
_tmpTot.Columns.Remove("Controvalore");
_tmpTot.Rows[0][0] = "TOTALE";
datitab = new DatiTabella();
datitab.table = _tmpTot;
datitab.setY(document.getLastPos() + dim);
datitab.setX(document.getMargineLeft());
//datitab.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true);
//datitab.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
//datitab.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
datitab.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true);
//datitab.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
datitab.setCell(130, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
document.InsertTable(tab.getTabella(datitab));
float yRect = datitab.getY() + 13;
float yLineHeader = datitab.getY() + 12;
// Barra colorata del footer anche estesa al grafico
switch (dati.dataTab.Rows.Count)
{
case 3:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 82, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
case 4:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 105, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
case 5:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 128, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
default:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, yRect, 199, 23, 0, new RgbColor(232, 236, 237))); // 358 23
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, yRect + 23, 199, 10, 0, new RgbColor(255, 255, 255)));
break;
}
//if (dati.dataTab.Rows.Count == 4)
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 105, 199, 23, 0, new RgbColor(232, 236, 237)));
//else
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 128, 199, 23, 0, new RgbColor(232, 236, 237)));
dim += datitab.GetRowDim() * datitab.getNumRow();
//if (tabTortaPatrimonioNonRappresentabile != null)
//{
// DatiTabella datitabPatrimonioNonRappresentabile = new DatiTabella();
// datitabPatrimonioNonRappresentabile.table = tabTortaPatrimonioNonRappresentabile;
// datitabPatrimonioNonRappresentabile.SetRowDim(xrowDim);
// datitabPatrimonioNonRappresentabile.setY(document.getLastPos() + dim);
// datitabPatrimonioNonRappresentabile.setX(document.getMargineLeft());
// datitabPatrimonioNonRappresentabile.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
// datitabPatrimonioNonRappresentabile.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// datitabPatrimonioNonRappresentabile.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// document.InsertTable(tab.getTabella(datitabPatrimonioNonRappresentabile));
// dim += datitabPatrimonioNonRappresentabile.GetRowDim() * datitabPatrimonioNonRappresentabile.getNumRow();
//}
//if (tabTortaContoCorrenteBancaFideuram != null)
//{
// DatiTabella datitabContoCorrenteBancaFideuram = new DatiTabella();
// datitabContoCorrenteBancaFideuram.table = tabTortaContoCorrenteBancaFideuram;
// datitabContoCorrenteBancaFideuram.SetRowDim(xrowDim);
// datitabContoCorrenteBancaFideuram.setY(document.getLastPos() + dim);
// datitabContoCorrenteBancaFideuram.setX(document.getMargineLeft());
// datitabContoCorrenteBancaFideuram.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
// datitabContoCorrenteBancaFideuram.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// datitabContoCorrenteBancaFideuram.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// document.InsertTable(tab.getTabella(datitabContoCorrenteBancaFideuram));
// dim += datitabContoCorrenteBancaFideuram.GetRowDim() * datitabContoCorrenteBancaFideuram.getNumRow();
//}
//if (tabTortaLineaSelf != null)
//{
// DatiTabella datitabLineaSelf = new DatiTabella();
// datitabLineaSelf.table = tabTortaLineaSelf;
// datitabLineaSelf.SetRowDim(xrowDim);
// datitabLineaSelf.setY(document.getLastPos() + dim);
// datitabLineaSelf.setX(document.getMargineLeft());
// datitabLineaSelf.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
// datitabLineaSelf.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// datitabLineaSelf.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// document.InsertTable(tab.getTabella(datitabLineaSelf));
// dim += datitabLineaSelf.GetRowDim() * datitabLineaSelf.getNumRow();
//}
//if (tabTortaPartiteViaggianti != null)
//{
// DatiTabella datitabPartiteViaggianti = new DatiTabella();
// datitabPartiteViaggianti.table = tabTortaPartiteViaggianti;
// datitabPartiteViaggianti.setY(document.getLastPos() + dim);
// datitabPartiteViaggianti.setX(document.getMargineLeft());
// datitabPartiteViaggianti.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
// datitabPartiteViaggianti.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// datitabPartiteViaggianti.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// document.InsertTable(tab.getTabella(datitabPartiteViaggianti));
// dim += datitabPartiteViaggianti.GetRowDim() * datitabPartiteViaggianti.getNumRow();
//}
//if (tabTotale != null)
//{
// DatiTabella datitabContoTotale = new DatiTabella();
// tabTotale.Columns.Add();
// datitabContoTotale.table = tabTotale;
// datitabContoTotale.setY(document.getLastPos() + dim);
// datitabContoTotale.setX(document.getMargineLeft());
// datitabContoTotale.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true);
// datitabContoTotale.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
// datitabContoTotale.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
// document.InsertTable(tab.getTabella(datitabContoTotale));
// dim += datitabContoTotale.GetRowDim() * datitabContoTotale.getNumRow();
//}
// Scrittura del footer sul grafico
FormatNum format = new FormatNum();
ArrayList Labels = format.CreateCustomPerc148(dati.getValMax(), dati.getValMin());
switch (dati.dataTab.Rows.Count)
{
case 3:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 91, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
case 4:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 115, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 115, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 115, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
case 5:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 135, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 135, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 135, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
default:
//float passo = 40.0F;
float passo = 45.0F;
//float passo = 50.0F;
for (int i = 0; i <= Labels.Count - 1; ++i)
if (i == 0)
{
if (dati.getValMin() < 0)
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 280F + i, yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
else
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 275F + i, yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
}
else
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 275F + (passo * i), yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
}
dim += datitab.GetRowDim() * datitab.getNumRow();
}
protected void writeSezione163(DataThread datathread)
{
int MaxRow;
bool cut = true;
DataTable vista;
Tabella tab = new Tabella();
datitab.table = tabTortaTabella;
vista = datitab.table;
if (document == null)
document = datathread.DocumentPDF;
datitab.setY(document.getLastPos());
datitab.setIsRet();
datitab.setIsLinee(1);
datitab.setHeader();
datitab.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
datitab.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitab.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitab.setCellSpace(0);
int rTotTortaPatrimonioNonRappresentabile = 0;
int rTotTortaContoCorrenteBancaFideuram = 0;
int rTotTortaLineaSelf = 0;
int rTotTotale = 0;
if (tabTortaPatrimonioNonRappresentabile != null)
rTotTortaPatrimonioNonRappresentabile = tabTortaPatrimonioNonRappresentabile.Rows.Count;
if (tabTortaContoCorrenteBancaFideuram != null)
rTotTortaContoCorrenteBancaFideuram = tabTortaContoCorrenteBancaFideuram.Rows.Count;
if (tabTortaLineaSelf != null)
rTotTortaLineaSelf = tabTortaLineaSelf.Rows.Count;
if (tabTotale != null)
rTotTotale = tabTotale.Rows.Count;
//eventuali operazioni sul dataset
//calcola se entra nella pagina altrimenti aggiunge una nuova pagina.
float altezzaNotaPatrimonioNonRappresentabile = tabTortaPatrimonioNonRappresentabile == null ? 0 : tabTortaPatrimonioNonRappresentabile.Rows.Count;
altezzaNotaPatrimonioNonRappresentabile = altezzaNotaPatrimonioNonRappresentabile * 30;
//V if (document.checkMargin(ChartHeigth + altezzaNotaPatrimonioNonRappresentabile))
//Aggiunto 30 per non far sforare la S10
if (document.checkMargin(ChartHeigth + altezzaNotaPatrimonioNonRappresentabile + 30))
document.addPage();
//if (_noIndicizzato)
// document.setTitolo("SOSTITUIRE_TITOLO");
//else
if (_noIndicizzato)
document.setTitolo(datathread.SezioneReport.Titolo);
else
{
// Inizio: aggiunto per via del font = 8 sul nuovo report di Diagnosi
if ((datathread.TipoReport.ToUpper() == "DIAGNOSI") && ((datathread.SezioneReport.Codice == "S153") || (datathread.SezioneReport.Codice == "S154") || (datathread.SezioneReport.Codice == "S163")))
{
document.setSezTitolo(datathread.SezioneReport.Titolo);
document.setChapterHeader(datathread.SezioneReport.TestoIntroduttivo.Replace("/$Banca$/", datathread.NomeRete).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest"), 0, 520, 8);
}
// Fine: aggiunto per via del font = 8 sul nuovo report di Diagnosi
else if (datathread.TipoReport.ToUpper() == "DIAGNOSI")
{
document.setSezTitoloDiagnosi(datathread.SezioneReport.Titolo);
document.setChapterHeader(Header);
}
else
{
document.setSezTitolo(datathread.SezioneReport.Titolo);
/*************** modifica Aladdin 14062021 - Pino ******************************************/
datathread.SezioneReport.TestoIntroduttivo = "In questa scheda è riportata la classificazione, sulla base delle principali macro asset class finanziarie, del patrimonio che lei detiene presso /$Banca$/, con evidenza dell'esposizione, in termini percentuali, a ciascuna macro asset class.";
/*******************************************************************************************/
document.setChapterHeader(datathread.SezioneReport.TestoIntroduttivo.Replace("/$Banca$/", datathread.NomeRete).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest,"), 0, 520, 8);
}
}
//document.setHeaderSpace(10);
#region Nuova tabella
//DatiTabella datitab1 = new DatiTabella();
//datitab1.table = tabTortaTotali;
decimal GradoCopertura = 100;
if (datathread.Patrimonioterzictv != 0)
GradoCopertura = (datathread.Patrimonioterzictv - datathread.PatrimonioNonRappresentabileAI) / (datathread.Patrimonioterzictv) * 100;
decimal PatrimonioTerziNonRapp = datathread.PatrimonioNonRappresentabileAI;
decimal PatrimonioTerzi = datathread.Patrimonioterzictv;
DataTable _tmpTotPF = tabTortaTotali.Copy(); //set.Tables["MacroAssetTotale"];
_tmpTotPF.Columns.Remove("Percentuale");
if (PatrimonioTerzi < 0 || (GradoCopertura >= 0 && GradoCopertura < 100))
_tmpTotPF.Rows[0][0] = "Patrimonio altri Istituti (€)*";
else
_tmpTotPF.Rows[0][0] = "Patrimonio altri Istituti (€)";
DatiTabella datitabPF = new DatiTabella();
datitabPF.table = _tmpTotPF;
datitabPF.setY(document.getLastPos() + 10);
datitabPF.setX(document.getMargineLeft());
datitabPF.setCell(155, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true);
//datitabPF.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
datitabPF.setCell(130, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, false);
document.InsertTable(tab.getTabella(datitabPF));
#endregion
document.setHeaderSpace(50);
#region Grafico
// Grafico
DatiGrafico dati = new DatiGrafico();
DataView view = new DataView(datitab.table);
view.RowFilter = "";
dati.dataTab = view.ToTable(false, this.setTableForIsto());
switch (dati.dataTab.Rows.Count)
{
case 1:
dati.setHeight(ChartHeigth - 69);
break;
case 2:
dati.setHeight(ChartHeigth - 43);
break;
case 3:
dati.setHeight(ChartHeigth - 25);
break;
case 4:
dati.setHeight(ChartHeigth);
//dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow())));
break;
case 5:
dati.setHeight(ChartHeigth + 24);
break;
case 6:
dati.setHeight(ChartHeigth + 43);
break;
case 7:
dati.setHeight(ChartHeigth + 72); //63
break;
default:
//dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow()+2.5)));
dati.setHeight(Convert.ToSingle(datitab.getHeaderDim()) + (datitab.GetRowDim() * (datitab.getNumRow() + 1)) + datitab.GetRowDim() + 10);
break;
}
dati.setWidth(200);
Istogramma isto = new Istogramma();
//document.InsertGrafico(isto.getGrafico(dati), 360, document.getLastPos() - 11);
document.InsertGrafico(isto.getGrafico(dati), 349, document.getLastPos() - 12); /// Buona
#endregion
ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage();
var xrowDim = datitab.GetRowDim();
if (tabTortaTabella.Rows.Count == 18 && tabTortaPatrimonioNonRappresentabile.Rows.Count + tabTortaContoCorrenteBancaFideuram.Rows.Count >= 1)
{
xrowDim--;
}
datitab.SetRowDim(xrowDim);
while (cut)
{
if (vista.Rows.Count != 0 && document.checkMargin(datitab.GetRowDim() * (vista.Rows.Count + 2 + rTotTortaPatrimonioNonRappresentabile + rTotTortaContoCorrenteBancaFideuram + rTotTortaLineaSelf + rTotTotale) + dim))
{
MaxRow = document.getWritableRow(23, false); //23
//if (tabTortaTabella.Rows.Count > 17 && tabTortaPatrimonioNonRappresentabile.Rows.Count + tabTortaContoCorrenteBancaFideuram.Rows.Count >= 1)
// MaxRow = document.getWritableRow(19, false);
// ulteriore controllo per evitare che la nota sfori sul footer. Questa gestione è da rifare totalmente.
if (document.checkMargin((MaxRow + rTotTortaPatrimonioNonRappresentabile + rTotTortaContoCorrenteBancaFideuram + rTotTortaLineaSelf + rTotTotale + altezzaNotaPatrimonioNonRappresentabile) * 23))
MaxRow -= 1;
vista.Columns.Add("ID");
int i = 0;
cut = false;
foreach (DataRow myRow in vista.Rows)
{
if (i < MaxRow - (1 + rTotTortaPatrimonioNonRappresentabile + rTotTortaContoCorrenteBancaFideuram + rTotTortaLineaSelf + rTotTotale))
myRow["ID"] = 1;
else
{
myRow["ID"] = 2;
cut = true;
}
i++;
}
view = new DataView(vista);
view.RowFilter = ("ID = 1");
}
else
cut = false;
/********************************* Originale ***********************************************/
//datitab.table = view.ToTable(false, setTableForTableNoControvalore());
//datitab.setY(document.getLastPos());
//datitab.setX(document.getMargineLeft());
////setta posizione tabella
//document.InsertTable(tab.getTabella(datitab));
/*********************************************************************************************/
/******************************** Modifica Aladdin 14062021 Pino *************************************************/
DatiTabella datitabRap = new DatiTabella(tabTortaTabella);
datitab.table = view.ToTable(false, setTableForTableNoControvalore());
Tabella tabellaDatiRap = new Tabella(document.getMargineLeft(), document.getLastPos());
tabellaDatiRap.Header = true;
tabellaDatiRap.Colonne.Add(new Colonna("Descrizione", "Macro asset class", 175, TipoAllineamento.SINISTRA, false, 9, false, TipoColonna.IMMAGINE_E_TESTO));
tabellaDatiRap.Colonne.Add(new Colonna("Percentuale", "Peso %", 130, TipoAllineamento.DESTRA, false, 9, false));
tabellaDatiRap.Draw(datitabRap, document);
//SIMBOLI
int nPallino = 1;
float yPallino = document.getLastPos() + tabellaDatiRap.AltezzaCella;
float xPallino = document.getMargineLeft();
//ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage();
foreach (DataRow drSimbolo in tabellaDatiRap.Datasource.Rows)
{
RgbColor color =
new RgbColor(byte.Parse(drSimbolo["Red"].ToString()), byte.Parse(drSimbolo["Green"].ToString()), byte.Parse(drSimbolo["Blue"].ToString()));
ceTe.DynamicPDF.PageElements.Circle simbolo =
new ceTe.DynamicPDF.PageElements.Circle(xPallino, yPallino, 10 / 1.8F, color, color);
//page.Elements.Add(simbolo);
document.getCurrentPage().Elements.Add(simbolo);
yPallino += tabellaDatiRap.AltezzaCella;
nPallino++;
}
/*******************************************************************************************/
dim = datitab.GetRowDim() * (datitab.getNumRow() + 1);
if (cut)
{
document.changePage(389, dim + 20);
document.nextPage(document.getMargineLeft());
datitab.setHeader();
dim = 0;
view = new DataView(vista);
view.RowFilter = ("ID = 2");
vista = view.ToTable();
vista.Columns.Remove(vista.Columns["ID"]);
_saltopaginaeffettuato = true;
}
}
// Totale della griglia
//datitab = new DatiTabella();
//datitab.table = tabTortaTotali;
DataTable _tmpTot = tabTortaTotali; //set.Tables["MacroAssetTotale"];
_tmpTot.Columns.Remove("Controvalore");
_tmpTot.Rows[0][0] = "TOTALE";
datitab = new DatiTabella();
datitab.table = _tmpTot;
datitab.setY(document.getLastPos() + dim);
datitab.setX(document.getMargineLeft());
//datitab.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true);
//datitab.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
//datitab.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
datitab.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true);
//datitab.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
datitab.setCell(130, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
document.InsertTable(tab.getTabella(datitab));
float yRect = datitab.getY() + 13;
float yLineHeader = datitab.getY() + 12;
// Barra colorata del footer anche estesa al grafico
switch (dati.dataTab.Rows.Count)
{
case 3:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 82, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
case 4:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 105, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
case 5:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 128, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
default:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, yRect, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
}
//if (dati.dataTab.Rows.Count == 4)
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 105, 199, 23, 0, new RgbColor(232, 236, 237)));
//else
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 128, 199, 23, 0, new RgbColor(232, 236, 237)));
dim += datitab.GetRowDim() * datitab.getNumRow();
//if (tabTortaPatrimonioNonRappresentabile != null)
//{
// DatiTabella datitabPatrimonioNonRappresentabile = new DatiTabella();
// datitabPatrimonioNonRappresentabile.table = tabTortaPatrimonioNonRappresentabile;
// datitabPatrimonioNonRappresentabile.SetRowDim(xrowDim);
// datitabPatrimonioNonRappresentabile.setY(document.getLastPos() + dim);
// datitabPatrimonioNonRappresentabile.setX(document.getMargineLeft());
// datitabPatrimonioNonRappresentabile.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
// datitabPatrimonioNonRappresentabile.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// datitabPatrimonioNonRappresentabile.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// document.InsertTable(tab.getTabella(datitabPatrimonioNonRappresentabile));
// dim += datitabPatrimonioNonRappresentabile.GetRowDim() * datitabPatrimonioNonRappresentabile.getNumRow();
//}
//if (tabTortaContoCorrenteBancaFideuram != null)
//{
// DatiTabella datitabContoCorrenteBancaFideuram = new DatiTabella();
// datitabContoCorrenteBancaFideuram.table = tabTortaContoCorrenteBancaFideuram;
// datitabContoCorrenteBancaFideuram.SetRowDim(xrowDim);
// datitabContoCorrenteBancaFideuram.setY(document.getLastPos() + dim);
// datitabContoCorrenteBancaFideuram.setX(document.getMargineLeft());
// datitabContoCorrenteBancaFideuram.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
// datitabContoCorrenteBancaFideuram.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// datitabContoCorrenteBancaFideuram.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// document.InsertTable(tab.getTabella(datitabContoCorrenteBancaFideuram));
// dim += datitabContoCorrenteBancaFideuram.GetRowDim() * datitabContoCorrenteBancaFideuram.getNumRow();
//}
//if (tabTortaLineaSelf != null)
//{
// DatiTabella datitabLineaSelf = new DatiTabella();
// datitabLineaSelf.table = tabTortaLineaSelf;
// datitabLineaSelf.SetRowDim(xrowDim);
// datitabLineaSelf.setY(document.getLastPos() + dim);
// datitabLineaSelf.setX(document.getMargineLeft());
// datitabLineaSelf.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
// datitabLineaSelf.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// datitabLineaSelf.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// document.InsertTable(tab.getTabella(datitabLineaSelf));
// dim += datitabLineaSelf.GetRowDim() * datitabLineaSelf.getNumRow();
//}
//if (tabTortaPartiteViaggianti != null)
//{
// DatiTabella datitabPartiteViaggianti = new DatiTabella();
// datitabPartiteViaggianti.table = tabTortaPartiteViaggianti;
// datitabPartiteViaggianti.setY(document.getLastPos() + dim);
// datitabPartiteViaggianti.setX(document.getMargineLeft());
// datitabPartiteViaggianti.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
// datitabPartiteViaggianti.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// datitabPartiteViaggianti.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// document.InsertTable(tab.getTabella(datitabPartiteViaggianti));
// dim += datitabPartiteViaggianti.GetRowDim() * datitabPartiteViaggianti.getNumRow();
//}
//if (tabTotale != null)
//{
// DatiTabella datitabContoTotale = new DatiTabella();
// tabTotale.Columns.Add();
// datitabContoTotale.table = tabTotale;
// datitabContoTotale.setY(document.getLastPos() + dim);
// datitabContoTotale.setX(document.getMargineLeft());
// datitabContoTotale.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true);
// datitabContoTotale.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
// datitabContoTotale.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
// document.InsertTable(tab.getTabella(datitabContoTotale));
// dim += datitabContoTotale.GetRowDim() * datitabContoTotale.getNumRow();
//}
// Scrittura del footer sul grafico
FormatNum format = new FormatNum();
ArrayList Labels = format.CreateCustomPerc148(dati.getValMax(), dati.getValMin());
switch (dati.dataTab.Rows.Count)
{
case 3:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 91, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
case 4:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 115, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 115, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 115, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
case 5:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 135, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 135, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 135, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
default:
//float passo = 40.0F;
//for (int i = 0; i <= Labels.Count - 1; ++i)
// if (i == 0)
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 265F + i, yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
// else
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 275F + (passo * i), yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
//float passo = 40.0F;
float passo = 45.0F;
//float passo = 50.0F;
for (int i = 0; i <= Labels.Count - 1; ++i)
if (i == 0)
{
if (dati.getValMin() < 0)
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 280F + i, yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
else
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 275F + i, yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
}
else
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 275F + (passo * i), yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
}
dim += datitab.GetRowDim() * datitab.getNumRow();
}
protected void writeSezione154(DataThread datathread)
{
int MaxRow;
bool cut = true;
DataTable vista;
Tabella tab = new Tabella();
datitab.table = tabTortaTabella;
vista = datitab.table;
if (document == null)
document = datathread.DocumentPDF;
datitab.setY(document.getLastPos());
datitab.setIsRet();
datitab.setIsLinee(1);
datitab.setHeader();
datitab.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
datitab.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitab.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
datitab.setCellSpace(0);
int rTotTortaPatrimonioNonRappresentabile = 0;
int rTotTortaContoCorrenteBancaFideuram = 0;
int rTotTortaLineaSelf = 0;
int rTotTotale = 0;
if (tabTortaPatrimonioNonRappresentabile != null)
rTotTortaPatrimonioNonRappresentabile = tabTortaPatrimonioNonRappresentabile.Rows.Count;
if (tabTortaContoCorrenteBancaFideuram != null)
rTotTortaContoCorrenteBancaFideuram = tabTortaContoCorrenteBancaFideuram.Rows.Count;
if (tabTortaLineaSelf != null)
rTotTortaLineaSelf = tabTortaLineaSelf.Rows.Count;
if (tabTotale != null)
rTotTotale = tabTotale.Rows.Count;
//eventuali operazioni sul dataset
//calcola se entra nella pagina altrimenti aggiunge una nuova pagina.
float altezzaNotaPatrimonioNonRappresentabile = tabTortaPatrimonioNonRappresentabile == null ? 0 : tabTortaPatrimonioNonRappresentabile.Rows.Count;
altezzaNotaPatrimonioNonRappresentabile = altezzaNotaPatrimonioNonRappresentabile * 30;
//V if (document.checkMargin(ChartHeigth + altezzaNotaPatrimonioNonRappresentabile))
//Aggiunto 30 per non far sforare la S10
if (document.checkMargin(ChartHeigth + altezzaNotaPatrimonioNonRappresentabile + 30))
document.addPage();
//if (_noIndicizzato)
// document.setTitolo("SOSTITUIRE_TITOLO");
//else
if (_noIndicizzato)
document.setTitolo(datathread.SezioneReport.Titolo);
else
{
// Inizio: aggiunto per via del font = 8 sul nuovo report di Diagnosi
if ((datathread.TipoReport.ToUpper() == "DIAGNOSI") && ((datathread.SezioneReport.Codice == "S153") || (datathread.SezioneReport.Codice == "S154") || (datathread.SezioneReport.Codice == "S163")))
{
document.setSezTitolo(datathread.SezioneReport.Titolo);
document.setChapterHeader(datathread.SezioneReport.TestoIntroduttivo.Replace("/$Banca$/", datathread.NomeRete).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest"), 0, 520, 8);
}
// Fine: aggiunto per via del font = 8 sul nuovo report di Diagnosi
else if (datathread.TipoReport.ToUpper() == "DIAGNOSI")
{
document.setSezTitoloDiagnosi(datathread.SezioneReport.Titolo);
document.setChapterHeader(Header);
}
else
{
document.setSezTitolo(datathread.SezioneReport.Titolo);
/*************** modifica Aladdin 14062021 - Pino ******************************************/
datathread.SezioneReport.TestoIntroduttivo = "In questa scheda è riportata la classificazione, sulla base delle principali macro asset class finanziarie, del patrimonio che lei detiene presso /$Banca$/, con evidenza dell'esposizione, in termini percentuali, a ciascuna macro asset class.";
/*******************************************************************************************/
document.setChapterHeader(datathread.SezioneReport.TestoIntroduttivo.Replace("/$Banca$/", datathread.NomeRete).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest"), 0, 520, 8);
}
}
//document.setHeaderSpace(10);
#region Nuova tabella
//DatiTabella datitab1 = new DatiTabella();
//datitab1.table = tabTortaTotali;
decimal totalSelfNegGP = datathread.Periodico ? datathread.GetSelfNegativeValue("XY") : 0;
decimal totaleSelfNegFO = datathread.Periodico ? datathread.GetSelfNegativeValue("FO") : 0;
decimal totalNegativeCurrentAccountValue = datathread.Periodico ? datathread.TotalNegativeCurrentAccountValue : 0;
decimal GPEligoFondi = datathread.GPEligoFondi;
decimal GPEligoTitoli = datathread.GPEligoTitoli;
decimal ProdottiNonRapp = datathread.PatrimonioNonRappresentabileCompl;
decimal PartiteViaggianti = datathread.PartiteViaggiantiInvestimento + datathread.PartiteViaggiantiDisinvestimento;
// decimal GradoCopertura = datathread.CoperturaTotaleRisorseFinanziarie;
decimal PatrBancaSez = datathread.PatrimonioBancaFideuramCtvAlNettoContoCorrente + datathread.Patrimonioterzictv - datathread.PartiteViaggiantiInvestimento - datathread.PartiteViaggiantiDisinvestimento - datathread.PatrimonioNonRappresentabileCompl;
decimal GradoCopertura = PatrBancaSez / (datathread.PatrimonioBancaFideuramCtvAlNettoContoCorrente + datathread.Patrimonioterzictv) * 100;
decimal PatrimonioTerzi = datathread.Patrimonioterzictv;
DataTable _tmpTotPF = tabTortaTotali.Copy(); //set.Tables["MacroAssetTotale"];
_tmpTotPF.Columns.Remove("Percentuale");
if (totalNegativeCurrentAccountValue != 0 || totaleSelfNegFO != 0 || GPEligoFondi < 0 || GPEligoTitoli < 0 || (GradoCopertura >= 0 && GradoCopertura < 100))
_tmpTotPF.Rows[0][0] = "Patrimonio Finanziario Complessivo (€)*";
else
_tmpTotPF.Rows[0][0] = "Patrimonio Finanziario Complessivo (€)";
DatiTabella datitabPF = new DatiTabella();
datitabPF.table = _tmpTotPF;
datitabPF.setY(document.getLastPos() + 10);
datitabPF.setX(document.getMargineLeft());
datitabPF.setCell(230, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true);
//datitabPF.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
datitabPF.setCell(100, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, false);
document.InsertTable(tab.getTabella(datitabPF));
#endregion
// document.setHeaderSpace(50);
document.setHeaderSpace(40);
#region Grafico
// Grafico
DatiGrafico dati = new DatiGrafico();
DataView view = new DataView(datitab.table);
view.RowFilter = "";
dati.dataTab = view.ToTable(false, this.setTableForIsto());
switch (dati.dataTab.Rows.Count)
{
case 3:
dati.setHeight(ChartHeigth - 25);
break;
case 4:
dati.setHeight(ChartHeigth);
//dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow())));
break;
case 5:
dati.setHeight(ChartHeigth + 24);
break;
case 6:
dati.setHeight(ChartHeigth + 48);
break;
case 7:
dati.setHeight(ChartHeigth + 72); //62
break;
default:
//dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow()+2.5)));
dati.setHeight(Convert.ToSingle(datitab.getHeaderDim()) + (datitab.GetRowDim() * datitab.getNumRow()) + datitab.GetRowDim() + 10);
break;
}
dati.setWidth(200);
Istogramma isto = new Istogramma();
//document.InsertGrafico(isto.getGrafico(dati), 360, document.getLastPos() - 11);
document.InsertGrafico(isto.getGrafico(dati), 349, document.getLastPos() - 12); /// Buona
#endregion
ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage();
var xrowDim = datitab.GetRowDim();
if (tabTortaTabella.Rows.Count == 18 && tabTortaPatrimonioNonRappresentabile.Rows.Count + tabTortaContoCorrenteBancaFideuram.Rows.Count >= 1)
{
xrowDim--;
}
datitab.SetRowDim(xrowDim);
while (cut)
{
if (vista.Rows.Count != 0 && document.checkMargin(datitab.GetRowDim() * (vista.Rows.Count + 2 + rTotTortaPatrimonioNonRappresentabile + rTotTortaContoCorrenteBancaFideuram + rTotTortaLineaSelf + rTotTotale) + dim))
{
MaxRow = document.getWritableRow(23, false); //23
//if (tabTortaTabella.Rows.Count > 17 && tabTortaPatrimonioNonRappresentabile.Rows.Count + tabTortaContoCorrenteBancaFideuram.Rows.Count >= 1)
// MaxRow = document.getWritableRow(19, false);
// ulteriore controllo per evitare che la nota sfori sul footer. Questa gestione è da rifare totalmente.
if (document.checkMargin((MaxRow + rTotTortaPatrimonioNonRappresentabile + rTotTortaContoCorrenteBancaFideuram + rTotTortaLineaSelf + rTotTotale + altezzaNotaPatrimonioNonRappresentabile) * 23))
MaxRow -= 1;
vista.Columns.Add("ID");
int i = 0;
cut = false;
foreach (DataRow myRow in vista.Rows)
{
if (i < MaxRow - (1 + rTotTortaPatrimonioNonRappresentabile + rTotTortaContoCorrenteBancaFideuram + rTotTortaLineaSelf + rTotTotale))
myRow["ID"] = 1;
else
{
myRow["ID"] = 2;
cut = true;
}
i++;
}
view = new DataView(vista);
view.RowFilter = ("ID = 1");
}
else
cut = false;
/********************************* Originale ***********************************************/
//datitab.table = view.ToTable(false, setTableForTableNoControvalore());
//datitab.setY(document.getLastPos());
//datitab.setX(document.getMargineLeft());
////setta posizione tabella
//document.InsertTable(tab.getTabella(datitab));
/*********************************************************************************************/
/******************************** Modifica Aladdin 14062021 Pino *************************************************/
DatiTabella datitabRap = new DatiTabella(tabTortaTabella);
datitab.table = view.ToTable(false, setTableForTableNoControvalore());
Tabella tabellaDatiRap = new Tabella(document.getMargineLeft(), document.getLastPos());
tabellaDatiRap.Header = true;
tabellaDatiRap.Colonne.Add(new Colonna("Descrizione", "Macro asset class", 175, TipoAllineamento.SINISTRA, false, 9, false, TipoColonna.IMMAGINE_E_TESTO));
tabellaDatiRap.Colonne.Add(new Colonna("Percentuale", "Peso %", 130, TipoAllineamento.DESTRA, false, 9, false));
tabellaDatiRap.Draw(datitabRap, document);
//SIMBOLI
int nPallino = 1;
float yPallino = document.getLastPos() + tabellaDatiRap.AltezzaCella;
float xPallino = document.getMargineLeft();
//ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage();
foreach (DataRow drSimbolo in tabellaDatiRap.Datasource.Rows)
{
RgbColor color =
new RgbColor(byte.Parse(drSimbolo["Red"].ToString()), byte.Parse(drSimbolo["Green"].ToString()), byte.Parse(drSimbolo["Blue"].ToString()));
ceTe.DynamicPDF.PageElements.Circle simbolo =
new ceTe.DynamicPDF.PageElements.Circle(xPallino, yPallino, 10 / 1.8F, color, color);
//page.Elements.Add(simbolo);
document.getCurrentPage().Elements.Add(simbolo);
yPallino += tabellaDatiRap.AltezzaCella;
nPallino++;
}
/*******************************************************************************************/
dim = datitab.GetRowDim() * (datitab.getNumRow() + 1);
if (cut)
{
document.changePage(389, dim + 20);
document.nextPage(document.getMargineLeft());
datitab.setHeader();
dim = 0;
view = new DataView(vista);
view.RowFilter = ("ID = 2");
vista = view.ToTable();
vista.Columns.Remove(vista.Columns["ID"]);
_saltopaginaeffettuato = true;
}
}
// Totale della griglia
//datitab = new DatiTabella();
//datitab.table = tabTortaTotali;
DataTable _tmpTot = tabTortaTotali; //set.Tables["MacroAssetTotale"];
_tmpTot.Columns.Remove("Controvalore");
_tmpTot.Rows[0][0] = "TOTALE";
datitab = new DatiTabella();
datitab.table = _tmpTot;
datitab.setY(document.getLastPos() + dim);
datitab.setX(document.getMargineLeft());
//datitab.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true);
//datitab.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
//datitab.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
datitab.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true);
//datitab.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
datitab.setCell(130, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
document.InsertTable(tab.getTabella(datitab));
float yRect = datitab.getY() + 13;
float yLineHeader = datitab.getY() + 12;
// Barra colorata del footer anche estesa al grafico
switch (dati.dataTab.Rows.Count)
{
case 3:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 82, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
case 4:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 105, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
case 5:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 128, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
default:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, yRect, 199, 23, 0, new RgbColor(232, 236, 237)));
break;
}
//if (dati.dataTab.Rows.Count == 4)
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 105, 199, 23, 0, new RgbColor(232, 236, 237)));
//else
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, document.getLastPos() + 128, 199, 23, 0, new RgbColor(232, 236, 237)));
dim += datitab.GetRowDim() * datitab.getNumRow();
//if (tabTortaPatrimonioNonRappresentabile != null)
//{
// DatiTabella datitabPatrimonioNonRappresentabile = new DatiTabella();
// datitabPatrimonioNonRappresentabile.table = tabTortaPatrimonioNonRappresentabile;
// datitabPatrimonioNonRappresentabile.SetRowDim(xrowDim);
// datitabPatrimonioNonRappresentabile.setY(document.getLastPos() + dim);
// datitabPatrimonioNonRappresentabile.setX(document.getMargineLeft());
// datitabPatrimonioNonRappresentabile.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
// datitabPatrimonioNonRappresentabile.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// datitabPatrimonioNonRappresentabile.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// document.InsertTable(tab.getTabella(datitabPatrimonioNonRappresentabile));
// dim += datitabPatrimonioNonRappresentabile.GetRowDim() * datitabPatrimonioNonRappresentabile.getNumRow();
//}
//if (tabTortaContoCorrenteBancaFideuram != null)
//{
// DatiTabella datitabContoCorrenteBancaFideuram = new DatiTabella();
// datitabContoCorrenteBancaFideuram.table = tabTortaContoCorrenteBancaFideuram;
// datitabContoCorrenteBancaFideuram.SetRowDim(xrowDim);
// datitabContoCorrenteBancaFideuram.setY(document.getLastPos() + dim);
// datitabContoCorrenteBancaFideuram.setX(document.getMargineLeft());
// datitabContoCorrenteBancaFideuram.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
// datitabContoCorrenteBancaFideuram.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// datitabContoCorrenteBancaFideuram.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// document.InsertTable(tab.getTabella(datitabContoCorrenteBancaFideuram));
// dim += datitabContoCorrenteBancaFideuram.GetRowDim() * datitabContoCorrenteBancaFideuram.getNumRow();
//}
//if (tabTortaLineaSelf != null)
//{
// DatiTabella datitabLineaSelf = new DatiTabella();
// datitabLineaSelf.table = tabTortaLineaSelf;
// datitabLineaSelf.SetRowDim(xrowDim);
// datitabLineaSelf.setY(document.getLastPos() + dim);
// datitabLineaSelf.setX(document.getMargineLeft());
// datitabLineaSelf.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
// datitabLineaSelf.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// datitabLineaSelf.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// document.InsertTable(tab.getTabella(datitabLineaSelf));
// dim += datitabLineaSelf.GetRowDim() * datitabLineaSelf.getNumRow();
//}
//if (tabTortaPartiteViaggianti != null)
//{
// DatiTabella datitabPartiteViaggianti = new DatiTabella();
// datitabPartiteViaggianti.table = tabTortaPartiteViaggianti;
// datitabPartiteViaggianti.setY(document.getLastPos() + dim);
// datitabPartiteViaggianti.setX(document.getMargineLeft());
// datitabPartiteViaggianti.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
// datitabPartiteViaggianti.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// datitabPartiteViaggianti.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdana, false);
// document.InsertTable(tab.getTabella(datitabPartiteViaggianti));
// dim += datitabPartiteViaggianti.GetRowDim() * datitabPartiteViaggianti.getNumRow();
//}
//if (tabTotale != null)
//{
// DatiTabella datitabContoTotale = new DatiTabella();
// tabTotale.Columns.Add();
// datitabContoTotale.table = tabTotale;
// datitabContoTotale.setY(document.getLastPos() + dim);
// datitabContoTotale.setX(document.getMargineLeft());
// datitabContoTotale.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, true);
// datitabContoTotale.setCell(90, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
// datitabContoTotale.setCell(40, ceTe.DynamicPDF.TextAlign.Right, Globals.OpenTypeFontVerdanaB, true);
// document.InsertTable(tab.getTabella(datitabContoTotale));
// dim += datitabContoTotale.GetRowDim() * datitabContoTotale.getNumRow();
//}
// Scrittura del footer sul grafico
FormatNum format = new FormatNum();
ArrayList Labels = format.CreateCustomPerc148(dati.getValMax(), dati.getValMin());
switch (dati.dataTab.Rows.Count)
{
case 3:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 91, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
case 4:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 115, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 115, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 115, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
case 5:
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 135, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 135, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 135, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
case 6:
float passo = 40.0F;
for (int i = 0; i <= Labels.Count - 1; ++i)
if (i == 0)
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 280F + i, yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
else
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 275F + (passo * i), yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
case 7:
passo = 40.0F;
for (int i = 0; i <= Labels.Count - 1; ++i)
if (i == 0)
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 280F + i, yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
else
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 275F + (passo * i), yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
default:
passo = 40.0F;
for (int i = 0; i <= Labels.Count - 1; ++i)
if (i == 0)
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 265F + i, yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
else
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 275F + (passo * i), yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
break;
}
dim += datitab.GetRowDim() * datitab.getNumRow();
}
/******* ESG - Per la sezione S181 seconda tabella Pino *********/
protected void writeSezione181(DataThread datathread)
{
int MaxRow;
bool cut = true;
DataTable vista;
Tabella tab = new Tabella();
datitab.table = tabCaratteristiche;
//vista = datitab.table;
if (document == null)
document = datathread.DocumentPDF;
#region Grafico
// Grafico
DatiGrafico dati = new DatiGrafico();
DataView view = new DataView(datitab.table);
view.RowFilter = "";
dati.dataTab = view.ToTable(false, this.setTableForIstoESG());
// serve per dimensionare la posizione in altezza delle barre del grafico
switch (dati.dataTab.Rows.Count)
{
case 3:
dati.setHeight(ChartHeigth - 25);
break;
case 4:
dati.setHeight(ChartHeigth);
//dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow())));
break;
case 5:
dati.setHeight(ChartHeigth + 24);
break;
case 6:
dati.setHeight(ChartHeigth + 49);
break;
default:
dati.setHeight(Convert.ToSingle(datitab.getHeaderDim()) + ((datitab.GetRowDim() * datitab.getNumRow()) + datitab.GetRowDim() + 10));
break;
}
// Serve per dimensionare l'ampiezza del grafico
dati.setWidth(400);
dati.ActLabelSeries();
Istogramma isto = new Istogramma();
//IstoFarfallaS133BIS isto = new IstoFarfallaS133BIS(750, 85);
document.InsertGrafico(isto.getGraficoCaratteristicheESG(dati), 128, document.getLastPos() + 22); /// Buona
#endregion
}
/****************************************************************/
/***** FD - Per la sezione FD200 29/05/2023 - Pino *****/
protected void writeSezione200(DataThread datathread)
{
int MaxRow;
bool cut = true;
DataTable vista;
Tabella tab = new Tabella();
float MargineTop;
datitab.table = tabMacroAssetClass;
vista = datitab.table;
if (document == null)
document = datathread.DocumentPDF;
MargineTop = document.getLastPos();
datitab.table.Columns[1].Caption = string.Empty;
datitab.setY(document.getLastPos());
datitab.setIsRet();
datitab.setIsLinee(1);
datitab.setHeader();
datitab.setCell(175, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false);
// ********************Modifica Andrea ***********************************************//
datitab.setCell(150, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false); // 90
//************************************************************************************//
datitab.setCell(150, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false); // 120
datitab.setCellSpace(10);
//eventuali operazioni sul dataset
//calcola se entra nella pagina altrimenti aggiunge una nuova pagina.
float altezzaNotaPatrimonioNonRappresentabile = tabTortaPatrimonioNonRappresentabile == null ? 0 : tabTortaPatrimonioNonRappresentabile.Rows.Count;
altezzaNotaPatrimonioNonRappresentabile = altezzaNotaPatrimonioNonRappresentabile * 30;
//V if (document.checkMargin(ChartHeigth + altezzaNotaPatrimonioNonRappresentabile))
//Aggiunto 30 per non far sforare la S10
if (document.checkMargin(ChartHeigth + altezzaNotaPatrimonioNonRappresentabile + 30))
document.addPage();
if (_noIndicizzato)
document.setTitolo(datathread.SezioneReport.Titolo);
else
{
document.setChapterHeader(datathread.SezioneReport.TestoIntroduttivo.Replace("/$Banca$/", datathread.NomeRete).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest,"), 0, Convert.ToInt32(document.getLastPos()) - 10, 520, 8);
}
#region Inizio sezione Grafico
// Grafico
DatiGrafico dati = new DatiGrafico();
DataView view = new DataView(datitab.table);
ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage();
// Paginazione
while (cut)
{
if (vista.Rows.Count != 0)
{
if (datathread.Periodico)
{
var idModello = datathread.ReportsType.Find(f => f.Descrizione == "Monitoraggio").IdModello;
if (idModello == 6) // FD
MaxRow = document.getWritableRow(24, false); //23
else
MaxRow = document.getWritableRow(23, false); //23
}
else
MaxRow = document.getWritableRow(23, false); //23
vista.Columns.Add("ID");
int i = 0;
cut = false;
foreach (DataRow myRow in vista.Rows)
{
if (i < MaxRow)
myRow["ID"] = 1;
else
{
myRow["ID"] = 2;
cut = true;
}
i++;
}
view = new DataView(vista);
view.RowFilter = ("ID = 1");
}
else
cut = false;
datitab.table = view.ToTable(false, setTableForFDAssetClass());
dim = datitab.GetRowDim() * (datitab.getNumRow() + 1);
#region Grafico Percentuale
// Grafico
IstoFarfallaS133BIS graficoCaratteristiche = null;
if (cut)
{
graficoCaratteristiche = new IstoFarfallaS133BIS(180, 500); //220 //180
graficoCaratteristiche.DocumentPDF = document;
graficoCaratteristiche.PositionX = 230; //145
graficoCaratteristiche.PositionY = Convert.ToInt32(document.getLastPos() + 9); //32 //38 //42 //542 //22 //25;
graficoCaratteristiche.AxisY_LineColor = true;
graficoCaratteristiche.AxisY_Hide = true; //false;
graficoCaratteristiche.AxysX_Increment = Convert.ToDecimal(1);
graficoCaratteristiche.AxisY_DashStyle = Dundas.Charting.WebControl.ChartDashStyle.DashDot;
graficoCaratteristiche.isShadowOffset = false; // Abilita l'ombreggiatura delle barre per ESG è fissato a 40
graficoCaratteristiche.isPixelPointWidth = "40"; // serve per dimensionare l'altezza delle barre
graficoCaratteristiche.BorderLineColor = System.Drawing.Color.FromArgb(0, 0, 0);
graficoCaratteristiche.BorderLineWidth = 10;
}
else
{
graficoCaratteristiche = new IstoFarfallaS133BIS(220, datitab.GetRowDim() * (datitab.getNumRow())); //540
graficoCaratteristiche.DocumentPDF = document;
graficoCaratteristiche.PositionX = 230; //145
graficoCaratteristiche.PositionY = Convert.ToInt32(document.getLastPos() + 9); //32 //38 //42 //542 //22 //25;
graficoCaratteristiche.AxisY_LineColor = true;
graficoCaratteristiche.AxisY_Hide = true; //false;
graficoCaratteristiche.AxysX_Increment = Convert.ToDecimal(1);
graficoCaratteristiche.AxisY_DashStyle = Dundas.Charting.WebControl.ChartDashStyle.DashDot;
graficoCaratteristiche.isShadowOffset = false; // Abilita l'ombreggiatura delle barre per ESG è fissato a 40
graficoCaratteristiche.isPixelPointWidth = "40"; // serve per dimensionare l'altezza delle barre
graficoCaratteristiche.BorderLineColor = System.Drawing.Color.FromArgb(0, 0, 0);
graficoCaratteristiche.BorderLineWidth = 10;
}
System.Collections.Generic.List<IValoriSerie> listaValoriPesoRelativo = new System.Collections.Generic.List<IValoriSerie>();
foreach (var item in datitab.table.AsEnumerable())
{
IValoriSerie IvaloriSeriePesoRelativo = new IValoriSerie();
IvaloriSeriePesoRelativo.chiave = item[0].ToString();
IvaloriSeriePesoRelativo.valore = Convert.ToDecimal(item[1]);
IvaloriSeriePesoRelativo.colore = System.Drawing.Color.FromArgb((int)item["Red"], (int)item["Green"], (int)item["Blue"]);
listaValoriPesoRelativo.Add(IvaloriSeriePesoRelativo);
}
SerieIstoFarfallaS133BIS seriePesoRelativo = new SerieIstoFarfallaS133BIS();
seriePesoRelativo = new SerieIstoFarfallaS133BIS();
seriePesoRelativo.Name = "Caratteristiche%";
seriePesoRelativo.Values = listaValoriPesoRelativo;
//seriePesoRelativo.ElementPosition = new Dundas.Charting.WebControl.ElementPosition(1F, -5F, 50.7F, 105F);
//seriePesoRelativo.ElementPosition = new Dundas.Charting.WebControl.ElementPosition(1F, -5F, 50.7F, 100F); //100 // ultimo parametro per aumentare lo spazio tra le barre
seriePesoRelativo.ElementPosition = new Dundas.Charting.WebControl.ElementPosition(1F, -1F, 50.7F, 100F); //100 // ultimo parametro per aumentare lo spazio tra le barre
seriePesoRelativo.AxisY_CustumizedByValues = false;
seriePesoRelativo.ReverseAxisY = false;
seriePesoRelativo.Axisy_Interval = 0; //10
graficoCaratteristiche.SerieList.Add(seriePesoRelativo);
graficoCaratteristiche.Draw();
#endregion
//ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage();
#region Header per la tabella
DataTable table = view.ToTable(false, this.setTableForFD());
table.Columns["PercentualeString"].ColumnName = "Percentuale";
table.Columns["percentuale_modello_string"].ColumnName = "Percentuale Modello";
datitab.table = table;
// Impostazione e stampa header tabella
if (datathread.Rete == "S" && datitab.table.Rows.Count > 18) //Andrea Rosaspina
datitab.setY(document.getLastPos() - 4);
else
datitab.setY(document.getLastPos());
datitab.setX(document.getMargineLeft());
if (DirectBanker == "S")
tab.ColoreDirectBankB = "green";
//setta posizione tabella
document.InsertTable(tab.getTabella(datitab));
#endregion
if (!_saltopaginaeffettuato)
{
//float yRectBarra = Convert.ToSingle((datitab.GetRowDim() * datitab.getNumRow()) + MargineTop + 60);
float yRectBarra = Convert.ToSingle((datitab.GetRowDim() * datitab.getNumRow()) + MargineTop + 110);
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, yRectBarra, 199, 23, 0, new RgbColor(255, 255, 255)));
//if(datathread.Rete == "S" && tabTortaTabella.Rows.Count == 19)
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, yRectBarra + 5, 199, 34, 0, new RgbColor(255, 255, 255)));
//else
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(358, yRectBarra, 199, 23, 0, new RgbColor(255, 255, 255)));
}
if (cut)
{
/*** Fix - FD riposizionamento dell'indicazione del cambio pagina 06/06/2023 - Pino ****/
//document.changePage(389, dim + 20);
if (datathread.Periodico)
{
var idModello = datathread.ReportsType.Find(f => f.Descrizione == "Monitoraggio").IdModello;
if (idModello == 6) // FD
document.changePage(500, dim + 20);
else
document.changePage(389, dim + 20);
}
else
document.changePage(389, dim + 20);
/******************************************************************************************/
document.nextPage(document.getMargineLeft());
datitab.setHeader();
dim = 0;
view = new DataView(vista);
view.RowFilter = ("ID = 2");
vista = view.ToTable();
vista.Columns.Remove(vista.Columns["ID"]);
_saltopaginaeffettuato = true;
}
}
#endregion
#region Header della tabella Non più utilizzato
var xrowDim = datitab.GetRowDim();
datitab.SetRowDim(xrowDim);
/*** Aggiungo 2 colonne per l'header della tabella 30/05/2023 - Pino ***/
tabMacroAssetClass.Columns.Add(new DataColumn("PortafoglioModello", typeof(System.String)));
tabMacroAssetClass.Columns.Add(new DataColumn("PortafoglioAttuale", typeof(System.String)));
/*******************************************************************/
DatiTabella datitabRap = new DatiTabella(tabMacroAssetClass);
datitab.table = view.ToTable(false, setTableForFDAssetClass());
Tabella tabellaDatiRap = new Tabella(document.getMargineLeft(), document.getLastPos());
tabellaDatiRap.Header = true;
tabellaDatiRap.Colonne.Add(new Colonna("AssetClassName", "Asset class", 160, TipoAllineamento.SINISTRA, false, 9, false, TipoColonna.TESTO));
tabellaDatiRap.Colonne.Add(new Colonna("PortafoglioModello", "Portafoglio Modello (%)", 160, TipoAllineamento.SINISTRA, false, 9, false, TipoColonna.TESTO));
tabellaDatiRap.Colonne.Add(new Colonna("PortafoglioAttuale", "Portafoglio Attuale (%)", 180, TipoAllineamento.SINISTRA, false, 9, false, TipoColonna.TESTO));
if (DirectBanker == "S")
tabellaDatiRap.ColoreDirectBankB = "green";
//tabellaDatiRap.Draw(datitabRap, document);
dim = datitab.GetRowDim() * (datitab.getNumRow() + 1);
#endregion
}
/*******************************************************/
/***** FD - Per la sezione FD190 08/08/2023 - Pino *****/
protected void writeSezione190(DataThread datathread)
{
DatiTabella datiHeaderCaratteristiche = new DatiTabella();
DatiTabella datiHeaderPercentualeAttuale = new DatiTabella();
DatiTabella datiMacroAsset = new DatiTabella();
Tabella tab = new Tabella(document.getMargineLeft(), document.getLastPos());
document = datathread.DocumentPDF;
DataSet set = datathread.Data.DatiSezione;
#region Titolo e Testo del paragrafo
logger.Info("Titolo della sezione " + datathread.SezioneReport.TestoIntroduttivo);
document.setLastPos(-40);
document.setSezTitolo(datathread.SezioneReport.Titolo);
document.setChapterHeader(string.Concat(datathread.SezioneReport.TestoIntroduttivo.Replace("/$Banca$/", datathread.NomeRete), "<br>"), 0, 520, 8);
#endregion
#region Stampo la colonna MacroAssetClass
//datitab.table = tabMacroAssetClass;
//Tabella tabellaDati = new Tabella(document.getMargineLeft(), document.getLastPos());
//tabellaDati.Header = true;
//tabellaDati.HeaderFont = 8;
//tabellaDati.Datasource = tabMacroAssetClass;
//tabellaDati.AltezzaCella = 15;
//tabellaDati.Colonne.Add(new Colonna("AssetClassName", "Macro Asset Class", 120, TipoAllineamento.SINISTRA, false, 8, false, TipoColonna.TESTO));
//if (DirectBanker == "S")
// tabellaDati.ColoreDirectBankB = "green";
//tabellaDati.Draw(datitab, document);
#endregion
#region Sezione per stampare solo l'header della tabella
//logger.Info("Scrittura di solo header della tabella Titolo della seconda tabella " + _testointroduttivo);
DataSet _ds = new DataSet();
DataTable _dt = new DataTable();
_dt.Columns.Add("Macro Asset Class", typeof(System.String));
_dt.Columns.Add("Portafoglio modello (%)", typeof(System.String));
_dt.Columns.Add("Portafoglio attuale (%)", typeof(System.String));
_ds.Tables.Add(_dt);
DataRow dr = _dt.NewRow();
dr[0] = "";
dr[1] = "";
dr[2] = "";
_dt.Rows.Add(dr);
datiHeaderCaratteristiche.table = _ds.Tables[0];
datiHeaderCaratteristiche.setY(document.getLastPos() + 10);
datiHeaderCaratteristiche.setX(document.getMargineLeft());
datiHeaderCaratteristiche.setHeader(true);
datiHeaderCaratteristiche.setCellSpace(10);
datiHeaderCaratteristiche.setCell(150, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, false);
datiHeaderCaratteristiche.setCell(150, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, false);
datiHeaderCaratteristiche.setCell(150, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, false);
tab.ColoreDirectBankB = "green";
document.InsertTable(tab.getTabella(datiHeaderCaratteristiche));
ceTe.DynamicPDF.Merger.ImportedPage page1 = document.getCurrentPage();
#endregion
#region Grafico Percentuale modello
// Grafico
DatiGrafico dati = new DatiGrafico();
DataView view = new DataView(tabMacroAssetClass);
view.RowFilter = "";
dati.dataTab = view.ToTable(false, this.setTableForIsto190());
//switch (dati.dataTab.Rows.Count)
//{
// case 3:
// dati.setHeight(ChartHeigth - 25);
// break;
// case 4:
// dati.setHeight(ChartHeigth);
// //dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow())));
// break;
// case 5:
// //dati.setHeight(ChartHeigth + 24);
// dati.setHeight(Convert.ToSingle(datitab.getHeaderDim()) + ((datitab.GetRowDim() * datitab.getNumRow()) + datitab.GetRowDim() + 15));
// break;
// case 6:
// dati.setHeight(ChartHeigth + 49);
// break;
// default:
// //dati.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow()+2.5)));
// /**************************** Fix Aladdin centratura barra Pino ***************************************************/
// //dati.setHeight(Convert.ToSingle(datitab.getHeaderDim()) + (datitab.GetRowDim() * (datitab.getNumRow() + 1)));
// dati.setHeight(Convert.ToSingle(datitab.getHeaderDim()) + ((datitab.GetRowDim() * datitab.getNumRow()) + datitab.GetRowDim() + 10));
// /*******************************************************************************************************************/
// break;
//}
dati.setWidth(200);
Istogramma isto = new Istogramma();
//document.InsertGrafico(isto.getGrafico(dati), 360, document.getLastPos() - 11);
// document.InsertGrafico(isto.getGrafico(dati), 180, document.getLastPos() - 8); /// Buona
ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage();
// Scrittura del footer sul grafico
//FormatNum format = new FormatNum();
//ArrayList Labels = format.CreateCustomPerc148(dati.getValMax(), dati.getValMin());
//switch (dati.dataTab.Rows.Count)
//{
// case 3:
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 91, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
// //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
// break;
// case 4:
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 115, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
// //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 115, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 115, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
// break;
// case 5:
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[0].ToString(), 360, document.getLastPos() + 135, 120, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
// //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[1].ToString(), 360, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[2].ToString(), 403, document.getLastPos() + 135, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// //page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[3].ToString(), 448, document.getLastPos() + 91, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Center, ceTe.DynamicPDF.CmykColor.Black));
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[4].ToString(), 454, document.getLastPos() + 135, 100, 10, Globals.OpenTypeFontVerdana, 6, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
// break;
// default:
// //float passo = 40.0F;
// float passo = 45.0F;
// //float passo = 50.0F;
// for (int i = 0; i <= Labels.Count - 1; ++i)
// if (i == 0)
// {
// if (dati.getValMin() < 0)
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 280F + i, yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
// else
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 275F + i, yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
// }
// else
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Labels[i].ToString(), 275F + (passo * i), yRect + 5, 100, 10, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.TextAlign.Right, ceTe.DynamicPDF.CmykColor.Black));
// break;
//}
#endregion
#region Grafico Percentuale
// Grafico
DatiGrafico datiPercentuale = new DatiGrafico();
DataView viewPercentuale = new DataView(tabMacroAssetClass);
view.RowFilter = "";
datiPercentuale.dataTab = viewPercentuale.ToTable(false, this.setTableForIsto());
switch (dati.dataTab.Rows.Count)
{
case 3:
datiPercentuale.setHeight(ChartHeigth - 25);
break;
case 4:
datiPercentuale.setHeight(ChartHeigth);
//datiPercentuale.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow())));
break;
case 5:
//datiPercentuale.setHeight(ChartHeigth + 24);
datiPercentuale.setHeight(Convert.ToSingle(datiHeaderCaratteristiche.getHeaderDim()) + ((datiHeaderCaratteristiche.GetRowDim() * datiHeaderCaratteristiche.getNumRow()) + datiHeaderCaratteristiche.GetRowDim() + 100));
break;
case 6:
datiPercentuale.setHeight(ChartHeigth + 49);
break;
default:
//datiPercentuale.setHeight(Convert.ToSingle(datitab.GetRowDim() * (datitab.getNumRow()+2.5)));
/**************************** Fix Aladdin centratura barra Pino ***************************************************/
//datiPercentuale.setHeight(Convert.ToSingle(datitab.getHeaderDim()) + (datitab.GetRowDim() * (datitab.getNumRow() + 1)));
datiPercentuale.setHeight(Convert.ToSingle(datitab.getHeaderDim()) + ((datitab.GetRowDim() * datitab.getNumRow()) + datitab.GetRowDim() + 10));
/*******************************************************************************************************************/
break;
}
datiPercentuale.setWidth(200);
Istogramma istoPercentuale = new Istogramma();
istoPercentuale.isPixelPointWidth = "10";
istoPercentuale.isShadowOffset = false; // serve per impostare l'ombreggiatura delle barre
//document.InsertGrafico(isto.getGrafico(dati), 360, document.getLastPos() - 11);
document.InsertGrafico(istoPercentuale.getGraficoFD190(datiPercentuale), 340, document.getLastPos()+30); /// Buona
#endregion
#region Elenco MacroAsset
/****** Inserimento tabella con le due colonne e con la colonna delle Caratteristiche riempita ********/
logger.Info("Inizio inserimento tabella Macro Asset");
datiMacroAsset.table = set.Tables["MacroAssetClass"];
Tabella tabellaMacroAsset = new Tabella(document.getMargineLeft(), document.getLastPos() + 78, 0, -2, 0.009F); //90 68
tabellaMacroAsset.Datasource = datiMacroAsset.table;
tabellaMacroAsset.Header = false;
tabellaMacroAsset.DimensioneLinea = 0;
tabellaMacroAsset.AltezzaCella = 30; //35;
tabellaMacroAsset.Colonne.Add(new Colonna("AssetClassName", "Asset Class", 150, TipoAllineamento.SINISTRA, false, 9, false, TipoColonna.TESTO));
tabellaMacroAsset.Draw(datiMacroAsset, document);
logger.Info("Fine inserimento tabella MacroAsset");
/***********************************************************************************************************/
#endregion
#region Sezione per stampare solo l'header della tabella Percentuale modello
//logger.Info("Scrittura di solo header della tabella Titolo della seconda tabella " + datathread.SezioneReport.TestoIntroduttivo);
//DataSet _ds = new DataSet();
//DataTable _dt = new DataTable();
//_dt.Columns.Add("Portafoglio modello (%)", typeof(System.String));
//_ds.Tables.Add(_dt);
//DataRow dr = _dt.NewRow();
//dr[0] = "";
//_dt.Rows.Add(dr);
//datiHeaderCaratteristiche.table = _ds.Tables[0];
////datiHeaderCaratteristiche.setY(document.getLastPos());
////datiHeaderCaratteristiche.setX(document.getMargineLeft()+150);
////datiHeaderCaratteristiche.setHeader(true);
////datiHeaderCaratteristiche.setCellSpace(10);
////datiHeaderCaratteristiche.setCell(150, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, false);
////datiHeaderCaratteristiche.setCell(150, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, false);
//Tabella tab = new Tabella(document.getMargineLeft()+145, document.getLastPos());
//tab.Header = true;
//tab.HeaderFont = 8;
//tab.Datasource = _ds.Tables[0];
//tab.AltezzaCella = 15;
//tab.Colonne.Add(new Colonna("Portafoglio modello (%)", "Portafoglio modello (%)", 100, TipoAllineamento.SINISTRA, false, 8, false, TipoColonna.TESTO));
//if (DirectBanker == "S")
// tab.ColoreDirectBankB = "green";
//tab.Draw(datiHeaderCaratteristiche, document);
#endregion
#region Sezione per stampare solo l'header della tabella Percentuale attuale
//DataSet _dsAttuale = new DataSet();
//DataTable _dtAttuale = new DataTable();
//_dtAttuale.Columns.Add("Portafoglio attuale (%)", typeof(System.String));
//_dsAttuale.Tables.Add(_dtAttuale);
//DataRow drAttuale = _dtAttuale.NewRow();
//drAttuale[0] = "";
//_dtAttuale.Rows.Add(drAttuale);
//datiHeaderPercentualeAttuale.table = _dsAttuale.Tables[0];
//Tabella tabAttuale = new Tabella(document.getMargineLeft() + 340, document.getLastPos());
//tabAttuale.Header = true;
//tabAttuale.HeaderFont = 8;
//tabAttuale.Datasource = _dsAttuale.Tables[0];
//tabAttuale.AltezzaCella = 15;
//tabAttuale.Colonne.Add(new Colonna("Portafoglio attuale (%)", "Portafoglio attuale (%)", 160, TipoAllineamento.SINISTRA, false, 8, false, TipoColonna.TESTO));
//if (DirectBanker == "S")
// tabAttuale.ColoreDirectBankB = "green";
//tabAttuale.Draw(datiHeaderPercentualeAttuale, document);
#endregion
}
/*******************************************************/
protected void addNota(DocumentPDF doc, float cc, float max, string rete, int dim)
{
FormatNum con = new FormatNum();
if (rete == "F")
{
if (cc > 0)
//FC 26062015 Aggionamento nuova Ragione Sociale
//doc.setSezFooter("La distribuzione riportata è rappresentativa del " + con.ConvertNum(tabNota.Rows[0]["ValorePercentuale"]) + "% delle risorse Banca FIDEURAM (al lordo del conto corrente pari a € " + con.ConvertNum(cc) + ") e presso altri Istituti.", dim);
doc.setSezFooter("La distribuzione riportata è rappresentativa del " + con.ConvertNum(tabNota.Rows[0]["ValorePercentuale"]) + "% delle risorse FIDEURAM (al lordo del conto corrente pari a € " + con.ConvertNum(cc) + ") e presso altri Istituti.", dim);
else if (cc < 0)
//FC 26062015 Aggionamento nuova Ragione Sociale
//doc.setSezFooter("La distribuzione riportata è rappresentativa del " + con.ConvertNum(tabNota.Rows[0]["ValorePercentuale"]) + "% delle risorse Banca FIDEURAM (al netto del conto corrente pari a € " + con.ConvertNum(cc) + ") e presso altri Istituti.", dim);
doc.setSezFooter("La distribuzione riportata è rappresentativa del " + con.ConvertNum(tabNota.Rows[0]["ValorePercentuale"]) + "% delle risorse FIDEURAM (al netto del conto corrente pari a € " + con.ConvertNum(cc) + ") e presso altri Istituti.", dim);
else
//FC 26062015 Aggionamento nuova Ragione Sociale
//doc.setSezFooter("La distribuzione riportata è rappresentativa del " + con.ConvertNum(tabNota.Rows[0]["ValorePercentuale"]) + "% delle risorse Banca FIDEURAM e presso altri Istituti.", dim);
doc.setSezFooter("La distribuzione riportata è rappresentativa del " + con.ConvertNum(tabNota.Rows[0]["ValorePercentuale"]) + "% delle risorse FIDEURAM e presso altri Istituti.", dim);
}
else
{
if (cc > 0)
doc.setSezFooter("La distribuzione riportata è rappresentativa del " + con.ConvertNum(tabNota.Rows[0]["ValorePercentuale"]) + "% delle risorse Sanpaolo Invest (al lordo del conto corrente pari a € " + con.ConvertNum(cc) + ") e presso altri Istituti.", dim);
else if (cc < 0)
doc.setSezFooter("La distribuzione riportata è rappresentativa del " + con.ConvertNum(tabNota.Rows[0]["ValorePercentuale"]) + "% delle risorse Sanpaolo Invest (al netto del conto corrente pari a € " + con.ConvertNum(cc) + ") e presso altri Istituti.", dim);
else
doc.setSezFooter("La distribuzione riportata è rappresentativa del " + con.ConvertNum(tabNota.Rows[0]["ValorePercentuale"]) + "% delle risorse Sanpaolo Invest e presso altri Istituti.", dim);
}
}
public void setTitolo(string label)
{
Titolo = label;
}
public bool NoIndicizzato
{
set
{
_noIndicizzato = value;
}
}
public string Header
{
get
{
return _header;
}
set
{
_header = value;
}
}
#endregion
}
}