753 lines
46 KiB
C#
753 lines
46 KiB
C#
using System;
|
|
using Consulenza.ReportWriter.Business;
|
|
using Consulenza.ReportWriter.Business.OBJ_PDF;
|
|
using System.Data;
|
|
using Consulenza.ReportCommon;
|
|
using System.Linq;
|
|
using System.Collections.Generic;
|
|
using Consulenza.ReportWriter.Business.Entity;
|
|
using Consulenza.ReportWriter.Business.CUSTOM_PDF.ConsulenzaUnica;
|
|
|
|
namespace Consulenza.ReportWriter.Manager.Section.Unica
|
|
{
|
|
/// <summary>
|
|
/// S65.PropostaProdottiNonRappresentabili idSezione = 108
|
|
/// </summary>
|
|
public class S65 : Entity.Section
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public S65(EnvironmentFacade environmentFacade, int idSection)
|
|
: base(environmentFacade, idSection)
|
|
{
|
|
try
|
|
{
|
|
if (!datiSeiUnico.isVincolo("prodottiCasa_nonrappPro"))
|
|
Draw();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
SectionLogger.Write("S65", ex.Message, SectionLoggerMessageLevel.E, EnvironmentFacade.ReportEnvironment);
|
|
}
|
|
}
|
|
|
|
protected override sealed void Draw()
|
|
{
|
|
//AddElement(new SpacePDF(15));
|
|
var dati = GetDataSet();
|
|
bool isAdeguata = (bool)datiSeiUnico.flagAdeguatezzaPro();
|
|
AddElement(new PagePDF(PagePDF.PagePDFType.Generic));
|
|
|
|
var intestazione = new SectionHeadingPDF(
|
|
(isAdeguata ? "Proposta" : "Operazioni richieste") + ": prodotti non rappresentabili",
|
|
|
|
EnvironmentFacade.RendererFacade.XLeftLimit,
|
|
EnvironmentFacade.RendererFacade.YUpperLimit,
|
|
EnvironmentFacade.ReportEnvironment.FontFamily);
|
|
|
|
AddElement(intestazione.ToElement());
|
|
|
|
|
|
if (showAsset() && dati.Tables["prodottoPerAreaAsset"].Rows.Count > 0)
|
|
{
|
|
#region Testo Introduttivo Asset
|
|
var titolo = "Prodotti non rappresentabili per asset class";
|
|
AddElement(new SpacePDF(15));
|
|
AddElement(new FormattedTextAreaPDF(titolo, EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 9, FontBold = true });
|
|
AddElement(new SpacePDF(20));
|
|
AddElement(new FormattedTextAreaPDF(getTesto1(), EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify });
|
|
AddElement(new SpacePDF(15));
|
|
#endregion
|
|
|
|
#region Tabella dei prodotti non rappresentabili - Asset
|
|
|
|
var tabellaAsset = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit, dati.Tables["prodottoPerAreaAsset"], dati.Tables["nonRappresentabiliAssetFooter"])
|
|
{
|
|
Style = Style.ConsulenzaUnica,
|
|
Header = true,
|
|
Footer = true,
|
|
AlternateRow = false,
|
|
HeaderHeight = 25,
|
|
HeaderMargin = 2
|
|
};
|
|
|
|
#region Columns e Footer
|
|
|
|
tabellaAsset.Columns.Add(new ColumnPDF("Immagine", 110 + 15, HorizontalAlignmentType.Sinistra, false, true, 7, ColumnType.Objectpdf, "CodiceContratto", "Codice<br>contratto") { HeaderFontSize = 7, FontSize = 7, DeltaYContent = 4, PaddingLeft = 2 });
|
|
//tabellaEsposizione.Columns.Add(new ColumnPDF("DataSottoscrizione", 100, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Datasottoscrizione", "Data<br> sottoscrizione") { BackgroundColor = ColorPDF.Bianco });
|
|
//tabellaEsposizione.Columns.Add(new ColumnPDF("CodiceContratto", 110+15, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Codicecontratto", "Codice<br> contratto") { HeaderFontSize = 7, PaddingRight = 4, BackgroundColor = ColorPDF.Bianco });
|
|
tabellaAsset.Columns.Add(new ColumnPDF("Descrizione", 245, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Descrizione", "Descrizione") { HeaderFontSize = 7, FontSize = 7, PaddingRight = 4, BackgroundColor = ColorPDF.Bianco });
|
|
tabellaAsset.Columns.Add(new ColumnPDF("ControvaloreProposto", 90, HorizontalAlignmentType.Sinistra, false, true, 7, ColumnType.Decimale, "ControvaloreProposto", "Controvalore<br>" + (isAdeguata ? "proposto" : "prospettico") + " (€)") { HeaderFontSize = 7, FontSize = 7, PaddingRight = 4, BackgroundColor = ColorPDF.Bianco });
|
|
tabellaAsset.Columns.Add(new ColumnPDF("VaR", 60, HorizontalAlignmentType.Sinistra, false, true, 7, ColumnType.Testo, "VaR", "VaR (%)") { HeaderFontSize = 7, PaddingRight = 4, FontSize = 7, BackgroundColor = ColorPDF.Bianco });
|
|
|
|
tabellaAsset.FooterColumns.Add(new ColumnPDF("Totale", 370, HorizontalAlignmentType.Sinistra, true, true, 7, ColumnType.Testo) { HeaderFontSize = 7, FontSize = 7 });
|
|
tabellaAsset.FooterColumns.Add(new ColumnPDF("ControvaloreProposto", 90, HorizontalAlignmentType.Destra, true, true, 7, ColumnType.Decimale) { HeaderFontSize = 7, FontSize = 7, PaddingRight = 4 });
|
|
tabellaAsset.FooterColumns.Add(new ColumnPDF("VaR", 60, HorizontalAlignmentType.Destra, true, true, 7, ColumnType.Testo) { HeaderFontSize = 7, FontSize = 7, PaddingRight = 5 });
|
|
|
|
|
|
//tabellaAsset.Columns.Add(new ColumnPDF("Immagine", 15, HorizontalAlignmentType.Sinistra, false, false, 6, ColumnType.Objectpdf, string.Empty, string.Empty) { DeltaYContent = 4, PaddingLeft = 2 });
|
|
////tabellaAsset.Columns.Add(new ColumnPDF("DataSottoscrizione", 100, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Datasottoscrizione", "Data<br> sottoscrizione") { BackgroundColor = ColorPDF.Bianco });
|
|
//tabellaAsset.Columns.Add(new ColumnPDF("CodiceContratto", 110, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Codicecontratto", "Codice contratto") {HeaderFontSize=7,PaddingRight=4, BackgroundColor = ColorPDF.Bianco });
|
|
//tabellaAsset.Columns.Add(new ColumnPDF("Descrizione", 245, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Descrizione", "Descrizione") { HeaderFontSize = 7, PaddingRight = 4, BackgroundColor = ColorPDF.Bianco });
|
|
//tabellaAsset.Columns.Add(new ColumnPDF("ControvaloreProposto", 90, HorizontalAlignmentType.Sinistra, false, true, 7, ColumnType.Decimale, "ControvaloreProposto", "Controvalore<br>proposto (€)") { HeaderFontSize = 7, PaddingRight = 4, BackgroundColor = ColorPDF.Bianco });
|
|
//tabellaAsset.Columns.Add(new ColumnPDF("VaR", 60, HorizontalAlignmentType.Sinistra, false, true, 7, ColumnType.Testo, "VaR", "VaR (%)") { HeaderFontSize = 7, PaddingRight = 4, BackgroundColor = ColorPDF.Bianco });
|
|
|
|
//tabellaAsset.FooterColumns.Add(new ColumnPDF("Totale", 375, HorizontalAlignmentType.Sinistra, true, true, 7, ColumnType.Testo));
|
|
//tabellaAsset.FooterColumns.Add(new ColumnPDF("ControvaloreProposto", 90, HorizontalAlignmentType.Destra, true, true, 7, ColumnType.Testo) { PaddingLeft = 2, PaddingRight = 5 });
|
|
//tabellaAsset.FooterColumns.Add(new ColumnPDF("VaR", 60, HorizontalAlignmentType.Destra, true, true, 7, ColumnType.Testo) { PaddingRight = 4 });
|
|
|
|
#endregion
|
|
|
|
#region Cells
|
|
|
|
int i = 0;
|
|
foreach (DataRow rw in dati.Tables["prodottoPerAreaAsset"].Rows)
|
|
{
|
|
var isTotal = Convert.ToBoolean(rw["IsTotal"]);
|
|
var isSubTotal = Convert.ToBoolean(rw["IsSubTotal"]);
|
|
if (isTotal || isSubTotal)
|
|
{
|
|
if (isTotal)
|
|
{
|
|
// Sfondo grigio per la riga identificata con isTotal [quella di intestazione di area]
|
|
for (int c = 0; c < tabellaAsset.Columns.Count; c++)
|
|
{
|
|
tabellaAsset.Cells[c, i].BackgroundColor = isSubTotal ?
|
|
ColorPDF.Bianco :
|
|
ColorPDF.Standard_Grigio_SfondoColonnaTabella;
|
|
tabellaAsset.Cells[c, i].FontBold = true;
|
|
tabellaAsset.Cells[c, i].FontColor = ColorPDF.Nero;
|
|
}
|
|
|
|
// Simboli dell'area di bisogno
|
|
var listaOggetti = new List<ObjectPDF>
|
|
{
|
|
new RectanglePDF(8, 8, ColorPDF.GetBy_AreaBisogno(rw["CodiceAreaBisogno"].ToString())),
|
|
new FormattedTextAreaPDF
|
|
{
|
|
Text = new AreaBisogno(rw["CodiceAreaBisogno"].ToString()).Abbreviazione,
|
|
FontBold = true,
|
|
FontColor = ColorPDF.Bianco,
|
|
DeltaX = 2,
|
|
FontSize = 7,
|
|
},
|
|
new FormattedTextAreaPDF
|
|
{
|
|
Text = new AreaBisogno(rw["CodiceAreaBisogno"].ToString()).Nome,
|
|
FontBold = true,
|
|
FontColor = ColorPDF.Nero,
|
|
DeltaX = 12F,
|
|
FontSize = 7
|
|
}
|
|
};
|
|
|
|
//Quadrato colorato indicatore Area
|
|
tabellaAsset.Cells[0, i].ValueObjectList.AddRange(listaOggetti);
|
|
}
|
|
if (isSubTotal)
|
|
{
|
|
var stringa = rw["CodiceContratto"].ToString();
|
|
tabellaAsset.Cells[0, i].ValueObject = new FormattedTextAreaPDF
|
|
{
|
|
Text = stringa,
|
|
FontBold = true,
|
|
FontColor = ColorPDF.Nero,
|
|
DeltaX = 2F,
|
|
FontSize = 7,
|
|
Width = 130
|
|
};
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
{
|
|
var stringa = rw["CodiceContratto"].ToString();
|
|
tabellaAsset.Cells[0, i].ValueObject = new FormattedTextAreaPDF
|
|
{
|
|
Text = stringa,
|
|
FontBold = false,
|
|
FontColor = ColorPDF.Nero,
|
|
DeltaX = 2F,
|
|
FontSize = 7,
|
|
Width = 130,
|
|
DeltaY = 1
|
|
};
|
|
}
|
|
|
|
tabellaAsset.Cells[2, i].HorizontalAlignment =
|
|
tabellaAsset.Cells[3, i].HorizontalAlignment = HorizontalAlignmentType.Destra;
|
|
i++;
|
|
}
|
|
//{
|
|
// var isTotal = Convert.ToBoolean(rw["IsTotal"]);
|
|
// var isSubTotal = Convert.ToBoolean(rw["IsSubTotal"]);
|
|
|
|
// if (isTotal)
|
|
// {
|
|
// // Sfondo grigio per la riga identificata con isTotal [quella di intestazione di area]
|
|
// for (int c = 0; c < tabellaAsset.Columns.Count; c++)
|
|
// tabellaAsset.Cells[c, i].BackgroundColor = ColorPDF.Standard_Grigio_SfondoColonnaTabella;
|
|
|
|
// // Simboli dell'area di bisogno
|
|
// var listaOggetti = new List<ObjectPDF>
|
|
// {
|
|
// new RectanglePDF(10, 10, ColorPDF.GetBy_AreaBisogno(rw["CodiceAreaBisogno"].ToString())),
|
|
// new FormattedTextAreaPDF
|
|
// {
|
|
// Text = new AreaBisogno(rw["CodiceAreaBisogno"].ToString()).Abbreviazione,
|
|
// FontBold = true,
|
|
// FontSize=7,
|
|
// FontColor = ColorPDF.Bianco,
|
|
// DeltaX = 2
|
|
// }
|
|
// };
|
|
|
|
// //Quadrato colorato indicatore Area
|
|
// tabellaAsset.Cells[0, i].ValueObjectList.AddRange(listaOggetti);
|
|
// }
|
|
// tabellaAsset.Cells[3, i].HorizontalAlignment =
|
|
// tabellaAsset.Cells[4, i].HorizontalAlignment = HorizontalAlignmentType.Destra;
|
|
// i++;
|
|
//}
|
|
|
|
#endregion
|
|
|
|
AddElement(tabellaAsset);
|
|
|
|
#endregion
|
|
|
|
AddElement(new SpacePDF(20));
|
|
}
|
|
|
|
if (showValutaria() && dati.Tables["prodottoPerAreaEsposizione"].Rows.Count > 0)
|
|
{
|
|
#region Testo Introduttivo Valutaria
|
|
var titolo = "Prodotti non rappresentabili per esposizione valutaria";
|
|
AddElement(new SpacePDF(15));
|
|
AddElement(new FormattedTextAreaPDF(titolo, EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 9, FontBold = true });
|
|
AddElement(new SpacePDF(15));
|
|
AddElement(new FormattedTextAreaPDF(getTesto2(), EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize=7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify});
|
|
AddElement(new SpacePDF(15));
|
|
#endregion
|
|
|
|
#region Tabella dei prodotti non rappresentabili - Esposizione Valutaria
|
|
|
|
var tabellaEsposizione = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit, dati.Tables["prodottoPerAreaEsposizione"], dati.Tables["nonRappresentabiliEsposizioneFooter"])
|
|
{
|
|
Style = Style.ConsulenzaUnica,
|
|
Header = true,
|
|
Footer = true,
|
|
AlternateRow = false,
|
|
HeaderHeight = 25,
|
|
HeaderMargin = 2
|
|
};
|
|
|
|
#region Columns e Footer
|
|
|
|
tabellaEsposizione.Columns.Add(new ColumnPDF("Immagine", 110 + 15, HorizontalAlignmentType.Sinistra, false, true, 7, ColumnType.Objectpdf, "CodiceContratto", "Codice contratto") { HeaderFontSize = 7, FontSize = 7, DeltaYContent = 4, PaddingLeft = 2 });
|
|
//tabellaEsposizione.Columns.Add(new ColumnPDF("DataSottoscrizione", 100, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Datasottoscrizione", "Data<br> sottoscrizione") { BackgroundColor = ColorPDF.Bianco });
|
|
//tabellaEsposizione.Columns.Add(new ColumnPDF("CodiceContratto", 110+15, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Codicecontratto", "Codice<br> contratto") { HeaderFontSize = 7, PaddingRight = 4, BackgroundColor = ColorPDF.Bianco });
|
|
tabellaEsposizione.Columns.Add(new ColumnPDF("Descrizione", 230, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Descrizione", "Descrizione") { HeaderFontSize = 7, FontSize = 7, PaddingRight = 4, BackgroundColor = ColorPDF.Bianco });
|
|
tabellaEsposizione.Columns.Add(new ColumnPDF("ControvaloreProposto", 105, HorizontalAlignmentType.Sinistra, false, true, 7, ColumnType.Decimale, "ControvaloreProposto", "Controvalore<br>" + (isAdeguata ? "proposto" : "prospettico") + " (€)") { HeaderFontSize = 7, FontSize = 7, PaddingRight = 4, BackgroundColor = ColorPDF.Bianco });
|
|
tabellaEsposizione.Columns.Add(new ColumnPDF("VaR", 60, HorizontalAlignmentType.Sinistra, false, true, 7, ColumnType.Testo, "VaR", "VaR (%)") { HeaderFontSize = 7, PaddingRight = 4, FontSize = 7, BackgroundColor = ColorPDF.Bianco });
|
|
|
|
tabellaEsposizione.FooterColumns.Add(new ColumnPDF("Totale", 355, HorizontalAlignmentType.Sinistra, true, true, 7, ColumnType.Testo) { HeaderFontSize = 7, FontSize = 7 });
|
|
tabellaEsposizione.FooterColumns.Add(new ColumnPDF("ControvaloreProposto", 105, HorizontalAlignmentType.Destra, true, true, 7, ColumnType.Decimale) { HeaderFontSize = 7, FontSize = 7, PaddingRight = 4 });
|
|
tabellaEsposizione.FooterColumns.Add(new ColumnPDF("VaR", 60, HorizontalAlignmentType.Destra, true, true, 7, ColumnType.Testo) { HeaderFontSize = 7, FontSize = 7, PaddingRight = 5});
|
|
|
|
#endregion
|
|
|
|
#region Cells
|
|
|
|
int i = 0;
|
|
foreach (DataRow rw in dati.Tables["prodottoPerAreaEsposizione"].Rows)
|
|
{
|
|
var isTotal = Convert.ToBoolean(rw["IsTotal"]);
|
|
var isSubTotal = Convert.ToBoolean(rw["IsSubTotal"]);
|
|
if (isTotal || isSubTotal)
|
|
{
|
|
// Sfondo grigio per la riga identificata con isTotal [quella di intestazione di area]
|
|
if (isTotal)
|
|
{
|
|
for (int c = 0; c < tabellaEsposizione.Columns.Count; c++)
|
|
{
|
|
tabellaEsposizione.Cells[c, i].BackgroundColor = ColorPDF.Standard_Grigio_SfondoColonnaTabella;
|
|
tabellaEsposizione.Cells[c, i].FontBold = true;
|
|
tabellaEsposizione.Cells[c, i].FontColor = ColorPDF.Nero;
|
|
}
|
|
var listaOggetti = new List<ObjectPDF>
|
|
{
|
|
new RectanglePDF(8, 8, ColorPDF.GetBy_AreaBisogno(rw["CodiceAreaBisogno"].ToString())),
|
|
new FormattedTextAreaPDF
|
|
{
|
|
Text = new AreaBisogno(rw["CodiceAreaBisogno"].ToString()).Abbreviazione,
|
|
FontBold = true,
|
|
FontColor = ColorPDF.Bianco,
|
|
DeltaX = 2,
|
|
FontSize = 7,
|
|
},
|
|
new FormattedTextAreaPDF
|
|
{
|
|
Text = new AreaBisogno(rw["CodiceAreaBisogno"].ToString()).Nome,
|
|
FontBold = true,
|
|
FontColor = ColorPDF.Nero,
|
|
DeltaX = 12F,
|
|
FontSize = 7
|
|
}
|
|
};
|
|
|
|
//Quadrato colorato indicatore Area
|
|
tabellaEsposizione.Cells[0, i].ValueObjectList.AddRange(listaOggetti);
|
|
}
|
|
if (isSubTotal)
|
|
{
|
|
for (int c = 0; c < tabellaEsposizione.Columns.Count; c++)
|
|
{
|
|
tabellaEsposizione.Cells[c, i].FontBold = true;
|
|
tabellaEsposizione.Cells[c, i].FontColor = ColorPDF.Nero;
|
|
}
|
|
|
|
var stringa = rw["CodiceContratto"].ToString();
|
|
tabellaEsposizione.Cells[0, i].ValueObject = new FormattedTextAreaPDF
|
|
{
|
|
Text = stringa,
|
|
FontBold = true,
|
|
FontColor = ColorPDF.Nero,
|
|
DeltaX = 2F,
|
|
FontSize = 7,
|
|
Width = 130
|
|
};
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
{
|
|
var stringa = rw["CodiceContratto"].ToString();
|
|
tabellaEsposizione.Cells[0, i].ValueObject = new FormattedTextAreaPDF
|
|
{
|
|
Text = stringa,
|
|
FontBold = false,
|
|
FontColor = ColorPDF.Nero,
|
|
DeltaX = 2F,
|
|
FontSize = 7,
|
|
Width = 130,
|
|
DeltaY = 1
|
|
};
|
|
}
|
|
|
|
tabellaEsposizione.Cells[2, i].HorizontalAlignment =
|
|
tabellaEsposizione.Cells[3, i].HorizontalAlignment = HorizontalAlignmentType.Destra;
|
|
i++;
|
|
}
|
|
|
|
#endregion
|
|
|
|
AddElement(tabellaEsposizione);
|
|
|
|
#endregion
|
|
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Recupera i dati necessari alla Section restituendo un DataTable.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
protected override DataTable GetDataTable()
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Recupera i dati necessari alla Section restituendo un DataSet.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
protected override DataSet GetDataSet()
|
|
{
|
|
#region Definizione Dataset
|
|
|
|
const string stringReplaceIfZero = " ";
|
|
var ds = new DataSet();
|
|
|
|
#endregion
|
|
|
|
#region Estrazione ChiavePB + Servizi
|
|
var chiaveClientePb = EnvironmentFacade.ReportEnvironment.Cliente.Chiave;
|
|
var dataPiramideModello = datiSeiUnico.piramideModelloUnit().piramideModello.areaModello;
|
|
var dettaglioProdotti = datiSeiUnico.propostaUnit().dettaglioProdotti;
|
|
var dataProdottiNonRappresentabili_Asset = datiSeiUnico.propostaUnit().assetClass.distribuzionePerProdotti.listaProdotti.Where(o => o.rappresentabile == false);
|
|
var dataProdottiNonRappresentabili_Esposizioni = datiSeiUnico.propostaUnit().esposizioneValutaria.distribuzionePerProdotti.listaProdotti.Where(o => o.rappresentabile == false);
|
|
#endregion
|
|
|
|
#region Asset - Prodotti non Rappresentabili
|
|
|
|
ds.Tables.Add(new DataTable("nonRappresentabiliAsset"));
|
|
ds.Tables["nonRappresentabiliAsset"].ExtendedProperties.Add("IndiceTabella", 1);
|
|
ds.Tables["nonRappresentabiliAsset"].Columns.Add(new DataColumn("CodiceAreaBisogno", typeof(string)));
|
|
ds.Tables["nonRappresentabiliAsset"].Columns.Add(new DataColumn("DescrizioneAreaBisogno", typeof(string)));
|
|
ds.Tables["nonRappresentabiliAsset"].Columns.Add(new DataColumn("OrdinamentoAreaBisogno", typeof(int)));
|
|
ds.Tables["nonRappresentabiliAsset"].Columns.Add(new DataColumn("DescrizioneProgetto", typeof(string)));
|
|
ds.Tables["nonRappresentabiliAsset"].Columns.Add(new DataColumn("DataSottoscrizione", typeof(string)));
|
|
ds.Tables["nonRappresentabiliAsset"].Columns.Add(new DataColumn("CodiceContratto", typeof(string)));
|
|
ds.Tables["nonRappresentabiliAsset"].Columns.Add(new DataColumn("Descrizione", typeof(string)));
|
|
ds.Tables["nonRappresentabiliAsset"].Columns.Add(new DataColumn("ControvaloreProposto", typeof(decimal)));
|
|
ds.Tables["nonRappresentabiliAsset"].Columns.Add(new DataColumn("VaR", typeof(string)));
|
|
ds.Tables["nonRappresentabiliAsset"].Columns.Add(new DataColumn("FontBold", typeof(bool)));
|
|
ds.Tables["nonRappresentabiliAsset"].Columns.Add(new DataColumn("ReplaceIfZero", typeof(string)));
|
|
ds.Tables["nonRappresentabiliAsset"].Columns.Add(new DataColumn("CanLastRow", typeof(bool)));
|
|
ds.Tables["nonRappresentabiliAsset"].Columns.Add(new DataColumn("IsTotal", typeof(bool)));
|
|
ds.Tables["nonRappresentabiliAsset"].Columns.Add(new DataColumn("IsSubTotal", typeof(bool)));
|
|
|
|
foreach (var prodotto in dataProdottiNonRappresentabili_Asset)
|
|
{
|
|
var itemPosizione = dettaglioProdotti.dettaglioProdotti.FirstOrDefault(o => o.chiaveAggregazione.Equals(prodotto.chiaveAggregazione));
|
|
var itemPiramideModello = dataPiramideModello.FirstOrDefault(o => o.area.ToLower().Trim().Equals(itemPosizione.area.ToLower().Trim()));
|
|
if (itemPosizione.ctvPro != 0)
|
|
{
|
|
var rowProdotto = ds.Tables["nonRappresentabiliAsset"].NewRow();
|
|
|
|
rowProdotto["CodiceAreaBisogno"] = itemPosizione.area;
|
|
rowProdotto["DescrizioneAreaBisogno"] = itemPosizione.descAreaEstesa;
|
|
rowProdotto["OrdinamentoAreaBisogno"] = itemPiramideModello.ordinamento;
|
|
rowProdotto["DescrizioneProgetto"] = itemPosizione.nomeProgetto;
|
|
rowProdotto["DataSottoscrizione"] = itemPosizione.dtSottoscrizione.ToShortDateString();
|
|
rowProdotto["CodiceContratto"] = itemPosizione.codContratto;
|
|
rowProdotto["Descrizione"] = itemPosizione.prodotto.nomeProdotto;
|
|
rowProdotto["ControvaloreProposto"] = itemPosizione.ctvPro;
|
|
rowProdotto["VaR"] = itemPosizione.prodotto.varProDec;
|
|
|
|
rowProdotto["FontBold"] = false;
|
|
rowProdotto["ReplaceIfZero"] = false;
|
|
rowProdotto["CanLastRow"] = true;
|
|
rowProdotto["IsTotal"] = false;
|
|
rowProdotto["IsSubTotal"] = false;
|
|
|
|
ds.Tables["nonRappresentabiliAsset"].Rows.Add(rowProdotto);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Esposizione valutaria - Prodotti non rappresentabili
|
|
ds.Tables.Add(new DataTable("nonRappresentabiliEsposizione"));
|
|
ds.Tables["nonRappresentabiliEsposizione"].ExtendedProperties.Add("IndiceTabella", 3);
|
|
ds.Tables["nonRappresentabiliEsposizione"].Columns.Add(new DataColumn("CodiceAreaBisogno", typeof(string)));
|
|
ds.Tables["nonRappresentabiliEsposizione"].Columns.Add(new DataColumn("DescrizioneAreaBisogno", typeof(string)));
|
|
ds.Tables["nonRappresentabiliEsposizione"].Columns.Add(new DataColumn("OrdinamentoAreaBisogno", typeof(int)));
|
|
ds.Tables["nonRappresentabiliEsposizione"].Columns.Add(new DataColumn("DescrizioneProgetto", typeof(string)));
|
|
ds.Tables["nonRappresentabiliEsposizione"].Columns.Add(new DataColumn("DataSottoscrizione", typeof(string)));
|
|
ds.Tables["nonRappresentabiliEsposizione"].Columns.Add(new DataColumn("CodiceContratto", typeof(string)));
|
|
ds.Tables["nonRappresentabiliEsposizione"].Columns.Add(new DataColumn("Descrizione", typeof(string)));
|
|
ds.Tables["nonRappresentabiliEsposizione"].Columns.Add(new DataColumn("ControvaloreProposto", typeof(decimal)));
|
|
ds.Tables["nonRappresentabiliEsposizione"].Columns.Add(new DataColumn("VaR", typeof(string)));
|
|
ds.Tables["nonRappresentabiliEsposizione"].Columns.Add(new DataColumn("FontBold", typeof(bool)));
|
|
ds.Tables["nonRappresentabiliEsposizione"].Columns.Add(new DataColumn("ReplaceIfZero", typeof(string)));
|
|
ds.Tables["nonRappresentabiliEsposizione"].Columns.Add(new DataColumn("CanLastRow", typeof(bool)));
|
|
ds.Tables["nonRappresentabiliEsposizione"].Columns.Add(new DataColumn("IsTotal", typeof(bool)));
|
|
ds.Tables["nonRappresentabiliEsposizione"].Columns.Add(new DataColumn("IsSubTotal", typeof(bool)));
|
|
|
|
foreach (var prodotto in dataProdottiNonRappresentabili_Esposizioni)
|
|
{
|
|
var itemPosizione = dettaglioProdotti.dettaglioProdotti.FirstOrDefault(o => o.chiaveAggregazione.Equals(prodotto.chiaveAggregazione));
|
|
var itemPiramideModello = dataPiramideModello.FirstOrDefault(o => o.area.ToLower().Trim().Equals(itemPosizione.area.ToLower().Trim()));
|
|
if (itemPosizione.ctvPro != 0)
|
|
{
|
|
var rowProdotto = ds.Tables["nonRappresentabiliEsposizione"].NewRow();
|
|
|
|
rowProdotto["CodiceAreaBisogno"] = itemPosizione.area;
|
|
rowProdotto["DescrizioneAreaBisogno"] = itemPosizione.descAreaEstesa;
|
|
rowProdotto["OrdinamentoAreaBisogno"] = itemPiramideModello.ordinamento;
|
|
rowProdotto["DescrizioneProgetto"] = itemPosizione.nomeProgetto;
|
|
rowProdotto["DataSottoscrizione"] = itemPosizione.dtSottoscrizione.ToShortDateString();
|
|
rowProdotto["CodiceContratto"] = itemPosizione.codContratto;
|
|
rowProdotto["Descrizione"] = itemPosizione.prodotto.nomeProdotto;
|
|
rowProdotto["ControvaloreProposto"] = itemPosizione.ctvPro;
|
|
rowProdotto["VaR"] = itemPosizione.prodotto.varProDec;
|
|
|
|
rowProdotto["FontBold"] = false;
|
|
rowProdotto["ReplaceIfZero"] = false;
|
|
rowProdotto["CanLastRow"] = true;
|
|
rowProdotto["IsTotal"] = false;
|
|
rowProdotto["IsSubTotal"] = false;
|
|
|
|
ds.Tables["nonRappresentabiliEsposizione"].Rows.Add(rowProdotto);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Raggruppamento per area di bisogno - Asset
|
|
|
|
ds.Tables.Add(new DataTable("prodottoPerAreaAsset"));
|
|
|
|
ds.Tables["prodottoPerAreaAsset"].Columns.Add(new DataColumn("CodiceAreaBisogno", typeof(string)));
|
|
ds.Tables["prodottoPerAreaAsset"].Columns.Add(new DataColumn("DescrizioneAreaBisogno", typeof(string)));
|
|
ds.Tables["prodottoPerAreaAsset"].Columns.Add(new DataColumn("OrdinamentoAreaBisogno", typeof(int)));
|
|
ds.Tables["prodottoPerAreaAsset"].Columns.Add(new DataColumn("DescrizioneProgetto", typeof(string)));
|
|
ds.Tables["prodottoPerAreaAsset"].Columns.Add(new DataColumn("DataSottoscrizione", typeof(string)));
|
|
ds.Tables["prodottoPerAreaAsset"].Columns.Add(new DataColumn("CodiceContratto", typeof(string)));
|
|
ds.Tables["prodottoPerAreaAsset"].Columns.Add(new DataColumn("Descrizione", typeof(string)));
|
|
ds.Tables["prodottoPerAreaAsset"].Columns.Add(new DataColumn("ControvaloreProposto", typeof(decimal)));
|
|
ds.Tables["prodottoPerAreaAsset"].Columns.Add(new DataColumn("VaR", typeof(string)));
|
|
ds.Tables["prodottoPerAreaAsset"].Columns.Add(new DataColumn("FontBold", typeof(bool)));
|
|
ds.Tables["prodottoPerAreaAsset"].Columns.Add(new DataColumn("ReplaceIfZero", typeof(string)));
|
|
ds.Tables["prodottoPerAreaAsset"].Columns.Add(new DataColumn("CanLastRow", typeof(bool)));
|
|
ds.Tables["prodottoPerAreaAsset"].Columns.Add(new DataColumn("IsTotal", typeof(bool)));
|
|
ds.Tables["prodottoPerAreaAsset"].Columns.Add(new DataColumn("IsSubTotal", typeof(bool)));
|
|
|
|
#region Prodotti raggruppati per area - Asset
|
|
|
|
var viewAree = new DataView(ds.Tables["nonRappresentabiliAsset"]/*.AsEnumerable().Where(o => o.Field<decimal>("ControvaloreProposto") != 0).CopyToDataTable()*/) { Sort = "OrdinamentoAreaBisogno" };
|
|
var dtAree = viewAree.ToTable(true, "CodiceAreaBisogno", "DescrizioneAreaBisogno", "OrdinamentoAreaBisogno");
|
|
|
|
var area = string.Empty;
|
|
var progetto = string.Empty;
|
|
|
|
#region Prodotti
|
|
|
|
foreach (DataRow rowAreaProgetto in dtAree.Rows)
|
|
{
|
|
area = rowAreaProgetto["CodiceAreaBisogno"].ToString();
|
|
|
|
if (new AreaBisogno(area).Visibile)
|
|
{
|
|
//Progetti
|
|
var viewProgetti = new DataView(ds.Tables["nonRappresentabiliAsset"].Select("CodiceAreaBisogno='" + area + "'").OrderByDescending(o => o.Field<decimal>("ControvaloreProposto")).CopyToDataTable());
|
|
var dtProgetti = viewProgetti.ToTable(true, "DescrizioneProgetto");
|
|
var bIntestazioneArea = true; // la riga di intestazione dell'area va stampata una sola volta.
|
|
var bItestazioneProgetto = area == "Inv" || area == "Pre"; // la riga di intestazione del progetto va stampata solo per area Inv e Pre.
|
|
|
|
DataRow rowProdottiPerArea;
|
|
|
|
foreach (DataRow itemProgetto in dtProgetti.Rows)
|
|
{
|
|
progetto = itemProgetto["DescrizioneProgetto"].ToString();
|
|
|
|
// Subset di prodotti filtrati per Area/Progetto
|
|
var dtArea = ds.Tables["nonRappresentabiliAsset"].Select("CodiceAreaBisogno='" + area + "'").OrderByDescending(o => o.Field<decimal>("ControvaloreProposto")).CopyToDataTable();
|
|
var dtAreaProgetto = ds.Tables["nonRappresentabiliAsset"].Select("CodiceAreaBisogno='" + area + "' AND " + string.Format("DescrizioneProgetto ='{0}'", itemProgetto["DescrizioneProgetto"].ToString().Replace("'", "''"))).OrderByDescending(o => o.Field<decimal>("ControvaloreProposto")).CopyToDataTable();
|
|
|
|
if (bIntestazioneArea)
|
|
{
|
|
#region riga con background grigio di intestazione per ogni area
|
|
|
|
rowProdottiPerArea = ds.Tables["prodottoPerAreaAsset"].NewRow();
|
|
rowProdottiPerArea["CodiceAreaBisogno"] = rowAreaProgetto["CodiceAreaBisogno"];
|
|
rowProdottiPerArea["CodiceContratto"] = rowAreaProgetto["DescrizioneAreaBisogno"]; //FARE
|
|
|
|
// Totali per area
|
|
rowProdottiPerArea["ControvaloreProposto"] = dtArea.AsEnumerable().Sum(p => p.Field<decimal>("ControvaloreProposto"));
|
|
|
|
rowProdottiPerArea["FontBold"] = true;
|
|
rowProdottiPerArea["ReplaceIfZero"] = stringReplaceIfZero;
|
|
rowProdottiPerArea["CanLastRow"] = false;
|
|
rowProdottiPerArea["IsTotal"] = true;
|
|
rowProdottiPerArea["IsSubTotal"] = false;
|
|
ds.Tables["prodottoPerAreaAsset"].Rows.Add(rowProdottiPerArea);
|
|
|
|
bIntestazioneArea = false;
|
|
#endregion
|
|
}
|
|
|
|
if (bItestazioneProgetto)
|
|
{
|
|
#region Riga con background grigio di intestazione per ogni Progetto
|
|
|
|
rowProdottiPerArea = ds.Tables["prodottoPerAreaAsset"].NewRow();
|
|
rowProdottiPerArea["CodiceAreaBisogno"] = rowAreaProgetto["CodiceAreaBisogno"];
|
|
rowProdottiPerArea["CodiceContratto"] = progetto;
|
|
|
|
// Totali per area
|
|
rowProdottiPerArea["ControvaloreProposto"] = dtArea.AsEnumerable().Sum(p => p.Field<decimal>("ControvaloreProposto"));
|
|
|
|
rowProdottiPerArea["FontBold"] = true;
|
|
rowProdottiPerArea["ReplaceIfZero"] = stringReplaceIfZero;
|
|
rowProdottiPerArea["CanLastRow"] = false;
|
|
rowProdottiPerArea["IsTotal"] = false;
|
|
rowProdottiPerArea["IsSubTotal"] = true;
|
|
|
|
ds.Tables["prodottoPerAreaAsset"].Rows.Add(rowProdottiPerArea);
|
|
|
|
#endregion
|
|
}
|
|
|
|
// I prodotti della dtProdotti vengono mergiati sulla dtProdottiPerArea
|
|
ds.Tables["prodottoPerAreaAsset"].Merge(dtAreaProgetto);
|
|
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#endregion
|
|
}
|
|
#endregion
|
|
|
|
#region Raggruppamento per area di bisogno - Esposizioni
|
|
|
|
ds.Tables.Add(new DataTable("prodottoPerAreaEsposizione"));
|
|
|
|
ds.Tables["prodottoPerAreaEsposizione"].Columns.Add(new DataColumn("CodiceAreaBisogno", typeof(string)));
|
|
ds.Tables["prodottoPerAreaEsposizione"].Columns.Add(new DataColumn("DescrizioneAreaBisogno", typeof(string)));
|
|
ds.Tables["prodottoPerAreaEsposizione"].Columns.Add(new DataColumn("OrdinamentoAreaBisogno", typeof(int)));
|
|
ds.Tables["prodottoPerAreaEsposizione"].Columns.Add(new DataColumn("DescrizioneProgetto", typeof(string)));
|
|
ds.Tables["prodottoPerAreaEsposizione"].Columns.Add(new DataColumn("DataSottoscrizione", typeof(string)));
|
|
ds.Tables["prodottoPerAreaEsposizione"].Columns.Add(new DataColumn("CodiceContratto", typeof(string)));
|
|
ds.Tables["prodottoPerAreaEsposizione"].Columns.Add(new DataColumn("Descrizione", typeof(string)));
|
|
ds.Tables["prodottoPerAreaEsposizione"].Columns.Add(new DataColumn("ControvaloreProposto", typeof(decimal)));
|
|
ds.Tables["prodottoPerAreaEsposizione"].Columns.Add(new DataColumn("VaR", typeof(string)));
|
|
ds.Tables["prodottoPerAreaEsposizione"].Columns.Add(new DataColumn("FontBold", typeof(bool)));
|
|
ds.Tables["prodottoPerAreaEsposizione"].Columns.Add(new DataColumn("ReplaceIfZero", typeof(string)));
|
|
ds.Tables["prodottoPerAreaEsposizione"].Columns.Add(new DataColumn("CanLastRow", typeof(bool)));
|
|
ds.Tables["prodottoPerAreaEsposizione"].Columns.Add(new DataColumn("IsTotal", typeof(bool)));
|
|
ds.Tables["prodottoPerAreaEsposizione"].Columns.Add(new DataColumn("IsSubTotal", typeof(bool)));
|
|
|
|
#region Prodotti raggruppati per area - Asset
|
|
|
|
viewAree = new DataView(ds.Tables["nonRappresentabiliEsposizione"]/*.AsEnumerable().Where(o => o.Field<decimal>("ControvaloreProposto") != 0).CopyToDataTable()*/) { Sort = "OrdinamentoAreaBisogno" };
|
|
dtAree = viewAree.ToTable(true, "CodiceAreaBisogno", "DescrizioneAreaBisogno", "OrdinamentoAreaBisogno");
|
|
|
|
area = string.Empty;
|
|
progetto = string.Empty;
|
|
|
|
#region Prodotti
|
|
|
|
foreach (DataRow rowAreaProgetto in dtAree.Rows)
|
|
{
|
|
area = rowAreaProgetto["CodiceAreaBisogno"].ToString();
|
|
|
|
if (new AreaBisogno(area).Visibile)
|
|
{
|
|
//Progetti
|
|
var viewProgetti = new DataView(ds.Tables["nonRappresentabiliEsposizione"].Select("CodiceAreaBisogno='" + area + "'").OrderByDescending(o => o.Field<decimal>("ControvaloreProposto")).CopyToDataTable());
|
|
var dtProgetti = viewProgetti.ToTable(true, "DescrizioneProgetto");
|
|
var bIntestazioneArea = true; // la riga di intestazione dell'area va stampata una sola volta.
|
|
var bItestazioneProgetto = area == "Inv" || area == "Pre"; // la riga di intestazione del progetto va stampata solo per area Inv e Pre.
|
|
|
|
DataRow rowProdottiPerArea;
|
|
|
|
foreach (DataRow itemProgetto in dtProgetti.Rows)
|
|
{
|
|
progetto = itemProgetto["DescrizioneProgetto"].ToString();
|
|
|
|
// Subset di prodotti filtrati per Area/Progetto
|
|
var dtArea = ds.Tables["nonRappresentabiliEsposizione"].Select("CodiceAreaBisogno='" + area + "'").OrderByDescending(o => o.Field<decimal>("ControvaloreProposto")).CopyToDataTable();
|
|
var dtAreaProgetto = ds.Tables["nonRappresentabiliEsposizione"].Select("CodiceAreaBisogno='" + area + "' AND "+ string.Format("DescrizioneProgetto ='{0}'", itemProgetto["DescrizioneProgetto"].ToString().Replace("'", "''"))).OrderByDescending(o => o.Field<decimal>("ControvaloreProposto")).CopyToDataTable();
|
|
|
|
if (bIntestazioneArea)
|
|
{
|
|
#region riga con background grigio di intestazione per ogni area
|
|
|
|
rowProdottiPerArea = ds.Tables["prodottoPerAreaEsposizione"].NewRow();
|
|
rowProdottiPerArea["CodiceAreaBisogno"] = rowAreaProgetto["CodiceAreaBisogno"];
|
|
rowProdottiPerArea["CodiceContratto"] = rowAreaProgetto["DescrizioneAreaBisogno"]; //FARE
|
|
|
|
// Totali per area
|
|
rowProdottiPerArea["ControvaloreProposto"] = dtArea.AsEnumerable().Sum(p => p.Field<decimal>("ControvaloreProposto"));
|
|
|
|
rowProdottiPerArea["FontBold"] = true;
|
|
rowProdottiPerArea["ReplaceIfZero"] = stringReplaceIfZero;
|
|
rowProdottiPerArea["CanLastRow"] = false;
|
|
rowProdottiPerArea["IsTotal"] = true;
|
|
rowProdottiPerArea["IsSubTotal"] = false;
|
|
ds.Tables["prodottoPerAreaEsposizione"].Rows.Add(rowProdottiPerArea);
|
|
|
|
bIntestazioneArea = false;
|
|
#endregion
|
|
}
|
|
|
|
if (bItestazioneProgetto)
|
|
{
|
|
#region Riga con background grigio di intestazione per ogni Progetto
|
|
|
|
rowProdottiPerArea = ds.Tables["prodottoPerAreaEsposizione"].NewRow();
|
|
rowProdottiPerArea["CodiceAreaBisogno"] = rowAreaProgetto["CodiceAreaBisogno"];
|
|
rowProdottiPerArea["CodiceContratto"] = progetto;
|
|
|
|
// Totali per area
|
|
rowProdottiPerArea["ControvaloreProposto"] = dtArea.AsEnumerable().Sum(p => p.Field<decimal>("ControvaloreProposto"));
|
|
|
|
rowProdottiPerArea["FontBold"] = true;
|
|
rowProdottiPerArea["ReplaceIfZero"] = stringReplaceIfZero;
|
|
rowProdottiPerArea["CanLastRow"] = false;
|
|
rowProdottiPerArea["IsTotal"] = false;
|
|
rowProdottiPerArea["IsSubTotal"] = true;
|
|
|
|
ds.Tables["prodottoPerAreaEsposizione"].Rows.Add(rowProdottiPerArea);
|
|
|
|
#endregion
|
|
}
|
|
|
|
// I prodotti della dtProdotti vengono mergiati sulla dtProdottiPerArea
|
|
ds.Tables["prodottoPerAreaEsposizione"].Merge(dtAreaProgetto);
|
|
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#endregion
|
|
}
|
|
#endregion
|
|
|
|
#region Asset - Prodotti non Rappresentabili Footer
|
|
ds.Tables.Add(new DataTable("nonRappresentabiliAssetFooter"));
|
|
ds.Tables.Add(new DataTable("nonRappresentabiliEsposizioneFooter"));
|
|
ds.Tables["nonRappresentabiliAssetFooter"].Columns.Add(new DataColumn("Totale", typeof(string)));
|
|
ds.Tables["nonRappresentabiliAssetFooter"].Columns.Add(new DataColumn("Controvalore", typeof(decimal)));
|
|
ds.Tables["nonRappresentabiliAssetFooter"].Columns.Add(new DataColumn("Var", typeof(string)));
|
|
|
|
ds.Tables["nonRappresentabiliAssetFooter"].Rows.Add( "Totale prodotti non rappresentabili",
|
|
ds.Tables["prodottoPerAreaAsset"].Select("IsTotal<>'true' AND IsSubTotal<>'true'").AsEnumerable().Sum(x => x.Field<decimal>("ControvaloreProposto")),
|
|
"");
|
|
#endregion
|
|
|
|
#region Valutaria - Prodotti non Rappresentabili Footer
|
|
ds.Tables["nonRappresentabiliEsposizioneFooter"].Columns.Add(new DataColumn("Totale", typeof(string)));
|
|
ds.Tables["nonRappresentabiliEsposizioneFooter"].Columns.Add(new DataColumn("Controvalore", typeof(decimal)));
|
|
ds.Tables["nonRappresentabiliEsposizioneFooter"].Columns.Add(new DataColumn("Var", typeof(string)));
|
|
|
|
ds.Tables["nonRappresentabiliEsposizioneFooter"].Rows.Add("Totale prodotti non rappresentabili",
|
|
ds.Tables["prodottoPerAreaEsposizione"].Select("IsTotal<>'true' AND IsSubTotal<>'true'").AsEnumerable().Sum(x => x.Field<decimal>("ControvaloreProposto")),
|
|
"");
|
|
#endregion
|
|
|
|
return ds;
|
|
}
|
|
|
|
public virtual string getTesto1()
|
|
{
|
|
string testo = string.Empty;
|
|
bool isAdeguata = datiSeiUnico.flagAdeguatezzaPro();
|
|
string adeguataStr = isAdeguata ? "della presente proposta" : "delle operazioni da lei richieste al suo private banker";
|
|
testo += "Nella tabella sottostante sono riportati i prodotti che, sulla base " + adeguataStr +", ";
|
|
testo += "concorrono alla determinazione del suo patrimonio, ma che non è stato possibile rappresentare in termini di ";
|
|
testo += "asset allocation. ";
|
|
return testo;
|
|
}
|
|
|
|
public virtual string getTesto2()
|
|
{
|
|
string testo = string.Empty;
|
|
bool isAdeguata = datiSeiUnico.flagAdeguatezzaPro();
|
|
string adeguataStr = isAdeguata ? "sulla base della presente proposta" : "delle operazioni da lei richieste al suo private banker";
|
|
testo += "Nella tabella sottostante sono riportati i prodotti che, sulla base " + adeguataStr + ", ";
|
|
testo += "concorrono alla determinazione del suo patrimonio, ma che non è stato possibile rappresentare in termini di ";
|
|
testo += "esposizione valutaria. ";
|
|
return testo;
|
|
}
|
|
|
|
public virtual bool showAsset()
|
|
{
|
|
return datiSeiUnico.isVincolo("v65000_1") ? false : GetOption<Opzione4_1>().Valore;
|
|
}
|
|
|
|
public virtual bool showValutaria()
|
|
{
|
|
return datiSeiUnico.isVincolo("v65000_2") ? false : GetOption<Opzione4_2>().Valore;
|
|
}
|
|
|
|
}
|
|
}
|