using System;
using Consulenza.ReportWriter.Business;
using Consulenza.ReportWriter.Business.OBJ_PDF;
using System.Data;
using Consulenza.ReportCommon;
using System.Collections.Generic;
using Consulenza.ReportWriter.Business.CHART_PDF;
using Consulenza.ReportWriter.Business.Entity;
using System.Linq;
using Consulenza.ReportWriter.Business.CUSTOM_PDF.ConsulenzaUnica;
namespace Consulenza.ReportWriter.Manager.Section.Unica
{
///
/// S76.Diversificazione idSezione = 235
///
public class S76 : Entity.Section
{
private bool _visualizzaAltriIstituti;
private bool _visualizzaSintesiComponenti;
private bool _visualizzaDettaglioComponenti;
private bool _presenzaNotaPatrimonioCasa = false;
private bool _presenzaNotaPatrimonioTerzi = false;
private bool _presenzaNotaEccessivaAdeguatezza = false;
private bool _stampaNota = false;
private string _asteriscoFideuram = "";
private string _asteriscoAltri = "";
private string _asteriscoComplessivo = "";
public S76(EnvironmentFacade environmentFacade, int idSection)
: base(environmentFacade, idSection)
{
try
{
_visualizzaAltriIstituti = GetOption().Valore;
_visualizzaSintesiComponenti = GetOption().Valore;
_visualizzaDettaglioComponenti = GetOption().Valore;
//_visualizzaAltriIstituti = true;
//_visualizzaSintesiComponenti = true;
//_visualizzaDettaglioComponenti = true;
Draw();
}
catch (Exception ex)
{
SectionLogger.Write("S76", ex.Message, SectionLoggerMessageLevel.E, EnvironmentFacade.ReportEnvironment);
}
}
protected override sealed void Draw()
{
var dati = GetDataSet();
var testi = GetText();
var nota = Helper.ReplaceVariables(GetNote(), EnvironmentFacade.ReportEnvironment);
var series = new List();
#region Impostazione coordinate
float axisWidth = 0;
float Y1TabellaDiversificazionePortafoglio = _visualizzaAltriIstituti ? 221f : 216f;
float Y2TabellaDiversificazionePortafoglio = _visualizzaAltriIstituti ? 321f : 249f;
//float Y1TabellaSintesiComponentiFideuram = _visualizzaAltriIstituti ? Y2TabellaDiversificazionePortafoglio + 158f : Y2TabellaDiversificazionePortafoglio + 150f;
float Y1TabellaSintesiComponentiFideuram = _visualizzaAltriIstituti ? Y2TabellaDiversificazionePortafoglio + 168f : Y2TabellaDiversificazionePortafoglio + 160f;
//float Y2TabellaSintesiComponentiFideuram = _visualizzaAltriIstituti ? Y2TabellaDiversificazionePortafoglio + 254f : Y2TabellaDiversificazionePortafoglio + 246f;
float Y2TabellaSintesiComponentiFideuram = _visualizzaAltriIstituti ? Y2TabellaDiversificazionePortafoglio + 268f : Y2TabellaDiversificazionePortafoglio + 260f;
float Y1TabellaSintesiComponentiAltri = _visualizzaAltriIstituti ? 200f : 200f;
float Y2TabellaSintesiComponentiAltri = _visualizzaAltriIstituti ? 300f : 300f;
float Y1TabellaSintesiComponentiComplessivo = _visualizzaAltriIstituti ? Y2TabellaSintesiComponentiAltri + 73 : Y2TabellaSintesiComponentiAltri + 73;
float Y2TabellaSintesiComponentiComplessivo = _visualizzaAltriIstituti ? Y2TabellaSintesiComponentiAltri + 168.5f : Y2TabellaSintesiComponentiAltri + 168.5f;
float Y1TabellaDettaglioComponentiFideuram = _visualizzaAltriIstituti ? 281f : 281f;
//float Y2TabellaDettaglioComponentiFideuram = _visualizzaAltriIstituti ? 568f : 568f;
float Y2TabellaDettaglioComponentiFideuram = _visualizzaAltriIstituti ? 505f : 505f;
float Y1TabellaDettaglioComponentiAltri = _visualizzaAltriIstituti ? 206f : 206f;
//float Y2TabellaDettaglioComponentiAltri = _visualizzaAltriIstituti ? 492f : 492f;
float Y2TabellaDettaglioComponentiAltri = _visualizzaAltriIstituti ? 429f : 429f;
float Y1TabellaDettaglioComponentiComplessivo = _visualizzaAltriIstituti ? 206f : 206f;
//float Y2TabellaDettaglioComponentiComplessivo = _visualizzaAltriIstituti ? 492f : 492f;
float Y2TabellaDettaglioComponentiComplessivo = _visualizzaAltriIstituti ? 429f : 429f;
#endregion Impostazione coordinate
_asteriscoFideuram = _presenzaNotaPatrimonioCasa ? "*" : "";
_asteriscoAltri = _presenzaNotaPatrimonioTerzi ? "*" : "";
_asteriscoComplessivo = _presenzaNotaPatrimonioCasa || _presenzaNotaPatrimonioTerzi ? "*" : "";
_stampaNota = _presenzaNotaPatrimonioCasa || _presenzaNotaPatrimonioTerzi;
string patrimonioFideuram = dati.Tables["Portafoglio"].Rows[0]["ControvaloreAttuale"].ToString();
string patrimonioAltri = dati.Tables["Portafoglio"].Rows[1]["ControvaloreAttuale"].ToString();
string patrimonioComplessivo = dati.Tables["Portafoglio"].Rows[2]["ControvaloreAttuale"].ToString();
AddElement(new SpacePDF(20) { AutoIncrementYWritable = true });
#region Sezione Diversificazione Portafoglio
#region Testo Introduttivo Sezione Diversificazione Portafoglio
var testoIntroPortafoglio = string.Empty;
if (_visualizzaAltriIstituti)
testoIntroPortafoglio = testi.Rows[0]["testo1"].ToString();
else
testoIntroPortafoglio = testi.Rows[0]["testo2"].ToString();
////************************************** da eliminare
//if (_visualizzaAltriIstituti)
// testoIntroPortafoglio = "In questa scheda è riportato il confronto, in termini di Diversificazione, tra il patrimonio che lei detiene presso Fideuram, il patrimonio che lei detiene presso altri Istituti e il suo patrimonio finanziario complessivo.";
//else
// testoIntroPortafoglio = "In questa scheda è riportato il livello di Diversificazione del patrimonio che lei detiene presso Fideuram.";
////**************************************
testoIntroPortafoglio = Helper.ReplaceVariables(testoIntroPortafoglio, EnvironmentFacade.ReportEnvironment);
var textArea = new FormattedTextAreaPDF(testoIntroPortafoglio, EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = true };
AddElement(new FormattedTextAreaPDF(testoIntroPortafoglio, EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = true });
AddElement(new SpacePDF(20));
#endregion Testo Introduttivo Sezione Diversificazione Portafoglio
#region Tabella Diversificazione Portafoglio
int i = 0;
DataTable dtPortafoglio = dati.Tables["Portafoglio"];
if (!_visualizzaAltriIstituti)
dtPortafoglio = dati.Tables["Portafoglio"].AsEnumerable()
.Where(x => x.Field("Patrimonio").ToUpper().Contains("FIDEURAM") || x.Field("Patrimonio").ToUpper().Contains("SANPAOLO"))
.CopyToDataTable();
var tabellaDiversificazionePortafoglio = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit, dtPortafoglio)
{
Style = Style.ConsulenzaUnica,
AlternateRow = false,
ShowSeparationLines = true,
RowHeight = 30,
Footer = false,
HeaderHeight = 30,
HideLastSeparationLine = false,
AdditionalSpaceBetweenHeadersAndTable = 3
};
tabellaDiversificazionePortafoglio.Columns.Add(new ColumnPDF("Patrimonio", 110, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Patrimonio", "Patrimonio") { HeaderFontSize = 7, PaddingRight = 4 });
tabellaDiversificazionePortafoglio.Columns.Add(new ColumnPDF("ControvaloreAttuale", 115, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "ControvaloreAttuale", "Controvalore
attuale (€)") { PaddingRight = 15, HeaderFontSize = 7 });
tabellaDiversificazionePortafoglio.Columns.Add(new ColumnPDF("GradoCopertura", 70, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "GradoCopertura", "Grado di copertura
(%)") { PaddingRight = 15, HeaderFontSize = 7 });
tabellaDiversificazionePortafoglio.Columns.Add(new ColumnPDF("DiversificazioneObject", 225, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Objectpdf, "Diversificazione", "Diversificazione di portafoglio") { VerticalAlignment = VerticalAlignmentType.Centrato, HeaderFontSize = 7, FontSize = 7, DeltaYContent = 6, HeaderPaddingLeft = 10 });
var list = new List();
list.Add(Convert.ToDouble(dtPortafoglio.AsEnumerable().Max(x => x["Diversificazione"])));
//var valoreMassimo = (float)Helper.Round(list.Max());
var valoreMassimo = 100;
float larghezzaBarra = 0;
float larghezzaSpazioTestoPercentuale = 0;
float larghezzaMinimaSpazioTestoPercentuale = 35;
float deltaXBarra = 0;
float width = tabellaDiversificazionePortafoglio.Columns[3].Width - 50;
foreach (DataRow row in dtPortafoglio.Rows)
{
var colore = new ColorPDF(Convert.ToInt32(row["Red"]), Convert.ToInt32(row["Green"]), Convert.ToInt32(row["Blue"]));
//Allineamento a destro delle colonne numeriche (Controvalore attuale e Grado di Copertura)
tabellaDiversificazionePortafoglio.Cells[1, i].HorizontalAlignment = HorizontalAlignmentType.Destra;
tabellaDiversificazionePortafoglio.Cells[2, i].HorizontalAlignment = HorizontalAlignmentType.Destra;
//Aggiunge l'asterisco se c'è la nota
row["Patrimonio"] += (i == 0) ? _asteriscoFideuram : (i == 1) ? _asteriscoAltri : _asteriscoComplessivo;
//larghezzaBarra = Helper.GetWidthProportional((float)Convert.ToDecimal(row["Diversificazione"]), valoreMassimo, tabellaDiversificazionePortafoglio.Columns[3].Width - 50);
larghezzaBarra = Helper.GetWidthProportional((float)Convert.ToDecimal(row["Diversificazione"]), valoreMassimo, tabellaDiversificazionePortafoglio.Columns[3].Width - 35);
larghezzaSpazioTestoPercentuale = tabellaDiversificazionePortafoglio.Columns[3].Width - larghezzaBarra;
deltaXBarra = larghezzaBarra + 10;
if (larghezzaSpazioTestoPercentuale < larghezzaMinimaSpazioTestoPercentuale)
{
deltaXBarra = -(tabellaDiversificazionePortafoglio.Columns[3].Width - larghezzaMinimaSpazioTestoPercentuale);
larghezzaSpazioTestoPercentuale = larghezzaMinimaSpazioTestoPercentuale;
}
if (Convert.ToDouble(row["ControvaloreAttuale"]) == 0)
{
tabellaDiversificazionePortafoglio.Cells[3, i].ValueObjectList = new List()
{
new RectanglePDF(20, 1 , ColorPDF.Bianco),
new FormattedTextAreaPDF(row["Diversificazione"].ToString()=="0.00"? "0.00" : Helper.FormatDecimal(Convert.ToDecimal(row["Diversificazione"]).ToString(), 2),
0, larghezzaSpazioTestoPercentuale)
{
DeltaY = 3,
TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left,
TextVerticalAlign = ceTe.DynamicPDF.VAlign.Center,
DeltaX = deltaXBarra,
FontSize = 7
}
};
}
else
{
tabellaDiversificazionePortafoglio.Cells[3, i].ValueObjectList = new List()
{
new RectanglePDF(20, larghezzaBarra , colore),
new FormattedTextAreaPDF(row["Diversificazione"].ToString()=="0.00"? "0.00" : Helper.FormatDecimal(Convert.ToDecimal(row["Diversificazione"]).ToString(), 2),
0, larghezzaSpazioTestoPercentuale)
{
DeltaY = 3,
TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left,
TextVerticalAlign = ceTe.DynamicPDF.VAlign.Center,
DeltaX = deltaXBarra,
FontSize = 7
}
};
}
i++;
}
AddElement(tabellaDiversificazionePortafoglio);
//currentY += tabellaDiversificazionePortafoglio.Height;
//ASSE X
axisWidth = Helper.GetWidthProportional(100, valoreMassimo, tabellaDiversificazionePortafoglio.Columns[3].Width - larghezzaMinimaSpazioTestoPercentuale);
XAxisDraw(295, Y2TabellaDiversificazionePortafoglio, 295 + axisWidth, Y2TabellaDiversificazionePortafoglio + 2);
//ASSE Y
AddElement(new LinePDF(EnvironmentFacade.RendererFacade.XLeftLimit + 295 - 1, Y1TabellaDiversificazionePortafoglio + 2, EnvironmentFacade.RendererFacade.XLeftLimit + 295 - 1, Y2TabellaDiversificazionePortafoglio + 2, 0.8F, new ColorPDF(137, 137, 137)) { AutoIncrementYWritable = false });
// INSERITO STAMPA NOTA
#region Nota a pie' pagina
if (_stampaNota)
{
AddElement(new SpacePDF(15));
if (_visualizzaSintesiComponenti)
{
//AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { Y = 680, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false, FontSize = 7, AbsolutePosition = true });
}
else
{
if (_visualizzaAltriIstituti) //Se ci sono anche le righe di Altri istituti e Complessivo la nota va più in basso
AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { Y = 380, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false, FontSize = 7, AbsolutePosition = true });
else
AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { Y = 280, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false, FontSize = 7, AbsolutePosition = true });
}
}
#endregion Nota a pie' pagina
#endregion Tabella Diversificazione Portafoglio
#endregion Sezione Diversificazione Portafoglio
#region Sezione Sintesi Componenti
if (_visualizzaSintesiComponenti)
{
#region Titolo e Testo Introduttivo
AddElement(new SpacePDF(20));
string titoloSintesi = "Sintesi delle componenti di diversificazione";
AddElement(new FormattedTextAreaPDF(titoloSintesi, EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 10, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new SpacePDF(20));
string testoIntroSintesi = string.Empty;
if (_visualizzaAltriIstituti)
testoIntroSintesi = testi.Rows[0]["testo3"].ToString();
else
testoIntroSintesi = testi.Rows[0]["testo4"].ToString();
testoIntroSintesi = Helper.ReplaceVariables(testoIntroSintesi, EnvironmentFacade.ReportEnvironment);
AddElement(new FormattedTextAreaPDF(testoIntroSintesi, EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new SpacePDF(20));
#endregion Titolo e Testo Introduttivo
#region Tabella Sintesi Componenti Fideuram
AddElement(new FormattedTextAreaPDF(String.Format(datiSeiUnico.FormatBanca("Patrimonio $/Banca/$(€){0}"), _asteriscoFideuram), EnvironmentFacade.RendererFacade.XLeftLimit + 10) { FontSize = 7, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false });
AddElement(new FormattedTextAreaPDF(Helper.FormatCurrency(patrimonioFideuram), EnvironmentFacade.RendererFacade.XLeftLimit + 220) { FontSize = 7, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new SpacePDF(10));
if (dati.Tables["SintesiComponentiFideuram"].Rows.Count > 0)
{
#region Definizione e Creazione
var tabellaSintesiComponentiFideuram = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit, dati.Tables["SintesiComponentiFideuram"])
{
Style = Style.ConsulenzaUnica,
AlternateRow = false,
ShowSeparationLines = true,
RowHeight = 30,
Footer = false,
HeaderHeight = 30,
HideLastSeparationLine = false,
AdditionalSpaceBetweenHeadersAndTable = 3
};
tabellaSintesiComponentiFideuram.Columns.Add(new ColumnPDF("Componente", 210, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Componente", "Componenti diversificazione di portafoglio") { HeaderFontSize = 7, FontSize = 7 });
tabellaSintesiComponentiFideuram.Columns.Add(new ColumnPDF("DiversificazioneObject", 310, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Objectpdf, "Diversificazione", "Diversificazione") { VerticalAlignment = VerticalAlignmentType.Centrato, HeaderFontSize = 7, FontSize = 7, DeltaYContent = 6, HeaderPaddingLeft = 10 });
#endregion
#region Creazione Stacked Bar
i = 0;
list = new List();
list.Add(Convert.ToDouble(dati.Tables["SintesiComponentiFideuram"].AsEnumerable().Max(x => x["Diversificazione"])));
//valoreMassimo = (float)Helper.Round(list.Max());
valoreMassimo = 100;
larghezzaBarra = 0;
larghezzaSpazioTestoPercentuale = 0;
larghezzaMinimaSpazioTestoPercentuale = 35;
deltaXBarra = 0;
foreach (DataRow row in dati.Tables["SintesiComponentiFideuram"].Rows)
{
//Arancione
var colore = new ColorPDF(255, 165, 0);
//larghezzaBarra = Helper.GetWidthProportional((float)Convert.ToDecimal(row["Diversificazione"]), valoreMassimo, tabellaSintesiComponentiFideuram.Columns[1].Width - 50);
larghezzaBarra = Helper.GetWidthProportional((float)Convert.ToDecimal(row["Diversificazione"]), valoreMassimo, tabellaSintesiComponentiFideuram.Columns[1].Width - 35);
larghezzaSpazioTestoPercentuale = tabellaSintesiComponentiFideuram.Columns[1].Width - larghezzaBarra;
deltaXBarra = larghezzaBarra + 10;
if (larghezzaSpazioTestoPercentuale < larghezzaMinimaSpazioTestoPercentuale)
{
deltaXBarra = -(tabellaSintesiComponentiFideuram.Columns[1].Width - larghezzaMinimaSpazioTestoPercentuale);
larghezzaSpazioTestoPercentuale = larghezzaMinimaSpazioTestoPercentuale;
}
tabellaSintesiComponentiFideuram.Cells[1, i].ValueObjectList = new List()
{
new RectanglePDF(20, larghezzaBarra , colore),
new FormattedTextAreaPDF(row["Diversificazione"].ToString()=="0.00"? "0.00" : Helper.FormatDecimal(Convert.ToDecimal(row["Diversificazione"]).ToString(), 2),
0,
larghezzaSpazioTestoPercentuale)
{
DeltaY = 3,
TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left,
TextVerticalAlign = ceTe.DynamicPDF.VAlign.Center,
DeltaX = deltaXBarra,
FontSize = 7
}
};
i++;
}
#endregion
AddElement(tabellaSintesiComponentiFideuram);
//ASSE X
axisWidth = Helper.GetWidthProportional(100, valoreMassimo, tabellaSintesiComponentiFideuram.Columns[1].Width - larghezzaMinimaSpazioTestoPercentuale);
XAxisDraw(210, Y2TabellaSintesiComponentiFideuram, 210 + axisWidth, Y2TabellaSintesiComponentiFideuram + 2);
//ASSE Y
AddElement(new LinePDF(EnvironmentFacade.RendererFacade.XLeftLimit + 210 - 1, Y1TabellaSintesiComponentiFideuram + 2, EnvironmentFacade.RendererFacade.XLeftLimit + 210 - 1, Y2TabellaSintesiComponentiFideuram + 2, 0.8F, new ColorPDF(137, 137, 137)) { AutoIncrementYWritable = false });
}
#endregion Tabella Sintesi Componenti Fideuram
#region Tabella Sintesi Componenti altri Istituti e Complessivo
if (_visualizzaAltriIstituti)
{
#region Tabella Sintesi Componenti altri Istituti
#region Nota a pie' pagina e cambio pagina
// COMMENTATO ES
//if (_stampaNota)
//{
// //AddElement(new SpacePDF(15));
// //AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
// AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { Y = 680, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false, FontSize = 7, AbsolutePosition = true });
//}
AddElement(new ImagePDF(435, 0.15F, "changepage.png") { Y = 745 - 5, AutoIncrementYWritable = false });
AddElement(new FormattedTextAreaPDF("continua alla pagina successiva", 450, 200) { Y = 745 - 5, AutoIncrementYWritable = false, FontSize = 6, AbsolutePosition = true });
AddElement(new PagePDF());
#endregion Nota a pie' pagina e cambio pagina
AddElement(new SpacePDF(2));
AddElement(new ImagePDF(37, 0.15F, "changepage.png") { AutoIncrementYWritable = false });
AddElement(new FormattedTextAreaPDF("continua dalla pagina precedente", 37 + 15, 200) { FontSize = 6, AutoIncrementYWritable = true });
AddElement(new SpacePDF(20));
//AddElement(new FormattedTextAreaPDF(String.Format("Patrimonio altri Istituti(€){0} {1}", _asteriscoAltri, Helper.FormatCurrency(patrimonioAltri.ToString())), EnvironmentFacade.RendererFacade.XLeftLimit + 10) { FontSize = 7, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new FormattedTextAreaPDF(String.Format("Patrimonio altri Istituti(€){0}", _asteriscoAltri), EnvironmentFacade.RendererFacade.XLeftLimit + 10) { FontSize = 7, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false });
AddElement(new FormattedTextAreaPDF(Helper.FormatCurrency(patrimonioAltri), EnvironmentFacade.RendererFacade.XLeftLimit + 220) { FontSize = 7, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new SpacePDF(10));
if (dati.Tables["SintesiComponentiAltri"].Rows.Count > 0)
{
#region Definizione e Creazione
var tabellaSintesiComponentiAltri = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit, dati.Tables["SintesiComponentiAltri"])
{
Style = Style.ConsulenzaUnica,
AlternateRow = false,
ShowSeparationLines = true,
RowHeight = 30,
Footer = false,
HeaderHeight = 30,
HideLastSeparationLine = false,
AdditionalSpaceBetweenHeadersAndTable = 3
};
tabellaSintesiComponentiAltri.Columns.Add(new ColumnPDF("Componente", 210, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Componente", "Componenti diversificazione di portafoglio") { HeaderFontSize = 7, FontSize = 7, HeaderPaddingLeft = 6 });
tabellaSintesiComponentiAltri.Columns.Add(new ColumnPDF("DiversificazioneObject", 310, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Objectpdf, "Diversificazione", "Diversificazione") { VerticalAlignment = VerticalAlignmentType.Centrato, HeaderFontSize = 7, FontSize = 7, DeltaYContent = 6, HeaderPaddingLeft = 10 });
#endregion
#region Creazione Stacked Bar
i = 0;
list = new List();
list.Add(Convert.ToDouble(dati.Tables["SintesiComponentiAltri"].AsEnumerable().Max(x => x["Diversificazione"])));
//valoreMassimo = (float)Helper.Round(list.Max());
valoreMassimo = 100;
larghezzaBarra = 0;
larghezzaSpazioTestoPercentuale = 0;
larghezzaMinimaSpazioTestoPercentuale = 35;
deltaXBarra = 0;
foreach (DataRow row in dati.Tables["SintesiComponentiAltri"].Rows)
{
//Blu
var colore = new ColorPDF(32, 114, 156);
//larghezzaBarra = Helper.GetWidthProportional((float)Convert.ToDecimal(row["Diversificazione"]), valoreMassimo, tabellaSintesiComponentiAltri.Columns[1].Width - 50);
larghezzaBarra = Helper.GetWidthProportional((float)Convert.ToDecimal(row["Diversificazione"]), valoreMassimo, tabellaSintesiComponentiAltri.Columns[1].Width - 35);
larghezzaSpazioTestoPercentuale = tabellaSintesiComponentiAltri.Columns[1].Width - larghezzaBarra;
deltaXBarra = larghezzaBarra + 10;
if (larghezzaSpazioTestoPercentuale < larghezzaMinimaSpazioTestoPercentuale)
{
deltaXBarra = -(tabellaSintesiComponentiAltri.Columns[1].Width - larghezzaMinimaSpazioTestoPercentuale);
larghezzaSpazioTestoPercentuale = larghezzaMinimaSpazioTestoPercentuale;
}
tabellaSintesiComponentiAltri.Cells[1, i].ValueObjectList = new List()
{
new RectanglePDF(20, larghezzaBarra , colore),
new FormattedTextAreaPDF(row["Diversificazione"].ToString()=="0.00"? "0.00" : Helper.FormatDecimal(Convert.ToDecimal(row["Diversificazione"]).ToString(), 2),
0,
larghezzaSpazioTestoPercentuale)
{
DeltaY = 3,
TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left,
TextVerticalAlign = ceTe.DynamicPDF.VAlign.Center,
DeltaX = deltaXBarra,
FontSize = 7
}
};
i++;
}
AddElement(tabellaSintesiComponentiAltri);
//ASSE X
//axisWidth = Helper.GetWidthProportional(100, valoreMassimo, tabellaSintesiComponentiAltri.Columns[1].Width - larghezzaMinimaSpazioTestoPercentuale);
//XAxisDraw(210, 210 + axisWidth);
//ASSE X
axisWidth = Helper.GetWidthProportional(100, valoreMassimo, tabellaSintesiComponentiAltri.Columns[1].Width - larghezzaMinimaSpazioTestoPercentuale);
XAxisDraw(210, Y2TabellaSintesiComponentiAltri, 210 + axisWidth, Y2TabellaSintesiComponentiAltri + 2);
//ASSE Y
AddElement(new LinePDF(EnvironmentFacade.RendererFacade.XLeftLimit + 210 - 1, Y1TabellaSintesiComponentiAltri + 2, EnvironmentFacade.RendererFacade.XLeftLimit + 210 - 1, Y2TabellaSintesiComponentiAltri + 2, 0.8F, new ColorPDF(137, 137, 137)) { AutoIncrementYWritable = false });
}
#endregion
#endregion Tabella Sintesi Componenti altri Istituti
#region Tabella Sintesi Componenti Complessivo
AddElement(new SpacePDF(20));
//AddElement(new FormattedTextAreaPDF(String.Format("Patrimonio Complessivo(€){0} {1}", _asteriscoComplessivo, Helper.FormatCurrency(patrimonioComplessivo.ToString())), EnvironmentFacade.RendererFacade.XLeftLimit + 10) { FontSize = 7, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new FormattedTextAreaPDF(String.Format("Patrimonio Complessivo(€){0}", _asteriscoComplessivo), EnvironmentFacade.RendererFacade.XLeftLimit + 10) { FontSize = 7, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false });
AddElement(new FormattedTextAreaPDF(Helper.FormatCurrency(patrimonioComplessivo), EnvironmentFacade.RendererFacade.XLeftLimit + 220) { FontSize = 7, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new SpacePDF(10));
if (dati.Tables["SintesiComponentiComplessivo"].Rows.Count > 0)
{
#region Definizione e Creazione
var tabellaSintesiComponentiComplessivo = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit, dati.Tables["SintesiComponentiComplessivo"])
{
Style = Style.ConsulenzaUnica,
AlternateRow = false,
ShowSeparationLines = true,
RowHeight = 30,
Footer = false,
HeaderHeight = 30,
HideLastSeparationLine = false,
AdditionalSpaceBetweenHeadersAndTable = 3
};
tabellaSintesiComponentiComplessivo.Columns.Add(new ColumnPDF("Componente", 210, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Componente", "Componenti diversificazione di portafoglio") { HeaderFontSize = 7, FontSize = 7, HeaderPaddingLeft = 6 });
tabellaSintesiComponentiComplessivo.Columns.Add(new ColumnPDF("DiversificazioneObject", 310, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Objectpdf, "Diversificazione", "Diversificazione") { VerticalAlignment = VerticalAlignmentType.Centrato, HeaderFontSize = 7, FontSize = 7, DeltaYContent = 6, HeaderPaddingLeft = 10 });
#endregion
#region Creazione Stacked Bar
i = 0;
list = new List();
list.Add(Convert.ToDouble(dati.Tables["SintesiComponentiComplessivo"].AsEnumerable().Max(x => x["Diversificazione"])));
//valoreMassimo = (float)Helper.Round(list.Max());
valoreMassimo = 100;
larghezzaBarra = 0;
larghezzaSpazioTestoPercentuale = 0;
larghezzaMinimaSpazioTestoPercentuale = 35;
deltaXBarra = 0;
foreach (DataRow row in dati.Tables["SintesiComponentiComplessivo"].Rows)
{
//Verde
var colore = new ColorPDF(124, 163, 73);
//larghezzaBarra = Helper.GetWidthProportional((float)Convert.ToDecimal(row["Diversificazione"]), valoreMassimo, tabellaSintesiComponentiComplessivo.Columns[1].Width - 50);
larghezzaBarra = Helper.GetWidthProportional((float)Convert.ToDecimal(row["Diversificazione"]), valoreMassimo, tabellaSintesiComponentiComplessivo.Columns[1].Width - 35);
larghezzaSpazioTestoPercentuale = tabellaSintesiComponentiComplessivo.Columns[1].Width - larghezzaBarra;
deltaXBarra = larghezzaBarra + 10;
if (larghezzaSpazioTestoPercentuale < larghezzaMinimaSpazioTestoPercentuale)
{
deltaXBarra = -(tabellaSintesiComponentiComplessivo.Columns[3].Width - larghezzaMinimaSpazioTestoPercentuale);
larghezzaSpazioTestoPercentuale = larghezzaMinimaSpazioTestoPercentuale;
}
tabellaSintesiComponentiComplessivo.Cells[1, i].ValueObjectList = new List()
{
new RectanglePDF(20, larghezzaBarra , colore),
new FormattedTextAreaPDF(row["Diversificazione"].ToString()=="0.00"? "0.00" : Helper.FormatDecimal(Convert.ToDecimal(row["Diversificazione"]).ToString(), 2),
0,
larghezzaSpazioTestoPercentuale)
{
DeltaY = 3,
TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left,
TextVerticalAlign = ceTe.DynamicPDF.VAlign.Center,
DeltaX = deltaXBarra,
FontSize = 7
}
};
i++;
}
AddElement(tabellaSintesiComponentiComplessivo);
//ASSE X
axisWidth = Helper.GetWidthProportional(100, valoreMassimo, tabellaSintesiComponentiComplessivo.Columns[1].Width - larghezzaMinimaSpazioTestoPercentuale);
XAxisDraw(210, Y2TabellaSintesiComponentiComplessivo, 210 + axisWidth, Y2TabellaSintesiComponentiComplessivo + 2);
//ASSE Y
AddElement(new LinePDF(EnvironmentFacade.RendererFacade.XLeftLimit + 210 - 1, Y1TabellaSintesiComponentiComplessivo + 2, EnvironmentFacade.RendererFacade.XLeftLimit + 210 - 1, Y2TabellaSintesiComponentiComplessivo + 2, 0.8F, new ColorPDF(137, 137, 137)) { AutoIncrementYWritable = false });
}
#endregion
#endregion Tabella Sintesi Componenti Complessivo
}
#endregion Tabella Sintesi Componenti altri Istituti e Complessivo
#region Nota a pie' pagina
if (_stampaNota)
{
AddElement(new SpacePDF(15));
//AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { Y = 680, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false, FontSize = 7, AbsolutePosition = true });
}
#endregion Nota a pie' pagina
#endregion Sezione Sintesi Componenti
}
else
{
#region Nota a pie' pagina
//if (_stampaNota)
//{
// AddElement(new SpacePDF(15));
// if (_visualizzaAltriIstituti) //Se ci sono anche le righe di Altri istituti e Complessivo la nota va più in basso
// AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { Y = 380, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false, FontSize = 7, AbsolutePosition = true });
// else
// AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { Y = 280, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false, FontSize = 7, AbsolutePosition = true });
//}
#endregion Nota a pie' pagina
}
#region Sezione Dettaglio Componenti
if (_visualizzaDettaglioComponenti)
{
#region Cambio pagina
//if (_stampaNota)
//{
// AddElement(new SpacePDF(15));
// //AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
// AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { Y = 680, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false, FontSize = 7, AbsolutePosition = true });
//}
AddElement(new PagePDF());
#endregion Cambio pagina
#region Titolo e Testo Introduttivo
AddElement(new SpacePDF(20));
string titoloDettaglio = "Dettaglio delle componenti di diversificazione";
AddElement(new FormattedTextAreaPDF(titoloDettaglio, EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 10, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new SpacePDF(20));
string testoIntroDettaglio = string.Empty;
if (_visualizzaAltriIstituti)
testoIntroDettaglio = testi.Rows[0]["testo5"].ToString();
else
testoIntroDettaglio = testi.Rows[0]["testo6"].ToString();
testoIntroDettaglio = Helper.ReplaceVariables(testoIntroDettaglio, EnvironmentFacade.ReportEnvironment);
AddElement(new FormattedTextAreaPDF(testoIntroDettaglio, EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new SpacePDF(20));
#endregion Titolo e Testo Introduttivo
#region Tabella Dettaglio Componenti Fideuram
//AddElement(new FormattedTextAreaPDF(String.Format("Patrimonio Fideuram(€){0}\t{1}", _asteriscoFideuram, Helper.FormatCurrency(patrimonioFideuram.ToString())), EnvironmentFacade.RendererFacade.XLeftLimit + 10) { FontSize = 7, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new FormattedTextAreaPDF(String.Format(datiSeiUnico.FormatBanca("Patrimonio $/Banca/$(€){0}"), _asteriscoFideuram), EnvironmentFacade.RendererFacade.XLeftLimit + 10) { FontSize = 7, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false });
AddElement(new FormattedTextAreaPDF(Helper.FormatCurrency(patrimonioFideuram.ToString()), EnvironmentFacade.RendererFacade.XLeftLimit + 220) { FontSize = 7, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new SpacePDF(10));
//*********************1******************
if (dati.Tables["DettaglioComponentiFideuram"].Rows.Count > 0)
{
#region Definizione e Creazione
var tabellaDettaglioComponentiFideuram = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit, dati.Tables["DettaglioComponentiFideuram"])
{
Style = Style.ConsulenzaUnica,
AlternateRow = false,
ShowSeparationLines = true,
RowHeight = 30,
Footer = false,
HeaderHeight = 30,
HideLastSeparationLine = false,
AdditionalSpaceBetweenHeadersAndTable = 3
};
tabellaDettaglioComponentiFideuram.Columns.Add(new ColumnPDF("Componente", 210, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Componente", "Componenti diversificazione di portafoglio") { HeaderFontSize = 7, FontSize = 7 });
tabellaDettaglioComponentiFideuram.Columns.Add(new ColumnPDF("DiversificazioneObject", 310, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Objectpdf, "Diversificazione", "Diversificazione") { VerticalAlignment = VerticalAlignmentType.Centrato, HeaderFontSize = 7, FontSize = 7, DeltaYContent = 6, HeaderPaddingLeft = 50 });
#endregion
#region Creazione Stacked Bar
i = 0;
list = new List();
list.Add(Convert.ToDouble(dati.Tables["DettaglioComponentiFideuram"].AsEnumerable().Max(x => x["Diversificazione"])));
//valoreMassimo = (float)Helper.Round(list.Max());
valoreMassimo = 100;
larghezzaBarra = 0;
larghezzaSpazioTestoPercentuale = 0;
larghezzaMinimaSpazioTestoPercentuale = 35;
deltaXBarra = 0;
foreach (DataRow row in dati.Tables["DettaglioComponentiFideuram"].Rows)
{
//Arancione
var colore = new ColorPDF(255, 165, 0);
tabellaDettaglioComponentiFideuram.Row[i].BackgroundGray = Convert.ToBoolean(row["IsHeader"].ToString());
tabellaDettaglioComponentiFideuram.Row[i].FontBold = Convert.ToBoolean(row["IsHeader"].ToString());
tabellaDettaglioComponentiFideuram.Row[i].ForceStyleFontBold = Convert.ToBoolean(row["IsHeader"].ToString());
if (!Convert.ToBoolean(row["IsHeader"].ToString()))
tabellaDettaglioComponentiFideuram.Cells[0, i].XContentOffset = 20;
//larghezzaBarra = Helper.GetWidthProportional((float)Convert.ToDecimal(row["Diversificazione"]), valoreMassimo, tabellaDettaglioComponentiFideuram.Columns[1].Width - 50);
larghezzaBarra = Helper.GetWidthProportional((float)Convert.ToDecimal(row["Diversificazione"]), valoreMassimo, tabellaDettaglioComponentiFideuram.Columns[1].Width - 35);
larghezzaSpazioTestoPercentuale = tabellaDettaglioComponentiFideuram.Columns[1].Width - larghezzaBarra;
deltaXBarra = larghezzaBarra + 10;
if (larghezzaSpazioTestoPercentuale < larghezzaMinimaSpazioTestoPercentuale)
{
deltaXBarra = -(tabellaDettaglioComponentiFideuram.Columns[1].Width - larghezzaMinimaSpazioTestoPercentuale);
larghezzaSpazioTestoPercentuale = larghezzaMinimaSpazioTestoPercentuale;
}
tabellaDettaglioComponentiFideuram.Cells[1, i].ValueObjectList = new List()
{
new RectanglePDF(20, larghezzaBarra , colore),
new FormattedTextAreaPDF(row["Diversificazione"].ToString()=="0.00"? "0.00" : Helper.FormatDecimal(Convert.ToDecimal(row["Diversificazione"]).ToString(), 2),
0,
larghezzaSpazioTestoPercentuale)
{
DeltaY = 3,
TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left,
TextVerticalAlign = ceTe.DynamicPDF.VAlign.Center,
DeltaX = deltaXBarra,
FontSize = 7,
FontBold = Convert.ToBoolean(row["IsHeader"].ToString())
}
};
i++;
}
#endregion
AddElement(tabellaDettaglioComponentiFideuram);
//ASSE X
axisWidth = Helper.GetWidthProportional(100, valoreMassimo, tabellaDettaglioComponentiFideuram.Columns[1].Width - larghezzaMinimaSpazioTestoPercentuale);
XAxisDraw(210, Y2TabellaDettaglioComponentiFideuram, 210 + axisWidth, Y2TabellaDettaglioComponentiFideuram + 2);
//ASSE Y
AddElement(new LinePDF(EnvironmentFacade.RendererFacade.XLeftLimit + 210 - 1, Y1TabellaDettaglioComponentiFideuram + 2, EnvironmentFacade.RendererFacade.XLeftLimit + 210 - 1, Y2TabellaDettaglioComponentiFideuram + 2, 0.8F, new ColorPDF(137, 137, 137)) { AutoIncrementYWritable = false });
}
if (_stampaNota)
{
//AddElement(new SpacePDF(15));
//AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { Y = 680, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false, FontSize = 7, AbsolutePosition = true });
}
#endregion Tabella Dettaglio Componenti Fideuram
#region Tabella Dettaglio Componenti altri Istituti e Complessivo
if (_visualizzaAltriIstituti)
{
#region Nota a pie' pagina e cambio pagina
// COMMENTATO ES
//if (_stampaNota)
//{
// //AddElement(new SpacePDF(15));
// //AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
// AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { Y = 680, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false, FontSize = 7, AbsolutePosition = true });
//}
AddElement(new ImagePDF(435, 0.15F, "changepage.png") { Y = 745 - 5, AutoIncrementYWritable = false });
AddElement(new FormattedTextAreaPDF("continua alla pagina successiva", 450, 200) { Y = 745 - 5, AutoIncrementYWritable = false, FontSize = 6, AbsolutePosition = true });
AddElement(new PagePDF());
#endregion Nota a pie' pagina e cambio pagina
#region Tabella Dettaglio Componenti altri Istituti
AddElement(new SpacePDF(2));
AddElement(new ImagePDF(37, 0.15F, "changepage.png") { AutoIncrementYWritable = false });
AddElement(new FormattedTextAreaPDF("continua dalla pagina precedente", 37 + 15, 200) { FontSize = 6, AutoIncrementYWritable = true });
AddElement(new SpacePDF(20));
//AddElement(new FormattedTextAreaPDF(String.Format("Patrimonio altri Istituti(€){0} {1}", _asteriscoAltri, Helper.FormatCurrency(patrimonioAltri.ToString())), EnvironmentFacade.RendererFacade.XLeftLimit + 10) { FontSize = 7, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new FormattedTextAreaPDF(String.Format("Patrimonio altri Istituti(€){0}", _asteriscoAltri), EnvironmentFacade.RendererFacade.XLeftLimit + 10) { FontSize = 7, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false });
AddElement(new FormattedTextAreaPDF(Helper.FormatCurrency(patrimonioAltri.ToString()), EnvironmentFacade.RendererFacade.XLeftLimit + 220) { FontSize = 7, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new SpacePDF(10));
#endregion Tabella Dettaglio Componenti altri Istituti
//*********************2**********************
if (dati.Tables["DettaglioComponentiAltri"].Rows.Count > 0)
{
#region Definizione e Creazione
var tabellaDettaglioComponentiAltri = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit, dati.Tables["DettaglioComponentiAltri"])
{
Style = Style.ConsulenzaUnica,
AlternateRow = false,
ShowSeparationLines = true,
RowHeight = 30,
Footer = false,
HeaderHeight = 30,
HideLastSeparationLine = false,
AdditionalSpaceBetweenHeadersAndTable = 3
};
tabellaDettaglioComponentiAltri.Columns.Add(new ColumnPDF("Componente", 210, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Componente", "Componenti diversificazione di portafoglio") { HeaderFontSize = 7, FontSize = 7 });
tabellaDettaglioComponentiAltri.Columns.Add(new ColumnPDF("DiversificazioneObject", 310, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Objectpdf, "Diversificazione", "Diversificazione") { VerticalAlignment = VerticalAlignmentType.Centrato, HeaderFontSize = 7, FontSize = 7, DeltaYContent = 6, HeaderPaddingLeft = 50 });
#endregion
#region Creazione Stacked Bar
i = 0;
list = new List();
list.Add(Convert.ToDouble(dati.Tables["DettaglioComponentiAltri"].AsEnumerable().Max(x => x["Diversificazione"])));
//valoreMassimo = (float)Helper.Round(list.Max());
valoreMassimo = 100;
larghezzaBarra = 0;
larghezzaSpazioTestoPercentuale = 0;
larghezzaMinimaSpazioTestoPercentuale = 35;
deltaXBarra = 0;
foreach (DataRow row in dati.Tables["DettaglioComponentiAltri"].Rows)
{
//Blu
var colore = new ColorPDF(32, 114, 156);
tabellaDettaglioComponentiAltri.Row[i].BackgroundGray = Convert.ToBoolean(row["IsHeader"].ToString());
tabellaDettaglioComponentiAltri.Row[i].FontBold = Convert.ToBoolean(row["IsHeader"].ToString());
tabellaDettaglioComponentiAltri.Row[i].ForceStyleFontBold = Convert.ToBoolean(row["IsHeader"].ToString());
if (!Convert.ToBoolean(row["IsHeader"].ToString()))
tabellaDettaglioComponentiAltri.Cells[0, i].XContentOffset = 20;
//larghezzaBarra = Helper.GetWidthProportional((float)Convert.ToDecimal(row["Diversificazione"]), valoreMassimo, tabellaDettaglioComponentiAltri.Columns[1].Width - 50);
larghezzaBarra = Helper.GetWidthProportional((float)Convert.ToDecimal(row["Diversificazione"]), valoreMassimo, tabellaDettaglioComponentiAltri.Columns[1].Width - 35);
larghezzaSpazioTestoPercentuale = tabellaDettaglioComponentiAltri.Columns[1].Width - larghezzaBarra;
deltaXBarra = larghezzaBarra + 10;
if (larghezzaSpazioTestoPercentuale < larghezzaMinimaSpazioTestoPercentuale)
{
deltaXBarra = -(tabellaDettaglioComponentiAltri.Columns[3].Width - larghezzaMinimaSpazioTestoPercentuale);
larghezzaSpazioTestoPercentuale = larghezzaMinimaSpazioTestoPercentuale;
}
tabellaDettaglioComponentiAltri.Cells[1, i].ValueObjectList = new List()
{
new RectanglePDF(20, larghezzaBarra , colore),
new FormattedTextAreaPDF(row["Diversificazione"].ToString()=="0.00"? "0.00" : Helper.FormatDecimal(Convert.ToDecimal(row["Diversificazione"]).ToString(), 2),
0,
larghezzaSpazioTestoPercentuale)
{
DeltaY = 3,
TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left,
TextVerticalAlign = ceTe.DynamicPDF.VAlign.Center,
DeltaX = deltaXBarra,
FontSize = 7,
FontBold = Convert.ToBoolean(row["IsHeader"].ToString())
}
};
i++;
}
#endregion
AddElement(tabellaDettaglioComponentiAltri);
//ASSE X
axisWidth = Helper.GetWidthProportional(100, valoreMassimo, tabellaDettaglioComponentiAltri.Columns[1].Width - larghezzaMinimaSpazioTestoPercentuale);
XAxisDraw(210, Y2TabellaDettaglioComponentiAltri, 210 + axisWidth, Y2TabellaDettaglioComponentiAltri + 2);
//ASSE Y
AddElement(new LinePDF(EnvironmentFacade.RendererFacade.XLeftLimit + 210 - 1, Y1TabellaDettaglioComponentiAltri + 2, EnvironmentFacade.RendererFacade.XLeftLimit + 210 - 1, Y2TabellaDettaglioComponentiAltri + 2, 0.8F, new ColorPDF(137, 137, 137)) { AutoIncrementYWritable = false });
}
#region Tabella Dettaglio Componenti Complessivo
#region Nota a pie' pagina e cambio pagina
if (_stampaNota)
{
//AddElement(new SpacePDF(15));
//AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { Y = 680, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false, FontSize = 7, AbsolutePosition = true });
}
AddElement(new ImagePDF(435, 0.15F, "changepage.png") { Y = 745 - 5, AutoIncrementYWritable = false });
AddElement(new FormattedTextAreaPDF("continua alla pagina successiva", 450, 200) { Y = 745 - 5, AutoIncrementYWritable = false, FontSize = 6, AbsolutePosition = true });
AddElement(new PagePDF());
#endregion Nota a pie' pagina e cambio pagina
AddElement(new SpacePDF(2));
AddElement(new ImagePDF(37, 0.15F, "changepage.png") { AutoIncrementYWritable = false });
AddElement(new FormattedTextAreaPDF("continua dalla pagina precedente", 37 + 15, 200) { FontSize = 6, AutoIncrementYWritable = true });
AddElement(new SpacePDF(20));
//AddElement(new FormattedTextAreaPDF(String.Format("Patrimonio Complessivo(€){0} {1}", _asteriscoComplessivo, Helper.FormatCurrency(patrimonioComplessivo.ToString())), EnvironmentFacade.RendererFacade.XLeftLimit + 10) { FontSize = 7, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new FormattedTextAreaPDF(String.Format("Patrimonio Complessivo(€){0}", _asteriscoComplessivo), EnvironmentFacade.RendererFacade.XLeftLimit + 10) { FontSize = 7, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false });
AddElement(new FormattedTextAreaPDF(Helper.FormatCurrency(patrimonioComplessivo.ToString()), EnvironmentFacade.RendererFacade.XLeftLimit + 220) { FontSize = 7, FontBold = true, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new SpacePDF(10));
//*********************3***********************
if (dati.Tables["DettaglioComponentiComplessivo"].Rows.Count > 0)
{
#region Definizione e Creazione
var tabellaDettaglioComponentiComplessivo = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit, dati.Tables["DettaglioComponentiComplessivo"])
{
Style = Style.ConsulenzaUnica,
AlternateRow = false,
ShowSeparationLines = true,
RowHeight = 30,
Footer = false,
HeaderHeight = 30,
HideLastSeparationLine = false,
AdditionalSpaceBetweenHeadersAndTable = 3
};
tabellaDettaglioComponentiComplessivo.Columns.Add(new ColumnPDF("Componente", 210, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Componente", "Componenti diversificazione di portafoglio") { HeaderFontSize = 7, FontSize = 7 });
tabellaDettaglioComponentiComplessivo.Columns.Add(new ColumnPDF("DiversificazioneObject", 310, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Objectpdf, "Diversificazione", "Diversificazione") { VerticalAlignment = VerticalAlignmentType.Centrato, HeaderFontSize = 7, FontSize = 7, DeltaYContent = 6, HeaderPaddingLeft = 50 });
#endregion
#region Creazione Stacked Bar
i = 0;
list = new List();
list.Add(Convert.ToDouble(dati.Tables["DettaglioComponentiComplessivo"].AsEnumerable().Max(x => x["Diversificazione"])));
//valoreMassimo = (float)Helper.Round(list.Max());
valoreMassimo = 100;
larghezzaBarra = 0;
larghezzaSpazioTestoPercentuale = 0;
larghezzaMinimaSpazioTestoPercentuale = 35;
deltaXBarra = 0;
foreach (DataRow row in dati.Tables["DettaglioComponentiComplessivo"].Rows)
{
//Verde
var colore = new ColorPDF(124, 163, 73);
tabellaDettaglioComponentiComplessivo.Row[i].BackgroundGray = Convert.ToBoolean(row["IsHeader"].ToString());
tabellaDettaglioComponentiComplessivo.Row[i].FontBold = Convert.ToBoolean(row["IsHeader"].ToString());
tabellaDettaglioComponentiComplessivo.Row[i].ForceStyleFontBold = Convert.ToBoolean(row["IsHeader"].ToString());
if (!Convert.ToBoolean(row["IsHeader"].ToString()))
tabellaDettaglioComponentiComplessivo.Cells[0, i].XContentOffset = 20;
//larghezzaBarra = Helper.GetWidthProportional((float)Convert.ToDecimal(row["Diversificazione"]), valoreMassimo, tabellaDettaglioComponentiComplessivo.Columns[1].Width - 50);
larghezzaBarra = Helper.GetWidthProportional((float)Convert.ToDecimal(row["Diversificazione"]), valoreMassimo, tabellaDettaglioComponentiComplessivo.Columns[1].Width - 35);
larghezzaSpazioTestoPercentuale = tabellaDettaglioComponentiComplessivo.Columns[1].Width - larghezzaBarra;
deltaXBarra = larghezzaBarra + 10;
if (larghezzaSpazioTestoPercentuale < larghezzaMinimaSpazioTestoPercentuale)
{
deltaXBarra = -(tabellaDettaglioComponentiComplessivo.Columns[3].Width - larghezzaMinimaSpazioTestoPercentuale);
larghezzaSpazioTestoPercentuale = larghezzaMinimaSpazioTestoPercentuale;
}
tabellaDettaglioComponentiComplessivo.Cells[1, i].ValueObjectList = new List()
{
new RectanglePDF(20, larghezzaBarra , colore),
new FormattedTextAreaPDF(row["Diversificazione"].ToString()=="0.00"? "0.00" : Helper.FormatDecimal(Convert.ToDecimal(row["Diversificazione"]).ToString(), 2),
0,
larghezzaSpazioTestoPercentuale)
{
DeltaY = 3,
TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left,
TextVerticalAlign = ceTe.DynamicPDF.VAlign.Center,
DeltaX = deltaXBarra,
FontSize = 7,
FontBold = Convert.ToBoolean(row["IsHeader"].ToString())
}
};
i++;
}
#endregion
AddElement(tabellaDettaglioComponentiComplessivo);
//ASSE X
axisWidth = Helper.GetWidthProportional(100, valoreMassimo, tabellaDettaglioComponentiComplessivo.Columns[1].Width - larghezzaMinimaSpazioTestoPercentuale);
XAxisDraw(210, Y2TabellaDettaglioComponentiComplessivo, 210 + axisWidth, Y2TabellaDettaglioComponentiComplessivo + 2);
//ASSE Y
AddElement(new LinePDF(EnvironmentFacade.RendererFacade.XLeftLimit + 210 - 1, Y1TabellaDettaglioComponentiComplessivo + 2, EnvironmentFacade.RendererFacade.XLeftLimit + 210 - 1, Y2TabellaDettaglioComponentiComplessivo + 2, 0.8F, new ColorPDF(137, 137, 137)) { AutoIncrementYWritable = false });
}
if (_stampaNota)
{
//AddElement(new SpacePDF(15));
//AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { Y = 680, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false, FontSize = 7, AbsolutePosition = true });
}
#endregion Tabella Dettaglio Componenti Complessivo
}
}
#endregion Tabella Dettaglio Componenti altri Istituti e Complessivo
#endregion Sezione Dettaglio Componenti
#region Nota a pie' pagina
// COMMENTATO ES
//if (_stampaNota)
//{
// //AddElement(new SpacePDF(15));
// //AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
// AddElement(new FormattedTextAreaPDF(string.Format("{0}", nota), EnvironmentFacade.RendererFacade.XLeftLimit) { Y = 680, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, AutoIncrementYWritable = false, FontSize = 7, AbsolutePosition = true });
//}
#endregion Nota a pie' pagina
}
///
/// Recupera i dati necessari alla Section restituendo un DataTable.
///
///
protected sealed override DataTable GetDataTable()
{
return null;
}
///
/// Recupera i dati necessari alla Section restituendo un DataSet.
///
///
protected sealed override DataSet GetDataSet()
{
var rete = EnvironmentFacade.ReportEnvironment.PrivateBanker.CodiceRete;
var ds = new DataSet();
var rischio = datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito;
//Adriano 20180125 Per eliminare la gestione profilazione per i nuclei (non più gestita nel WS)
int profilo;
decimal varMassimoProfiloCliente;
if (EnvironmentFacade.ReportEnvironment.ReportId == 6)
{
profilo = 5;
varMassimoProfiloCliente = rischio.soglieMassime.FirstOrDefault(o => o.key == profilo).value.varMax;
}
else
{
profilo = rischio.profileId;
varMassimoProfiloCliente = rischio.soglieMassime.FirstOrDefault(o => o.key == profilo).value.varMax;
}
//var profilo = rischio.profileId;
//var varMassimoProfiloCliente = rischio.soglieMassime.FirstOrDefault(o => o.key == profilo).value.varMax;
//Adriano 20180125
var totCasa = datiSeiUnico.rischioUnit().rischio.rischioCreditoConcetrazione.totaliFideuram;
var totTerzi = datiSeiUnico.rischioUnit().rischio.rischioCreditoConcetrazione.totaliAltriIstituti;
var totalePatrimonioCasa = totCasa.risorseFinanziarie + totCasa.partiteViaggianti;
var totalePatrimonioTerzi = totTerzi.risorseFinanziarie;
var totalePatrimonioFinanziario = totCasa.risorseFinanziarie + totCasa.partiteViaggianti + totTerzi.risorseFinanziarie;
var rischioFideuram = rischio.bancaFideuram;
var rischioAltriIstituti = rischio.altriIstituti;
var rischioComplessivo = rischio.totale;
_presenzaNotaEccessivaAdeguatezza = rischio.eccessivamenteAdeguato;
#region DataTable Portafoglio
ds.Tables.Add(new DataTable("Portafoglio"));
ds.Tables["Portafoglio"].Columns.Add(new DataColumn("Patrimonio", typeof(string)));
ds.Tables["Portafoglio"].Columns.Add(new DataColumn("ControvaloreAttuale", typeof(decimal)));
ds.Tables["Portafoglio"].Columns.Add(new DataColumn("GradoCopertura", typeof(decimal)));
ds.Tables["Portafoglio"].Columns.Add(new DataColumn("Diversificazione", typeof(decimal)));
ds.Tables["Portafoglio"].Columns.Add(new DataColumn("Red", typeof(int)));
ds.Tables["Portafoglio"].Columns.Add(new DataColumn("Green", typeof(int)));
ds.Tables["Portafoglio"].Columns.Add(new DataColumn("Blue", typeof(int)));
//ds.Tables["Portafoglio"].Rows.Add("Patrimonio Fideuram", 437313.39, 100, 100, 237, 125, 49);
// ES 20180517
if (totalePatrimonioCasa == 0)
ds.Tables["Portafoglio"].Rows.Add(datiSeiUnico.FormatBanca("Patrimonio $/Banca/$"), totalePatrimonioCasa, rischioFideuram.stat.copertura, 0, 255, 165, 0);
else
ds.Tables["Portafoglio"].Rows.Add(datiSeiUnico.FormatBanca("Patrimonio $/Banca/$"), totalePatrimonioCasa, rischioFideuram.stat.copertura, datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneCasa.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("BENEFICIO")).value, 255, 165, 0);
// Fine ES
//ds.Tables["Portafoglio"].Rows.Add("Patrimonio altri Istituti", 1827156.37, 77.98, 58, 68, 114, 196);
if (_visualizzaAltriIstituti)
{
ds.Tables["Portafoglio"].Rows.Add("Patrimonio altri Istituti", totalePatrimonioTerzi,
rischioAltriIstituti == null ?
0 : rischioAltriIstituti.stat.copertura,
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("BENEFICIO")).value
: 0, 32, 114, 156);
//ds.Tables["Portafoglio"].Rows.Add("Patrimonio Complessivo", 2264469.76, 83.79, 64, 112, 173, 71);
ds.Tables["Portafoglio"].Rows.Add("Patrimonio Complessivo", totalePatrimonioFinanziario,
rischioComplessivo == null ?
0 : rischioComplessivo.stat.copertura,
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("BENEFICIO")).value
: 0, 124, 163, 73);
}
else
{
ds.Tables["Portafoglio"].Rows.Add("Patrimonio altri Istituti", totalePatrimonioTerzi, rischioAltriIstituti == null ? 0 : rischioAltriIstituti.stat.copertura, 0, 32, 114, 156);
//ds.Tables["Portafoglio"].Rows.Add("Patrimonio Complessivo", 2264469.76, 83.79, 64, 112, 173, 71);
ds.Tables["Portafoglio"].Rows.Add("Patrimonio Complessivo", totalePatrimonioFinanziario, rischioComplessivo == null ? 0 : rischioComplessivo.stat.copertura, 0, 124, 163, 73);
}
#endregion DataTable Portafoglio
#region DataTable SintesiComponentiFideuram
ds.Tables.Add(new DataTable("SintesiComponentiFideuram"));
ds.Tables["SintesiComponentiFideuram"].Columns.Add("Componente", typeof(string));
ds.Tables["SintesiComponentiFideuram"].Columns.Add("Diversificazione", typeof(decimal));
// ES 20180517
if (totalePatrimonioCasa == 0)
{
ds.Tables["SintesiComponentiFideuram"].Rows.Add("Diversificazione del rischio mercato", 0);
ds.Tables["SintesiComponentiFideuram"].Rows.Add("Diversificazione del rischio credito", 0);
ds.Tables["SintesiComponentiFideuram"].Rows.Add("Diversificazione del rischio concentrazione", 0);
}
else
{
//ds.Tables["SintesiComponentiFideuram"].Rows.Add("Diversificazione del rischio mercato", 100);
ds.Tables["SintesiComponentiFideuram"].Rows.Add("Diversificazione del rischio mercato", datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneCasa.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOMERCATO")).value);
//ds.Tables["SintesiComponentiFideuram"].Rows.Add("Diversificazione del rischio credito", 60);
ds.Tables["SintesiComponentiFideuram"].Rows.Add("Diversificazione del rischio credito", datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneCasa.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOCREDITO")).value);
//ds.Tables["SintesiComponentiFideuram"].Rows.Add("Diversificazione del rischio concentrazione", 30);
ds.Tables["SintesiComponentiFideuram"].Rows.Add("Diversificazione del rischio concentrazione", datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneCasa.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONECONCENTRAZIONE")).value);
}
// Fine ES
#endregion DataTable SintesiComponentiFideuram
#region DataTable SintesiComponentiAltri
ds.Tables.Add(new DataTable("SintesiComponentiAltri"));
ds.Tables["SintesiComponentiAltri"].Columns.Add("Componente", typeof(string));
ds.Tables["SintesiComponentiAltri"].Columns.Add("Diversificazione", typeof(decimal));
if (_visualizzaAltriIstituti)
{
//ds.Tables["SintesiComponentiAltri"].Rows.Add("Diversificazione del rischio mercato", 60);
ds.Tables["SintesiComponentiAltri"].Rows.Add("Diversificazione del rischio mercato",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOMERCATO")).value
: 0);
//ds.Tables["SintesiComponentiAltri"].Rows.Add("Diversificazione del rischio credito", 30);
ds.Tables["SintesiComponentiAltri"].Rows.Add("Diversificazione del rischio credito",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOCREDITO")).value
: 0);
//ds.Tables["SintesiComponentiAltri"].Rows.Add("Diversificazione del rischio concentrazione", 10);
ds.Tables["SintesiComponentiAltri"].Rows.Add("Diversificazione del rischio concentrazione",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONECONCENTRAZIONE")).value
: 0);
}
#endregion DataTable SintesiComponentiAltri
#region DataTable SintesiComponentiComplessivo
ds.Tables.Add(new DataTable("SintesiComponentiComplessivo"));
ds.Tables["SintesiComponentiComplessivo"].Columns.Add("Componente", typeof(string));
ds.Tables["SintesiComponentiComplessivo"].Columns.Add("Diversificazione", typeof(decimal));
if (_visualizzaAltriIstituti)
{
//ds.Tables["SintesiComponentiComplessivo"].Rows.Add("Diversificazione del rischio mercato", 73);
ds.Tables["SintesiComponentiComplessivo"].Rows.Add("Diversificazione del rischio mercato",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOMERCATO")).value
: 0);
//ds.Tables["SintesiComponentiComplessivo"].Rows.Add("Diversificazione del rischio credito", 55);
ds.Tables["SintesiComponentiComplessivo"].Rows.Add("Diversificazione del rischio credito",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOCREDITO")).value
: 0);
//ds.Tables["SintesiComponentiComplessivo"].Rows.Add("Diversificazione del rischio concentrazione", 24);
ds.Tables["SintesiComponentiComplessivo"].Rows.Add("Diversificazione del rischio concentrazione",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONECONCENTRAZIONE")).value
: 0);
}
#endregion DataTable SintesiComponentiComplessivo
#region DataTable DettaglioComponentiFideuram
ds.Tables.Add(new DataTable("DettaglioComponentiFideuram"));
ds.Tables["DettaglioComponentiFideuram"].Columns.Add("Componente", typeof(string));
ds.Tables["DettaglioComponentiFideuram"].Columns.Add("Diversificazione", typeof(decimal));
ds.Tables["DettaglioComponentiFideuram"].Columns.Add("IsHeader", typeof(bool));
if (totalePatrimonioCasa == 0)
{
ds.Tables["DettaglioComponentiFideuram"].Rows.Add("Diversificazione del rischio mercato", 0, true);
//ds.Tables["DettaglioComponentiFideuram"].Rows.Add("breve periodo", 0, false);
//ds.Tables["DettaglioComponentiFideuram"].Rows.Add("lungo periodo", 0, false);
ds.Tables["DettaglioComponentiFideuram"].Rows.Add("Diversificazione del rischio credito", 0, true);
ds.Tables["DettaglioComponentiFideuram"].Rows.Add("risparmio gestito", 0, false);
ds.Tables["DettaglioComponentiFideuram"].Rows.Add("risparmio amministrato", 0, false);
ds.Tables["DettaglioComponentiFideuram"].Rows.Add("Diversificazione del rischio concentrazione", 0, true);
ds.Tables["DettaglioComponentiFideuram"].Rows.Add("case di investimento", 0, false);
ds.Tables["DettaglioComponentiFideuram"].Rows.Add("numerosità titoli", 0, false);
}
else
{
//ds.Tables["DettaglioComponentiFideuram"].Rows.Add("Diversificazione del rischio mercato", 90, true);
ds.Tables["DettaglioComponentiFideuram"].Rows.Add("Diversificazione del rischio mercato", datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneCasa.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOMERCATO")).value, true);
//ds.Tables["DettaglioComponentiFideuram"].Rows.Add("breve periodo", 86, false);
//ds.Tables["DettaglioComponentiFideuram"].Rows.Add("breve periodo", datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneCasa.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOMERCATOBREVEPERIODO")).value, false);
//ds.Tables["DettaglioComponentiFideuram"].Rows.Add("lungo periodo", 95, false);
//ds.Tables["DettaglioComponentiFideuram"].Rows.Add("lungo periodo", datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneCasa.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOMERCATOLUNGOPERIODO")).value, false);
//ds.Tables["DettaglioComponentiFideuram"].Rows.Add("Diversificazione del rischio credito", 60, true);
ds.Tables["DettaglioComponentiFideuram"].Rows.Add("Diversificazione del rischio credito", datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneCasa.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOCREDITO")).value, true);
//ds.Tables["DettaglioComponentiFideuram"].Rows.Add("risparmio gestito", 100, false);
ds.Tables["DettaglioComponentiFideuram"].Rows.Add("risparmio gestito", datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneCasa.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOCREDITOGESTITO")).value, false);
//ds.Tables["DettaglioComponentiFideuram"].Rows.Add("risparmio amministrato", 20, false);
ds.Tables["DettaglioComponentiFideuram"].Rows.Add("risparmio amministrato", datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneCasa.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOCREDITOAMMINISTRATI")).value, false);
//ds.Tables["DettaglioComponentiFideuram"].Rows.Add("Diversificazione del rischio concentrazione", 30, true);
ds.Tables["DettaglioComponentiFideuram"].Rows.Add("Diversificazione del rischio concentrazione", datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneCasa.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONECONCENTRAZIONE")).value, true);
//ds.Tables["DettaglioComponentiFideuram"].Rows.Add("case di investimento", 40, false);
ds.Tables["DettaglioComponentiFideuram"].Rows.Add("case di investimento", datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneCasa.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONECASEINVESTIMENTO")).value, false);
//ds.Tables["DettaglioComponentiFideuram"].Rows.Add("numerosità titoli", 20, false);
ds.Tables["DettaglioComponentiFideuram"].Rows.Add("numerosità titoli", datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneCasa.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONENUMEROTITOLI")).value, false);
}
#endregion DataTable DettaglioComponentiFideuram
#region DataTable DettaglioComponentiAltri
ds.Tables.Add(new DataTable("DettaglioComponentiAltri"));
ds.Tables["DettaglioComponentiAltri"].Columns.Add("Componente", typeof(string));
ds.Tables["DettaglioComponentiAltri"].Columns.Add("Diversificazione", typeof(decimal));
ds.Tables["DettaglioComponentiAltri"].Columns.Add("IsHeader", typeof(bool));
if (_visualizzaAltriIstituti)
{
//ds.Tables["DettaglioComponentiAltri"].Rows.Add("Diversificazione del rischio mercato", 60, true);
ds.Tables["DettaglioComponentiAltri"].Rows.Add("Diversificazione del rischio mercato",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOMERCATO")).value
: 0, true);
////ds.Tables["DettaglioComponentiAltri"].Rows.Add("breve periodo", 57, false);
//ds.Tables["DettaglioComponentiAltri"].Rows.Add("breve periodo",
// datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.Count() > 0 ?
// datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOMERCATOBREVEPERIODO")).value
// : 0, false);
////ds.Tables["DettaglioComponentiAltri"].Rows.Add("lungo periodo", 63, false);
//ds.Tables["DettaglioComponentiAltri"].Rows.Add("lungo periodo",
// datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.Count() > 0 ?
// datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOMERCATOLUNGOPERIODO")).value
// : 0, false);
//ds.Tables["DettaglioComponentiAltri"].Rows.Add("Diversificazione del rischio credito", 30, true);
ds.Tables["DettaglioComponentiAltri"].Rows.Add("Diversificazione del rischio credito",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOCREDITO")).value
: 0, true);
//ds.Tables["DettaglioComponentiAltri"].Rows.Add("risparmio gestito", 38, false);
ds.Tables["DettaglioComponentiAltri"].Rows.Add("risparmio gestito",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOCREDITOGESTITO")).value
: 0, false);
//ds.Tables["DettaglioComponentiAltri"].Rows.Add("risparmio amministrato", 11, false);
ds.Tables["DettaglioComponentiAltri"].Rows.Add("risparmio amministrato",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOCREDITOAMMINISTRATI")).value
: 0, false);
//ds.Tables["DettaglioComponentiAltri"].Rows.Add("Diversificazione del rischio concentrazione", 10, true);
ds.Tables["DettaglioComponentiAltri"].Rows.Add("Diversificazione del rischio concentrazione",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONECONCENTRAZIONE")).value
: 0, true);
//ds.Tables["DettaglioComponentiAltri"].Rows.Add("case di investimento", 15, false);
ds.Tables["DettaglioComponentiAltri"].Rows.Add("case di investimento",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONECASEINVESTIMENTO")).value
: 0, false);
//ds.Tables["DettaglioComponentiAltri"].Rows.Add("numerosità titoli", 5, false);
ds.Tables["DettaglioComponentiAltri"].Rows.Add("numerosità titoli",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneTerzi.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONENUMEROTITOLI")).value
: 0, false);
}
#endregion DataTable DettaglioComponentiAltri
#region DataTable DettaglioComponentiComplessivo
ds.Tables.Add(new DataTable("DettaglioComponentiComplessivo"));
ds.Tables["DettaglioComponentiComplessivo"].Columns.Add("Componente", typeof(string));
ds.Tables["DettaglioComponentiComplessivo"].Columns.Add("Diversificazione", typeof(decimal));
ds.Tables["DettaglioComponentiComplessivo"].Columns.Add("IsHeader", typeof(bool));
if (_visualizzaAltriIstituti)
{
//ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("Diversificazione del rischio mercato", 73, true);
ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("Diversificazione del rischio mercato",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOMERCATO")).value
: 0, true);
////ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("breve periodo", 69, false);
//ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("breve periodo",
// datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.Count() > 0 ?
// datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOMERCATOBREVEPERIODO")).value
// : 0, false);
////ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("lungo periodo", 77, false);
//ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("lungo periodo",
// datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.Count() > 0 ?
// datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOMERCATOLUNGOPERIODO")).value
// : 0, false);
//ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("Diversificazione del rischio credito", 55, true);
ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("Diversificazione del rischio credito",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOCREDITO")).value
: 0, true);
//ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("risparmio gestito", 78, false);
ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("risparmio gestito",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOCREDITOGESTITO")).value
: 0, false);
//ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("risparmio amministrato", 16, false);
ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("risparmio amministrato",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONERISCHIOCREDITOAMMINISTRATI")).value
: 0, false);
//ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("Diversificazione del rischio concentrazione", 24, true);
ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("Diversificazione del rischio concentrazione",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONECONCENTRAZIONE")).value
: 0, true);
//ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("case di investimento", 18, false);
ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("case di investimento",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONECASEINVESTIMENTO")).value
: 0, false);
//ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("numerosità titoli", 6, false);
ds.Tables["DettaglioComponentiComplessivo"].Rows.Add("numerosità titoli",
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.Count() > 0 ?
datiSeiUnico.rischioUnit().rischio.rischioMercatoCredito.diversicazioneComplessivo.beneficio.FirstOrDefault(o => o.key.ToUpper().Equals("DIVERSIFICAZIONENUMEROTITOLI")).value
: 0, false);
}
#endregion DataTable DettaglioComponentiComplessivo
return ds;
}
///
/// Recupera la nota dinamica
///
///
///
public virtual string GetNote()
{
string nota = "";
string token = "";
var pianificazioneVerticale = datiSeiUnico.pianificazioneUnit().pianificazioneVerticale;
decimal CCN_CASA = pianificazioneVerticale.contoCorrenteNegativo; //cc negativi del patrimonio casa
decimal GPELIGOFONDI_CASA = pianificazioneVerticale.liqEligoFondiNeg; // liquidità sottostante la GP Eligo Fondi del patrimonio casa
decimal GPELIGTITOLI_CASA = pianificazioneVerticale.liqEligoTitoliNeg; //liquidità sottostante la GP Eligo Titoli del patrimonio casa
// 20181009 AC
decimal TUOFOGLIO_CASA = pianificazioneVerticale.liqFogliNeg; // liquidità sottostante Il Mio Foglio del patrimonio casa
//--20181009 AC
decimal CCN_TERZI = datiSeiUnico.patrimonioUnit().patrimonioTerzi.patrimonioTerziBean.contoCorrentiNegativi;
//**************************************SIMULAZIONE******************************************************
//CCN_CASA = 0;
//GPELIGOFONDI_CASA = -500;
//GPELIGTITOLI_CASA = -1500;
//TUOFOGLIO_CASA = -2400;
//CCN_TERZI = -2000;
//**************************************FINE SIMULAZIONE*************************************************
// 20181009 AC
//_presenzaNotaPatrimonioCasa = CCN_CASA != 0 || GPELIGOFONDI_CASA != 0 || GPELIGTITOLI_CASA != 0;
_presenzaNotaPatrimonioCasa = CCN_CASA != 0 || GPELIGOFONDI_CASA != 0 || GPELIGTITOLI_CASA != 0 || TUOFOGLIO_CASA != 0;
//--20181009 AC
_presenzaNotaPatrimonioTerzi = CCN_TERZI != 0 && _visualizzaAltriIstituti;
decimal GC = 100;
decimal OC_CASA = 0;//patrimonioCasa.totaliPatrimonio.partiteViaggianti; //Operazioni in corso del patrimonio casa
decimal CC_CASA = 0;// patrimonioCasa.totaliPatrimonio.contoCorrentePositivo; //cc positivo del patrimonio casa
decimal CC_TERZI = 0;// patrimonioTerzi.totaliPatrimonio.contoCorrentePositivo; //cc positivo del patrimonio terzi
decimal PNR_CASA = 0; //Patrimonio non rappresentabile per macroassetclass del patrimonio casa
decimal PNR_TERZI = 0;
// 20181009 AC
//if (CCN_CASA != 0 || GPELIGOFONDI_CASA != 0 || GPELIGTITOLI_CASA != 0 || CCN_TERZI != 0)
if (CCN_CASA != 0 || GPELIGOFONDI_CASA != 0 || GPELIGTITOLI_CASA != 0 || CCN_TERZI != 0 || TUOFOGLIO_CASA != 0)
//--20181009 AC
{
nota += token + "Il controvalore";
token = " ";
if (CCN_CASA != 0 || GPELIGOFONDI_CASA != 0 || GPELIGTITOLI_CASA != 0 || TUOFOGLIO_CASA != 0)
{
nota += token + "del patrimonio $/Banca/$ esclude il saldo negativo";
if (CCN_CASA != 0)
{
nota += token + datiSeiUnico.FormatDecimal("dei conti correnti ({0} €)", CCN_CASA);
token = (GPELIGOFONDI_CASA != 0 || GPELIGTITOLI_CASA != 0) ? ", " : "";
}
// 20181009 AC
if (TUOFOGLIO_CASA != 0)
{
nota += token + datiSeiUnico.FormatDecimal("della liquidità sottostante Il Mio Foglio ({0} €)", TUOFOGLIO_CASA);
token = (TUOFOGLIO_CASA != 0) ? ", " : "";
}
//--20181009 AC
if (GPELIGOFONDI_CASA != 0)
{
nota += token + datiSeiUnico.FormatDecimal("della liquidità sottostante la GP Eligo Fondi ({0} €)", GPELIGOFONDI_CASA);
token = (GPELIGTITOLI_CASA != 0) ? ", " : "";
}
if (GPELIGTITOLI_CASA != 0)
{
nota += token + datiSeiUnico.FormatDecimal("della liquidità sottostante la GP Eligo Titoli ({0} €)", GPELIGTITOLI_CASA);
}
token = ". ";
}
if (CCN_TERZI != 0 && _visualizzaAltriIstituti)
{
nota += token + datiSeiUnico.FormatDecimal(" Il controvalore del patrimonio altri Istituti esclude il saldo negativo dei conti correnti ({0} €)", CCN_TERZI);
}
}
if (GC < 100)
{
nota += token + datiSeiUnico.FormatDecimal("Grado di copertura (%) della rappresentazione grafica per macro asset class pari a {0}", GC);
token = ": ";
if (PNR_CASA != 0 || CC_CASA != 0 || OC_CASA != 0 || PNR_TERZI != 0 || CC_TERZI != 0)
{
nota += token + "non sono considerati";
token = " ";
if (PNR_CASA != 0 || CC_CASA != 0 || OC_CASA != 0)
{
if (PNR_CASA != 0)
{
nota += token + datiSeiUnico.FormatDecimal("i prodotti non rappresentabili ({0} €)", PNR_CASA);
token = ", ";
}
if (CC_CASA != 0)
{
nota += token + datiSeiUnico.FormatDecimal("i conti correnti ({0} €)", CC_CASA);
token = ", ";
}
if (OC_CASA != 0)
{
nota += token + datiSeiUnico.FormatDecimal("gli importi relativi alle operazioni in corso ({0} €)", OC_CASA);
token = ", ";
}
token = " ";
nota += token + "del patrimonio $/Banca/$";
token = ", ";
}
if ((PNR_TERZI != 0 || CC_TERZI != 0) && _visualizzaAltriIstituti)
{
if (PNR_TERZI != 0)
{
nota += token + datiSeiUnico.FormatDecimal("i prodotti non rappresentabili ({0} €)", PNR_TERZI);
token = ", ";
}
if (CC_TERZI != 0)
{
nota += token + datiSeiUnico.FormatDecimal("i conti correnti ({0} €)", CC_TERZI);
token = ", ";
}
token = " ";
nota += token + "del patrimonio Altri Istituti";
token = ", ";
}
}
}
nota += ".";
nota = !nota.Equals("") ? "(*) " + nota : nota;
return datiSeiUnico.FormatBanca(nota);
}
public virtual string getNotaCopertura5RMRC() //40.5 copertura rischio mercato var e rischio credito
{
var RM = false;
var RC = false;
try
{
var copertura = Convert.ToDecimal(datiSeiUnico.rischioUnit().adeguatezza.adeguatezzaTopBean.listaAdeguatezza.AsEnumerable().FirstOrDefault(o => o.id == "RM").copertura.Replace(".", ","));
RM = copertura > 0 && copertura < 90;
}
catch { RM = false; }
try
{
var copertura = Convert.ToDecimal(datiSeiUnico.rischioUnit().adeguatezza.adeguatezzaTopBean.listaAdeguatezza.AsEnumerable().FirstOrDefault(o => o.id == "RC").copertura.Replace(".", ","));
RC = copertura > 0 && copertura < 90;
}
catch { RC = false; }
string nota = "";
if (RM || RC)
{
nota += "Il patrimonio che lei detiene presso $/Banca/$ risulta non adeguato al suo profilo finanziario in quanto alcuni prodotti non sono coperti in termini di "
+ (RM ? RC ? "Rischio Mercato (VaR) e di Rischio Credito" : "Rischio Mercato (VaR)" : RC ? "Rischio Credito" : "") +
", determinando un grado di copertura inferiore a 90%: in questo caso, a prescindere dai singoli indicatori di rischio, il patrimonio $/Banca/$ viene considerato sempre come non adeguato.";
}
return datiSeiUnico.FormatBanca(nota);
}
public virtual bool presenzaGrafico()
{
return GetOption().Valore;
}
private void XAxisDraw(float x1, float x2)
{
AddElement(new LinePDF(EnvironmentFacade.RendererFacade.XLeftLimit + x1 - 1, EnvironmentFacade.RendererFacade.XLeftLimit + x2 + 1, 0.8F, new ColorPDF(137, 137, 137)) { AutoIncrementYWritable = false });
var incr = (x2 - x1) / 5;
float currentX = EnvironmentFacade.RendererFacade.XLeftLimit + x1;
for (int i = 0; i <= 100; i += 20)
{
AddElement(new FormattedTextAreaPDF(i.ToString(), currentX, 20) { FontSize = 6, AutoIncrementYWritable = false });
currentX += incr;
}
}
private void XAxisDraw(float x1, float y1, float x2, float y2)
{
AddElement(new LinePDF(EnvironmentFacade.RendererFacade.XLeftLimit + x1 - 1, EnvironmentFacade.RendererFacade.XLeftLimit + x2 + 1, 0.8F, new ColorPDF(137, 137, 137)) { AutoIncrementYWritable = false });
var incr = (x2 - x1) / 5;
float currentX = EnvironmentFacade.RendererFacade.XLeftLimit + x1;
for (int i = 0; i <= 100; i += 20)
{
//currentX - 3 serve a centrare la label rispetto al trattino
AddElement(new FormattedTextAreaPDF(i.ToString(), currentX - 3, 20) { FontSize = 6, AutoIncrementYWritable = false, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Left });
XAxisLabelLineDraw(currentX, y1, currentX, y2);
currentX += incr;
}
}
private void XAxisLabelLineDraw(float x1, float y1, float x2, float y2)
{
float leftShift = 0;
AddElement(new LinePDF(x1 + leftShift, y1, x2 + leftShift, y2, 0.8F, new ColorPDF(137, 137, 137)) { AutoIncrementYWritable = false });
}
}
}