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

541 lines
28 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

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

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.Text;
using ceTe.DynamicPDF.PageElements.Charting;
using PDFGenerator.BusinessLayer;
using PDFGenerator.BusinessLayer.DataSection;
using PDFGenerator.Presentation.Section.Tables;
using PDFGenerator.Presentation.Section.Charts;
using PDFGenerator.BusinessLayer.Utils;
namespace PDFGenerator.Presentation.Section
{
class S132 : ISezione
{
private string _titolo = string.Empty;
private string _testointroduttivo = string.Empty;
/// <summary>
/// Titolo della sezione
/// </summary>
public string Titolo
{
get
{
return _titolo;
}
set
{
_titolo = value;
}
}
/// <summary>
/// Testo introduttivo della Sezione.
/// </summary>
public string TestoIntroduttivo
{
get
{
return _testointroduttivo;
}
set
{
_testointroduttivo = value;
}
}
public S132()
{
//
// TODO: Add constructor logic here
//
}
public void writeSezione(DataThread dataThread)
{
DocumentPDF document = dataThread.DocumentPDF;
document.setSezTitolo(dataThread.SezioneReport.Titolo);
string tempTesto = dataThread.SezioneReport.TestoIntroduttivo;
string tempTestoAlt = dataThread.SezioneReport.TestoIntroduttivoAlternativo;
if (dataThread.IsProffesionalClient)
{
tempTesto = "In questo capitolo si fornisce unanalisi sulla rischiosità del portafoglio attualmente da lei detenuto presso /$Banca$/, confrontandone il livello di rischio - in termini di Rischio Mercato (VaR) e di Rischio Credito - con i limiti massimi associati al suo profilo, individuato da Fideuram sulla base delle informazioni da lei rese nel questionario di profilatura.";
tempTestoAlt = "Nel grafico larea di adeguatezza (in bianco) individua i casi in cui i livelli di Rischio Mercato e di Rischio Credito sono inferiori ai livelli massimi associati al suo profilo finanziario. Larea di non adeguatezza è indicata in grigio. La classe di Rischio Credito viene attribuita soltanto ad alcune tipologie di strumenti finanziari: per gli altri strumenti viene rappresentata come “non applicabile”. Nel complesso, gli strumenti presenti nel suo portafoglio ai quali non è stata attribuita una classe di Rischio Credito mitigano la stima di Rischio Credito del portafoglio complessivo.";
}
//tempTesto = tempTesto.Replace("/$Banca$/", dataThread.NomeRete);
//tempTestoAlt = tempTestoAlt.Replace("/$Banca$/", dataThread.NomeRete);
tempTesto = tempTesto.Replace("/$Banca$/", dataThread.NomeRete).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest");
tempTestoAlt = tempTestoAlt.Replace("/$Banca$/", dataThread.NomeRete).Replace("Sanpaolo Invest", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest"); ;
//string tempTestoAlt = SimpleTextGenerator.ProduceText(this, "PL_MP_S132ProfiloRischioAdeguatezza", dataThread, null);
string variableReplacement = SimpleTextGenerator.GetVariableValue("s132_tempTestoAlt", dataThread);
tempTestoAlt = tempTestoAlt.Replace("/$s132_tempTestoAlt$/", variableReplacement);
//tempTestoAlt = (dataThread.Rete == "F") ? tempTestoAlt.Replace("/$Banca$/", "Fideuram") : tempTestoAlt.Replace("/$Banca$/", "Sanpaolo Invest");
//********************************************Cecco modifiche dicitura IWBANK************************************************
switch (dataThread.Rete)
{
case "F":
{
tempTestoAlt = tempTestoAlt.Replace("/$Banca$/", "Fideuram");
break;
}
case "S":
{
//Rosaspina Andrea/
tempTestoAlt = tempTestoAlt.Replace("/$Banca$/", "Fideuram S.p.A., commercializzato tramite la rete di private banker Sanpaolo Invest");
// tempTestoAlt = tempTestoAlt.Replace("/$Banca$/", "Sanpaolo Invest");
break;
}
case "W":
{
tempTestoAlt = tempTestoAlt.Replace("/$Banca$/", "IW Private Investments");
break;
}
}
//**************************************************************************************************************************
//if (dataThread.Rete.ToUpper() == "S")
// {
// tempTesto = tempTesto.Replace("Banca Fideuram", "Sanpaolo Invest");
// tempTestoAlt = tempTesto.Replace("Banca Fideuram", "Sanpaolo Invest");
// }
//setChapterHeader(string label, int x, int width, float font)
document.setChapterHeader(tempTesto, 0, 520, 8);
DataSetS132 set = (DataSetS132)dataThread.Data.DatiSezione;
string labelText2nd = SimpleTextGenerator.ProduceText(this, "S132BottomLabel", dataThread, null);//new object[1] { set.Indicatori[0].Complessita }
# region profiloRischio
DatiTabella profilofinanziarioDatiTab = new DatiTabella();
profilofinanziarioDatiTab.table = set.Tables["ProfiloRischio"];
profilofinanziarioDatiTab.setCell(200, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, false, 8);
profilofinanziarioDatiTab.setCell(312, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false, 8);
profilofinanziarioDatiTab.setX(document.getMargineLeft());
Tabella profilofinanziarioTab = new Tabella();
//profilofinanziarioTab.LineaFineTabella = true;
//profilofinanziarioTab.
# endregion
# region profiloDate
DatiTabella profiloDateDatiTab = new DatiTabella();
profiloDateDatiTab.table = set.Tables["ProfiloDate"];
//profilofinanziarioDatiTab.setIsLinee(1);
profiloDateDatiTab.setCell(200, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdanaB, false, 8);
profiloDateDatiTab.setCell(312, ceTe.DynamicPDF.TextAlign.Left, Globals.OpenTypeFontVerdana, false, 8);
profiloDateDatiTab.setX(document.getMargineLeft());
Tabella profiloDateTab = new Tabella();
//profilofinanziarioTab.LineaFineTabella = true;
//profilofinanziarioTab.
# endregion
profilofinanziarioDatiTab.setY(document.getLastPos() - 5);
document.InsertTable(profilofinanziarioTab.getTabella(profilofinanziarioDatiTab));
float ycolonneRed = document.getLastPos() + profilofinanziarioDatiTab.getNumRow();
float ydatitab = ycolonneRed + 14;
profiloDateDatiTab.setY(ydatitab);
document.InsertTable(profiloDateTab.getTabella(profiloDateDatiTab));
document.setHeaderSpace(35);
document.writeText(document.getMargineLeft() - 5, document.getLastPos(), tempTestoAlt, 8, 520, ceTe.DynamicPDF.TextAlign.Justify);
//document.setHeaderSpace(60);
document.setLastPos(40);
ceTe.DynamicPDF.Merger.ImportedPage page = document.getCurrentPage();
#region Grafico
DataTable _datasource = set.Tables["DatiGrafico"];
#region recupero dati frecce
int classeRischio = 0;
if (_datasource.Rows[0]["ClasseRischioCreditoStr"] != DBNull.Value)
{
if (_datasource.Rows[0]["ClasseRischioCreditoStr"].ToString().ToUpper() == "N.A.")
classeRischio = -1;
}
else
classeRischio = Convert.ToInt32(_datasource.Rows[0]["ClasseRischioCredito"]);
// Rischio Mercato/VarP
double varP = 0;
if (_datasource.Rows[0]["RischioMercatoStr"] != DBNull.Value)
{
if (_datasource.Rows[0]["RischioMercatoStr"].ToString().ToUpper() == "N.A.")
varP = -1;
}
else
varP = Convert.ToInt32(_datasource.Rows[0]["RischioMercato"]);
// Rischio Mercato Massimo
decimal varMassimo = 0;
if (_datasource.Rows[0]["RischioMercatoMaxStr"] != DBNull.Value)
{
if (_datasource.Rows[0]["RischioMercatoMaxStr"].ToString().ToUpper() == "N.A.")
varMassimo = -1;
}
else
varMassimo = Convert.ToDecimal(_datasource.Rows[0]["RischioMercatoMax"]);
// Rischio Credito Massimo
int classeRiskCredMax = 0;
if (_datasource.Rows[0]["RischioCreditoMaxStr"] != DBNull.Value)
{
if (_datasource.Rows[0]["RischioCreditoMaxStr"].ToString().ToUpper() == "N.A.")
classeRiskCredMax = -1;
}
else
classeRiskCredMax = Convert.ToInt32(_datasource.Rows[0]["RischioCreditoMax"]);
#endregion
//document.setLastPos(420);
GraficoS132 grafico = new GraficoS132();
grafico.Datasource = _datasource;
document.InsertGraficoS132(grafico.ToPage(dataThread), document.getMargineLeft() + 60, document.getLastPos());
#endregion
//
// I marcatori sull'asse X e sull'asse Y non vengono visualizzati se il cliente
// non e' mai stato profilato o se il profilo e' scaduto
// Non vengono visualizzati se il rischio credito max o il rischio mercato max sono uguali ad "N.C."
// se rischio credito max = n.a. ugualmente non facciamo vedere le frecce.
//
#region FRECCE
if ((_datasource.Rows[0]["Profilo"].ToString() == "A") && (varMassimo > 0) && (classeRiskCredMax > 0))
{
#region Marcatore AsseY
//Freccia
float posZero = 157;//157;//259
float fattIncr = 5;
float offsetFreccia = 6;
if (dataThread.IsProffesionalClient && dataThread.RiskArea == 5)
{
fattIncr = (float) 3.20;
offsetFreccia = -9;
varMassimo = 50;
}
//float posVar1 = posZero - (fattIncr * (float.Parse(BusinessLayer.SoglieVar.sVar1)));
//float posVar2 = posZero - (fattIncr * (float.Parse(BusinessLayer.SoglieVar.sVar2)));
//float posVar3 = posZero - (fattIncr * (float.Parse(BusinessLayer.SoglieVar.sVar3)));
//float posVar4 = posZero - (fattIncr * (float.Parse(BusinessLayer.SoglieVar.sVar4)));
//float posVar5 = posZero - (fattIncr * (float.Parse(BusinessLayer.SoglieVar.sVar5)));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("--" + posVar1, document.getMargineLeft() + 101, document.getLastPos() + posVar1, 50F, 50F));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("--" + posVar2, document.getMargineLeft() + 101, document.getLastPos() + posVar2, 50F, 50F));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("--" + posVar3, document.getMargineLeft() + 101, document.getLastPos() + posVar3, 50F, 50F));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("--" + posVar4, document.getMargineLeft() + 101, document.getLastPos() + posVar4, 50F, 50F));
//page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("--" + posVar5, document.getMargineLeft() + 101, document.getLastPos() + posVar5, 50F, 50F));
float yMarcatoreAsseYRettangolo = document.getLastPos() + posZero - (fattIncr * (float)varMassimo) - offsetFreccia;
ceTe.DynamicPDF.PageElements.Rectangle FrecciaMarcatoreAsseY = new ceTe.DynamicPDF.PageElements.Rectangle(document.getMargineLeft() + 55, yMarcatoreAsseYRettangolo, 20, 20, new RgbColor(234, 234, 234), new RgbColor(234, 234, 234));
FrecciaMarcatoreAsseY.Angle = 45;
page.Elements.Add(FrecciaMarcatoreAsseY);
// Rettangolo
ceTe.DynamicPDF.PageElements.Rectangle RettangolomarcatoreAsseY = new ceTe.DynamicPDF.PageElements.Rectangle(document.getMargineLeft(), yMarcatoreAsseYRettangolo, 55, FrecciaMarcatoreAsseY.Width * 1.414F, new RgbColor(234, 234, 234), new RgbColor(234, 234, 234));
page.Elements.Add(RettangolomarcatoreAsseY);
FormatNum conv = new FormatNum();
//Label
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Rischio Mercato", document.getMargineLeft() + 2, yMarcatoreAsseYRettangolo + 2, 80, FrecciaMarcatoreAsseY.Width * 1.414F, Globals.OpenTypeFontVerdana, 6));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("(VaR) massimo", document.getMargineLeft() + 2, yMarcatoreAsseYRettangolo + 10, 80, FrecciaMarcatoreAsseY.Width * 1.414F, Globals.OpenTypeFontVerdana, 6));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("(" + conv.ConvertNum(varMassimo) + "%)", document.getMargineLeft() + 14, yMarcatoreAsseYRettangolo + 18, 80, FrecciaMarcatoreAsseY.Width * 1.414F, Globals.OpenTypeFontVerdana, 6));
#endregion
#region Marcatore AsseX
// Recupero la X
float xMarcatoreAsseXRettangolo = 0; //classeRiskCredMax
#region pecetta grafico
//Legent
//Title
//int LastPosition = 380;
float lastpos = document.getLastPos();
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(437, lastpos + 100, 20, 8, ceTe.DynamicPDF.CmykColor.Black, new RgbColor(234, 234, 234), 0.3F));//RgbColor(255, 255, 255)));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Area di non adeguatezza", 460, lastpos + 100, 160, 10, Globals.OpenTypeFontVerdana, 7, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Rectangle(437, lastpos + 100 + 13, 20, 8, ceTe.DynamicPDF.CmykColor.Black, ceTe.DynamicPDF.CmykColor.White, 0.3F));//RgbColor(255, 255, 255)));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Area di adeguatezza", 460, lastpos + 100 + 13, 160, 10, Globals.OpenTypeFontVerdana, 7, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
int lastpos_mod = 7 + ((dataThread.IsProffesionalClient && dataThread.RiskArea == 5) ? 80 : 0);
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Rischio Mercato (VaR%)", document.getMargineLeft(), lastpos + lastpos_mod, 120, 12, Globals.OpenTypeFontVerdana, 7, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
//LastPosition = 427;
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Rischio Credito", 420, lastpos + 159, 100, 8, Globals.OpenTypeFontVerdana, 7, ceTe.DynamicPDF.TextAlign.Left, ceTe.DynamicPDF.CmykColor.Black));
#endregion
//classeRiskCredMax = 3; per fare test
if (classeRiskCredMax == 1)
xMarcatoreAsseXRettangolo = document.getMargineLeft() + 152; // selezione su Classe 1
else if (classeRiskCredMax == 2)
xMarcatoreAsseXRettangolo = document.getMargineLeft() + 222;// selezione su Classe 2
else if (classeRiskCredMax == 3)
xMarcatoreAsseXRettangolo = document.getMargineLeft() + 296; // selezione su Classe 3
// Recupero la Y
float yMarcatoreAsseXRettangolo = document.getLastPos() + grafico.Height;
// Rettangolo Base (principale)
ceTe.DynamicPDF.PageElements.Rectangle FrecciaMarcatoreAsseX_Base = new ceTe.DynamicPDF.PageElements.Rectangle(xMarcatoreAsseXRettangolo, yMarcatoreAsseXRettangolo, 55, 25, new RgbColor(234, 234, 234), new RgbColor(234, 234, 234));
page.Elements.Add(FrecciaMarcatoreAsseX_Base);
// Rettangolo a destra (punta destra)
ceTe.DynamicPDF.PageElements.Rectangle FrecciaMarcatoreAsseX_dx = new ceTe.DynamicPDF.PageElements.Rectangle(xMarcatoreAsseXRettangolo + (FrecciaMarcatoreAsseX_Base.Width / 2), yMarcatoreAsseXRettangolo - 10, 29, 10, new RgbColor(234, 234, 234), new RgbColor(234, 234, 234));
FrecciaMarcatoreAsseX_dx.Angle = 19.3F;
page.Elements.Add(FrecciaMarcatoreAsseX_dx);
//Rettangolo a sinistra (punta sinistra)
ceTe.DynamicPDF.PageElements.Rectangle FrecciaMarcatoreAsseX_sx = new ceTe.DynamicPDF.PageElements.Rectangle(xMarcatoreAsseXRettangolo, yMarcatoreAsseXRettangolo, 28.6F, 10, new RgbColor(234, 234, 234), new RgbColor(234, 234, 234));
FrecciaMarcatoreAsseX_sx.Angle = 339.4F;
page.Elements.Add(FrecciaMarcatoreAsseX_sx);
//Label
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Rischio Credito", xMarcatoreAsseXRettangolo + 4, yMarcatoreAsseXRettangolo, 80, 12, Globals.OpenTypeFontVerdana, 6));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("massimo", xMarcatoreAsseXRettangolo + 14, yMarcatoreAsseXRettangolo + 7, 80, 12, Globals.OpenTypeFontVerdana, 6));
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("(" + UtilityBusinessLayer.GetRiskCreditClassName(classeRiskCredMax.ToString()) + ")", xMarcatoreAsseXRettangolo + 12, yMarcatoreAsseXRettangolo + 14, 80, 12, Globals.OpenTypeFontVerdana, 6));
#endregion
}
#endregion
#region Tabella
DatiTabella datitab = new DatiTabella();
datitab.SetRowDim(15);
float dimTabella = 0;
float graficoHeightOffset = grafico.Height;
float additionalOffset = 40;
float additionalOffset2 = 35;
if (!string.IsNullOrEmpty(labelText2nd) && document.checkMargin(graficoHeightOffset + additionalOffset + 70))
{
document.addPage();
page = document.getCurrentPage();
document.setPotenzialeLastPos(0, true);
graficoHeightOffset = 0;
additionalOffset = 0;
additionalOffset2 = 0;
}
#region Tabella Monitoraggio
datitab.table = set.Tables["DatiTabellaMonitoraggio"];
Tabella tabellaPatrimonio = new Tabella(document.getMargineLeft(), document.getLastPos() + graficoHeightOffset + additionalOffset);
tabellaPatrimonio.Header = true;
tabellaPatrimonio.Id = "TabellaPatrimonio";
//tabellaPatrimonio.Datasource = _datasource;
//V vedere come gestiore la leggenda nella tabella
tabellaPatrimonio.Colonne.Add(new Colonna("DescrizionePatrimonio", "Patrimonio", 150, TipoAllineamento.SINISTRA, false, 9, false, TipoColonna.IMMAGINE_E_TESTO));
tabellaPatrimonio.Colonne.Add(new Colonna("TotalePatrimonio", "Totale Patrimonio<BR>(€)", 110, TipoAllineamento.DESTRA, false, 9, false));
tabellaPatrimonio.Colonne.Add(new Colonna("RischioCredito", "Rischio<BR>Credito", 70, TipoAllineamento.DESTRA, false, 9, false));
tabellaPatrimonio.Colonne.Add(new Colonna("RischioMercato", "Rischio Mercato<BR>(VaR%)", 106, TipoAllineamento.DESTRA, false, 9, false));
tabellaPatrimonio.Colonne.Add(new Colonna("Copertura", "Copertura<BR>(%)", 76, TipoAllineamento.DESTRA, false, 9, false));
tabellaPatrimonio.Draw(datitab, document);
#region Simboli del patrimonio
//Monitoraggio avrà solo il dettaglio per patrimonio bf o spi (un rombo come simbolo)
ceTe.DynamicPDF.PageElements.Rectangle rect = new ceTe.DynamicPDF.PageElements.Rectangle(document.getMargineLeft(), tabellaPatrimonio.Y + 18, 10 / 1.414F, 10 / 1.414F, 0, new RgbColor(0, 0, 0));
rect.Angle = 45;
page.Elements.Add(rect);
#endregion
#region Indicatore rischio mercato
//Monitoraggio avrà solo il dettaglio per patrimonio bf o spi (un rombo come simbolo)
string flagOK = WebConfigParameter.getParameter("FlagOK_RIDOTTA");
string flagNO = WebConfigParameter.getParameter("FlagNO_RIDOTTA");
System.Reflection.Assembly thisExe;
thisExe = System.Reflection.Assembly.GetExecutingAssembly();
System.IO.Stream fileOk = thisExe.GetManifestResourceStream(flagOK);
System.IO.Stream fileNo = thisExe.GetManifestResourceStream(flagNO);
// Indicatore Rischio Mercato
if (!set.Indicatori[0].RischioCredito)
{ // INDICATORE "RischioMercato" NO
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(fileNo, document.getMargineLeft() + 331, tabellaPatrimonio.Y + 18, 0.15F));
}
else
{ // INDICATORE "RischioMercato" OK
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(fileOk, document.getMargineLeft() + 331, tabellaPatrimonio.Y + 18, 0.15F));
}
if (!set.Indicatori[0].RischioMercato)
{ // INDICATORE "RischioCredito" NO
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(fileNo, document.getMargineLeft() + 437, tabellaPatrimonio.Y + 18, 0.15F));
}
else
{ // INDICATORE "RischioMercato" OK
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(fileOk, document.getMargineLeft() + 437, tabellaPatrimonio.Y + 18, 0.15F));
}
#endregion
if (dataThread.profiloIsAct == false)
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(Resource.Nota_S96_Scaduto, datitab.getX(), datitab.getY() + datitab.GetRowDim() * (datitab.table.Rows.Count + 1), 500F, 30F, Globals.OpenTypeFontVerdana, 8, ceTe.DynamicPDF.CmykColor.Red));
dimTabella = tabellaPatrimonio.AltezzaTabella;
#endregion
#endregion
#region indicatori Monitoraggio
////
//// Inseriamo gli Indicatori: non vengono visualizzati se il cliente
//// non e' mai stato profilato o se il profilo e' scaduto
//// Non vengono visualizzati se il rischio credito max o il rischio mercato max sono uguali ad "N.C."
//// se rischio credito max = n.a. ugualmente non facciamo vedere le frecce.
////
float xIndicatore = document.getMargineLeft();
float yIndicatore = document.getLastPos() + graficoHeightOffset + dimTabella + additionalOffset2;
//if (dataThread.TipoReport.ToUpper() == "MONITORAGGIO" && dataThread.profiloIsAct && (varMassimo > 0) && (classeRiskCredMax > 0))
//{
// string flagOK = WebConfigParameter.getParameter("FlagOK_RIDOTTA");
// string flagNO = WebConfigParameter.getParameter("FlagNO_RIDOTTA");
// System.Reflection.Assembly thisExe;
// thisExe = System.Reflection.Assembly.GetExecutingAssembly();
// System.IO.Stream fileOk = thisExe.GetManifestResourceStream(flagOK);
// System.IO.Stream fileNo = thisExe.GetManifestResourceStream(flagNO);
// // Indicatore Rischio Mercato
// if (!set.Indicatori[0].RischioMercato)
// { // INDICATORE "RischioMercato" NO
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(fileNo, document.getMargineLeft(), yIndicatore, 0.15F)); //0.2F
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Il livello di Rischio Mercato dei Suoi Investimenti è, oggi, NON coerente con il Suo profilo finanziario.", xIndicatore + 25, yIndicatore, 512, 12, Globals.OpenTypeFontVerdana, 7));
// }
// else
// { // INDICATORE "RischioMercato" OK
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(fileOk, document.getMargineLeft(), yIndicatore, 0.15F));
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Il livello di Rischio Mercato dei Suoi Investimenti è, oggi, coerente con il Suo profilo finanziario.", xIndicatore + 25, yIndicatore, 512, 12, Globals.OpenTypeFontVerdana, 7));
// }
// yIndicatore += 20;
// // Indicatore Rischio Credito
// if (!set.Indicatori[0].RischioCredito)
// { // INDICATORE "RischioCredito" NO
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(fileNo, xIndicatore, yIndicatore, 0.15F));
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Il livello di Rischio Credito dei Suoi Investimenti è, oggi, NON coerente con il Suo profilo finanziario.", xIndicatore + 25, yIndicatore, 512, 12, Globals.OpenTypeFontVerdana, 7));
// }
// else
// { // INDICATORE "RischioCredito" OK
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Image(fileOk, xIndicatore, yIndicatore, 0.15F));
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Il livello di Rischio Credito dei Suoi Investimenti è, oggi, coerente con il Suo profilo finanziario.", xIndicatore + 25, yIndicatore, 512, 12, Globals.OpenTypeFontVerdana, 7));
// // page.Elements.Add(new ceTe.DynamicPDF.PageElements.
// }
//document.setLastPos(600);
//V Spostare nel resource file
//
// Indicatore Complessita'
//
//yIndicatore += 20;
#region AdeguadezzaCompl
string labelText = SimpleTextGenerator.ProduceText(this, "BottomLabel", dataThread, null);//new object[1] { set.Indicatori[0].Complessita }
if (labelText == String.Empty)
{
throw new GeneratorException("missing label data for S132");
}
else
{
if (!dataThread.IsProffesionalClient)
{
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(labelText, xIndicatore, yIndicatore, 512, 36, Globals.OpenTypeFontVerdana, 7));
yIndicatore += 36;
}
}
if (!string.IsNullOrEmpty(labelText2nd))
{
page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label(labelText2nd, xIndicatore, yIndicatore, 512, 70, Globals.OpenTypeFontVerdana, 7));
}
//commented by pk
//if (set.Indicatori[0].Complessita)
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Tutti gli strumenti finanziari nel Suo portafoglio risultano avere una complessità coerente con il Suo livello di esperienza e conoscenza risultante dal questionario di profilatura.", xIndicatore, yIndicatore, 512, 24, Globals.OpenTypeFontVerdana, 7));
//else
// page.Elements.Add(new ceTe.DynamicPDF.PageElements.Label("Alcuni strumenti finanziari nel suo portafoglio risultano avere una complessità elevata rispetto al Suo livello di esperienza e conoscenza risultante dal questionario di profilatura.", xIndicatore, yIndicatore, 512, 24, Globals.OpenTypeFontVerdana, 7));
#endregion
// }
#endregion
//aggiorno il puntatore alla posizione da cui si può scrivere
//document.setLastPos(600);
document.addPage();
}
}
}