565 lines
30 KiB
C#

using System;
using Consulenza.ReportWriter.Business;
using Consulenza.ReportWriter.Business.OBJ_PDF;
using System.Data;
using Consulenza.ReportCommon;
using Consulenza.ReportWriter.Business.CHART_PDF;
using Consulenza.ReportWriter.Business.Entity;
using System.Collections.Generic;
using System.Linq;
namespace Consulenza.ReportWriter.Manager.Section.Unica
{
/// <summary>
/// S49.RischioMercatoAssetClass idSezione = 92
/// </summary>
public class S49 : Entity.Section
{
private bool _presenzaNotaPatrimonioCasa = false;
private bool _presenzaNotaPatrimonioTerzi = false;
private float patrimonio1;
private float patrimonio2;
private float patrimonio3;
public S49(EnvironmentFacade environmentFacade, int idSection)
: base(environmentFacade, idSection)
{
try
{
Draw();
}
catch (Exception ex)
{
SectionLogger.Write("S49", ex.Message, SectionLoggerMessageLevel.E, EnvironmentFacade.ReportEnvironment);
}
}
protected override sealed void Draw()
{
var dati = GetDataSet();
var testi = GetText();
var nota = Helper.ReplaceVariables(GetNote1(), EnvironmentFacade.ReportEnvironment);
var notaIntest = Helper.ReplaceVariables(getTesto(), EnvironmentFacade.ReportEnvironment);
float elementsHeightSumWithoutStackedPDF = 0;
if (notaIntest.Length > 0)
{
AddElement(new SpacePDF(15));
var formattedTextArea = new FormattedTextAreaPDF(notaIntest.ToString(), EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 7, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
AddElement(formattedTextArea);
elementsHeightSumWithoutStackedPDF += 15 + formattedTextArea.GetHeight(EnvironmentFacade.ReportEnvironment.FontFamily, false);
}
// AddElement(new SpacePDF(notaIntest.Length > 0 ? 30 : 35));
AddElement(new SpacePDF(15));
elementsHeightSumWithoutStackedPDF += 15;
#region Grafico
bool pagebreak = dati.Tables["assetclass"].Rows.Count > 17;
#region grafico in una pagina sola
var graficoBarre = new StackedPDF(EnvironmentFacade.RendererFacade.XLeftLimit + 110, 1F)
{
HeightSingleBar = 25,
Width = 410,
LabelFormatAxisY = FormatType.Decimale2,
ShowLineAxisX = true,
// MaximumValueAxisY = 100,//IntervalNumberAxisY = 6,
AutoIncrementYWritable = true,
DinamicFloatXEtichettaLateraleBarra = true,
RemoveWhiteSpaceBetweenChartAndAxisX = true,
MarginAxisY = 0,
MarginAxisYFromTop = 0,
MinorGridAxisY = true
};
elementsHeightSumWithoutStackedPDF += 25; // height of axis X labels (they are not being counted in GetHeight() method)
var serieCollezione = new List<Serie> { new Serie { Name = "AssetClass" } };
foreach (DataRow item in dati.Tables["assetclass"].Rows)
{
serieCollezione[0].Points.Add(new Point
{
ShowLabelAxisY = true,
LabelAxisY = Helper.FormatDecimal(item["Percentuale"].ToString(), 2),
FontSizeLabelAxisY = 7,
FontBoldLabelAxisY = false,
VerticalAlignment = VerticalAlignmentType.Centrato,
Color = new ColorPDF(Convert.ToInt32(item["Red"]), Convert.ToInt32(item["Green"]), Convert.ToInt32(item["Blue"])),
Value = Convert.ToDouble(item["Percentuale"]) == 0 ? 0.01 : Convert.ToDouble(item["Percentuale"]),
ShowLabelAxisX = true,
LabelAxisX = item["Patrimonio"].ToString(),
FontSizeLabelAxisX = 7
});
}
graficoBarre.SeriesCollection = serieCollezione;
AddElement(graficoBarre);
for (int ii = dati.Tables["patrimonio"].Rows.Count - 1; ii >= 0; ii--)
{
DataRow r = dati.Tables["patrimonio"].Rows[ii];
graficoBarre.VerticalMarkersWithLines.Add(
new VerticalMarkerWithLine()
{
Color = r["NumeroPatrimonio"].ToString().Equals("1") ? new ColorPDF(254, 163, 0) : r["NumeroPatrimonio"].ToString().Equals("2") ? new ColorPDF(32, 114, 156) : new ColorPDF(124, 163, 73),
ImagePath = string.Format("PallinoColorato{0}.png"/*"PallinoColorato{0}d.png"*/, r["NumeroPatrimonio"].ToString()),
XValue = Convert.ToDouble(r["VaR"]),
ImageYOffset = 15
});
}
#endregion
AddElement(new SpacePDF(20));
AddElement(new FormattedTextAreaPDF("Rischio Mercato (VaR %)", EnvironmentFacade.RendererFacade.XLeftLimit + 265) { FontBold = true, FontSize = 7 });
#endregion
//if (dati.Tables["assetclass"].Rows.Count >= 16)
//{
// if (dati.Tables["patrimonio"].Rows.Count == 1)
// AddElement(new SpacePDF(25));
// else
// {
// //AddElement(new PagePDF());
// AddElement(new SpacePDF(20));
// }
//}
//else
AddElement(new SpacePDF(15));
elementsHeightSumWithoutStackedPDF += 40;
#region Tabella patrimoni
if (dati.Tables["patrimonio"].Rows.Count > 1 && nota.Length > 0 && (getNotaRMGrado().Length > 0 || datiSeiUnico.rischioUnit().rischio.mercatiFinanziariAsset.flagfiduciariaPluriMandato))
{
AddElement(new SpacePDF(30));
elementsHeightSumWithoutStackedPDF += 30;
}
var tabella = new TablePDF(EnvironmentFacade.RendererFacade.XLeftLimit + 10, dati.Tables["patrimonio"])
{
Style = Style.ConsulenzaUnica,
AlternateRow = false,
ShowSeparationLines = true,
RowHeight = 20,
Footer = false,
HeaderHeight = 20
};
elementsHeightSumWithoutStackedPDF += tabella.RowHeight * tabella.RowsCount + tabella.HeaderHeight;
#region oldcode
//bool showGradoCopertura = dati.Tables["patrimonio"].AsEnumerable().FirstOrDefault(s => s.Field<decimal>("GradoCopertura") < 100) != null ? true : false;
////bool showGradoCopertura = (from l in dati.Tables["patrimonio"].AsEnumerable() where l.Field<decimal>("GradoCopertura") < 100 select l).Count() > 0 ? true : false;
//tabella.Columns.Add(new ColumnPDF("ImmaginePatrimonio", 25, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Immagine, "ImmaginePatrimonio", string.Empty) { DeltaYContent = 4, ScaleColumnTypeImage = 0.50F });
//if (showGradoCopertura)
//{ tabella.Columns.Add(new ColumnPDF("Patrimonio", 275, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Patrimonio", "Patrimonio") { FontSize = 7, HeaderFontSize = 7 }); }
//else { tabella.Columns.Add(new ColumnPDF("Patrimonio", 305, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Patrimonio", "Patrimonio") { HeaderFontSize = 7, FontSize = 7 }); }
//tabella.Columns.Add(new ColumnPDF("Controvalore", 60, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "Controvalore", "Controvalore<br>attuale (€)") { HeaderFontSize = 7, FontSize = 7, PaddingRight = 4 });
//tabella.Columns.Add(new ColumnPDF("VaR", 70, HorizontalAlignmentType.Centrato, false, false, 7, ColumnType.Testo, "VaRString", "VaR (%)") { HeaderFontSize = 7, FontSize = 7, PaddingRight = 4 });
//if (showGradoCopertura)
// tabella.Columns.Add(new ColumnPDF("GradoCopertura", 70, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "GradoCopertura", "Grado di <br>copertura (%)") { HeaderFontSize = 7 });
#endregion oldcode
bool showGradoCopertura = dati.Tables["patrimonio"].AsEnumerable().FirstOrDefault(s => s.Field<decimal>("GradoCopertura") < 100) != null ? true : false;
//bool showGradoCopertura = (from l in dati.Tables["patrimonio"].AsEnumerable() where l.Field<decimal>("GradoCopertura") < 100 select l).Count() > 0 ? true : false;
tabella.Columns.Add(new ColumnPDF("ImmaginePatrimonio", 25, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Immagine, "ImmaginePatrimonio", string.Empty) { DeltaYContent = 4, ScaleColumnTypeImage = 0.50F });
if (showGradoCopertura)
{
tabella.Columns.Add(new ColumnPDF("Patrimonio", 275, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Patrimonio", "Patrimonio") { FontSize = 7, HeaderFontSize = 7 });
tabella.Columns.Add(new ColumnPDF("Controvalore", 60, HorizontalAlignmentType.Centrato, false, false, 7, ColumnType.Decimale, "Controvalore", "Controvalore<br>attuale (€)") { HeaderFontSize = 7, FontSize = 7, PaddingRight = 4 });
tabella.Columns.Add(new ColumnPDF("VaR", 70, HorizontalAlignmentType.Centrato, false, false, 7, ColumnType.Testo, "VaRString", "VaR (%)") { HeaderFontSize = 7, FontSize = 7, PaddingRight = 4 });
}
else
{
tabella.Columns.Add(new ColumnPDF("Patrimonio", 325, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Testo, "Patrimonio", "Patrimonio") { HeaderFontSize = 7, FontSize = 7 });
tabella.Columns.Add(new ColumnPDF("Controvalore", 90, HorizontalAlignmentType.Centrato, false, false, 7, ColumnType.Decimale, "Controvalore", "Controvalore<br>attuale (€)") { HeaderFontSize = 7, FontSize = 7, PaddingRight = 4 });
tabella.Columns.Add(new ColumnPDF("VaR", 70, HorizontalAlignmentType.Centrato, false, false, 7, ColumnType.Testo, "VaRString", "VaR (%)") { HeaderFontSize = 7, FontSize = 7, PaddingRight = 4 });
}
if (showGradoCopertura)
tabella.Columns.Add(new ColumnPDF("GradoCopertura", 70, HorizontalAlignmentType.Sinistra, false, false, 7, ColumnType.Decimale, "GradoCopertura", "Grado di <br>copertura (%)") { HeaderFontSize = 7 });
int i = 0;
foreach (DataRow ro in dati.Tables["patrimonio"].Rows)
{
tabella.Cells[2, i].HorizontalAlignment =
tabella.Cells[3, i].HorizontalAlignment = HorizontalAlignmentType.Destra;
if (showGradoCopertura)
tabella.Cells[4, i].HorizontalAlignment = HorizontalAlignmentType.Destra;
i++;
}
if (nota.Length > 0)
{
nota = nota.Replace("(*)", "");
if (_presenzaNotaPatrimonioTerzi && !_presenzaNotaPatrimonioCasa)
{
tabella.Notes.Add(new TableNotePDF(TableNotePDF.TableNotePositionType.PièDiTabella, nota, new[] { "Patrimonio" }, "CodicePatrimonio IN ('PT','PC')", TableNotePDF.TableNoteAsteriskPositionType.CorpoTabella) { TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, FontSize = 6 });
elementsHeightSumWithoutStackedPDF += 8 + (int)Math.Ceiling((double)nota.Length / 130) * 10; // number of rows
}
else if (_presenzaNotaPatrimonioTerzi && _presenzaNotaPatrimonioCasa)
{
tabella.Notes.Add(new TableNotePDF(TableNotePDF.TableNotePositionType.PièDiTabella, nota, new[] { "Patrimonio" }, string.Empty, TableNotePDF.TableNoteAsteriskPositionType.CorpoTabella) { TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, FontSize = 6 });
elementsHeightSumWithoutStackedPDF += 8 + (int)Math.Ceiling((double)nota.Length / 130) * 10; // number of rows
}
else if (!_presenzaNotaPatrimonioTerzi && _presenzaNotaPatrimonioCasa)
{
tabella.Notes.Add(new TableNotePDF(TableNotePDF.TableNotePositionType.PièDiTabella, nota, new[] { "Patrimonio" }, "CodicePatrimonio IN ('BF','PC','SPI')", TableNotePDF.TableNoteAsteriskPositionType.CorpoTabella) { TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify, FontSize = 6 });
elementsHeightSumWithoutStackedPDF += 8 + (int)Math.Ceiling((double)nota.Length / 130) * 10; // number of rows
}
}
AddElement(tabella);
// tmp to show text areas
// datiSeiUnico.rischioUnit().rischio.mercatiFinanziariAsset.flagfiduciariaPluriMandato = true;
// datiSeiUnico.rischioUnit().rischio.mercatiFinanziariAsset.varInfosFideuram.stat.copertura = 45;
// tmp
if (datiSeiUnico.rischioUnit().rischio.mercatiFinanziariAsset.flagfiduciariaPluriMandato)
{
AddElement(new SpacePDF(13));
string codicemandato = datiSeiUnico.getClienteReport().codiceMandato;
string testo = "La valutazione di adeguatezza del patrimonio $/Banca/$ in termini di «Rischio Mercato (VaR)» prende in considerazione il patrimonio detenuto presso $/Banca/$ da tutti i mandati fiduciari associati al medesimo fiduciante a cui appartiene il mandato " + codicemandato + ". L'indicatore «Rischio Mercato (VaR)» del patrimonio $/Banca/$, invece, è calcolato considerando esclusivamente i prodotti detenuti dal mandato " + codicemandato + ".";
var formattedTextToAdd = new FormattedTextAreaPDF(datiSeiUnico.FormatBanca(testo), EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 6, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
AddElement(formattedTextToAdd);
elementsHeightSumWithoutStackedPDF += 13 + formattedTextToAdd.GetHeight(EnvironmentFacade.ReportEnvironment.FontFamily, false);
}
if (getNotaRMGrado().Length > 0)
{
AddElement(new SpacePDF(13));
var tmpText = getNotaRMGrado();
var formattedTextToAdd = new FormattedTextAreaPDF(getNotaRMGrado(), EnvironmentFacade.RendererFacade.XLeftLimit) { FontSize = 6, TextHorizontalAlign = ceTe.DynamicPDF.TextAlign.Justify };
AddElement(formattedTextToAdd);
elementsHeightSumWithoutStackedPDF += 13 + formattedTextToAdd.GetHeight(EnvironmentFacade.ReportEnvironment.FontFamily, false);
}
var tmpStackedPDFHeight = graficoBarre.GetHeight();
while (EnvironmentFacade.RendererFacade.YUpperLimit + elementsHeightSumWithoutStackedPDF + tmpStackedPDFHeight > EnvironmentFacade.RendererFacade.YLowerLimit)
{
graficoBarre.HeightSingleBar--;
tmpStackedPDFHeight = graficoBarre.GetHeight();
}
#endregion
if (graficoBarre.HeightSingleBar >= 24)
graficoBarre.HeightSingleBar = 23;
}
public virtual string getNotaRMGrado() //40.5 copertura rischio mercato var e rischio credito
{
var gradoCoperturaRM = Convert.ToDecimal(datiSeiUnico.rischioUnit().rischio.mercatiFinanziariAsset.varInfosFideuram.stat.copertura);
string nota = "";
if (gradoCoperturaRM < 90)
{
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 Rischio Mercato (VaR), 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);
}
protected sealed override DataTable GetDataTable()
{
return null;
}
protected sealed override DataSet GetDataSet()
{
var ds = new DataSet();
ds.Tables.Add(new DataTable("patrimonio"));
ds.Tables.Add(new DataTable("assetclass"));
bool altriIstituti = GetOption<Opzione4>().Valore;
var mercatiFinanziariAsset = datiSeiUnico.rischioUnit().rischio.mercatiFinanziariAsset;// new DataServices.Rischio(EnvironmentFacade.ReportEnvironment.Cliente.Chiave).GetRischio().mercatiFinanziariAsset;
var assetDisplayInfos = datiSeiUnico.displayInfos().assetDisplayInfos;// new DataServices.DisplayInfo(EnvironmentFacade.ReportEnvironment.Cliente.Chiave).GetDisplayInfo().assetDisplayInfos;
#region Patrimonio
ds.Tables["patrimonio"].Columns.Add(new DataColumn("Patrimonio", typeof(string)));
ds.Tables["patrimonio"].Columns.Add(new DataColumn("NumeroPatrimonio", typeof(string)));
ds.Tables["patrimonio"].Columns.Add(new DataColumn("CodicePatrimonio", typeof(string)));
ds.Tables["patrimonio"].Columns.Add(new DataColumn("ImmaginePatrimonio", typeof(string)));
ds.Tables["patrimonio"].Columns.Add(new DataColumn("Controvalore", typeof(decimal)));
ds.Tables["patrimonio"].Columns.Add(new DataColumn("VaR", typeof(decimal)));
ds.Tables["patrimonio"].Columns.Add(new DataColumn("VaRString", typeof(string)));
ds.Tables["patrimonio"].Columns.Add(new DataColumn("GradoCopertura", typeof(decimal)));
string banca = Helper.ReplaceVariables("$/Banca/$", EnvironmentFacade.ReportEnvironment);
ds.Tables["patrimonio"].Rows.Add(
string.Format("Patrimonio {0}", Helper.ReplaceVariables("$/Banca/$", EnvironmentFacade.ReportEnvironment)),
1,
banca == "Fideuram" ? "BF" : "SPI",
"PallinoColorato1.png",
mercatiFinanziariAsset.totaliFideuram.risorseFinanziarie + mercatiFinanziariAsset.totaliFideuram.partiteViaggianti,
mercatiFinanziariAsset.varComplessivoFideuram,
mercatiFinanziariAsset.varComplessivoFideuramDecod,
mercatiFinanziariAsset.varInfosFideuram.stat.copertura
);
patrimonio1 = (float)Convert.ToDouble(mercatiFinanziariAsset.varComplessivoFideuramDecod);
if (altriIstituti && mercatiFinanziariAsset.varComplessivoAltriIstituti != 0)
{
ds.Tables["patrimonio"].Rows.Add(
"Patrimonio altri Istituti",
2,
"PT",
"PallinoColorato2.png",
mercatiFinanziariAsset.totaliAltriIstituti.risorseFinanziarie,
mercatiFinanziariAsset.varComplessivoAltriIstituti,
mercatiFinanziariAsset.varComplessivoAltriIstitutiDecod,
mercatiFinanziariAsset.varInfosAltriIstituti.stat.copertura
);
patrimonio2 = (float)Convert.ToDouble(mercatiFinanziariAsset.varComplessivoAltriIstitutiDecod);
ds.Tables["patrimonio"].Rows.Add(
"Patrimonio finanziario complessivo",
3,
"PC",
"PallinoColorato3.png",
mercatiFinanziariAsset.totaliFideuram.risorseFinanziarie + mercatiFinanziariAsset.totaliFideuram.partiteViaggianti + mercatiFinanziariAsset.totaliAltriIstituti.risorseFinanziarie,
mercatiFinanziariAsset.varComplessivo,
mercatiFinanziariAsset.varComplessivoDecod,
mercatiFinanziariAsset.varInfosComplessivo.stat.copertura
);
patrimonio3 = (float)Convert.ToDouble(mercatiFinanziariAsset.varComplessivoDecod);
}
#endregion
#region Asset
ds.Tables["assetclass"].Columns.Add(new DataColumn("Patrimonio", typeof(string)));
ds.Tables["assetclass"].Columns.Add(new DataColumn("Red", typeof(int)));
ds.Tables["assetclass"].Columns.Add(new DataColumn("Green", typeof(int)));
ds.Tables["assetclass"].Columns.Add(new DataColumn("Blue", typeof(int)));
ds.Tables["assetclass"].Columns.Add(new DataColumn("Percentuale", typeof(decimal)));
foreach (var item in from c in assetDisplayInfos
join l in mercatiFinanziariAsset.listaAssetClass on c.key equals l.id
orderby c.value.order
select new
{
l.descrizione,
l.var,
new ColorPDF(c.value.fill).Red,
new ColorPDF(c.value.fill).Green,
new ColorPDF(c.value.fill).Blue
})
{
ds.Tables["assetclass"].Rows.Add(
item.descrizione,
item.Red,
item.Green,
item.Blue,
item.var
);
}
#endregion
return ds;
}
public virtual bool _visualizzaAltriIstituti()
{
return GetOption<Opzione4>().Valore;
}
/// <summary>
/// Recupera il testo introduttivo
/// </summary>
/// <returns></returns>
public virtual string getTesto()
{
string testo = "";
if (EnvironmentFacade.ReportEnvironment.ReportId == 6)//nuclei
{
testo = "In questa scheda il livello di Rischio Mercato (VaR) del patrimonio associato al nucleo che i componenti detengono presso $/Banca/$";
if (_visualizzaAltriIstituti())
testo += ", del patrimonio associato al nucleo che i componenti detengono presso altri Istituti e del patrimonio finanziario complessivo associato al nucleo,";
testo += " è confrontato con il livello di Rischio Mercato (VaR) dei principali mercati finanziari (asset class) azionari, obbligazionari e monetari.";
}
else
{
testo = "In questa scheda il livello di Rischio Mercato (VaR) del patrimonio che lei detiene presso $/Banca/$";
if (_visualizzaAltriIstituti())
testo += ", del patrimonio che lei detiene presso altri Istituti e del suo patrimonio finanziario complessivo,";
testo += " è confrontato con il livello di Rischio Mercato (VaR) dei principali mercati finanziari (asset class) azionari, obbligazionari e monetari.";
}
return testo;
}
/// <summary>
/// Recupera la nota dinamica
/// </summary>
/// <param name="nota"></param>
/// <returns></returns>
public virtual string GetNote1()
{
string nota = "";
string token = "";
var patrimonioCasa = datiSeiUnico.pianificazioneUnit().pianificazioneVerticale;
var patrimonioTerzi = datiSeiUnico.patrimonioUnit().patrimonioTerzi;
decimal CCN_CASA = patrimonioCasa.contoCorrenteNegativo; //cc negativi del patrimonio casa
decimal CCN_TERZI = patrimonioTerzi.patrimonioTerziBean.contoCorrentiNegativi;
_presenzaNotaPatrimonioTerzi = CCN_TERZI != 0;
var dataMacroAsset = datiSeiUnico.patrimonioUnit().patrimonioCasa.macroAssetClass;
decimal GPELIGOFONDI_CASA = patrimonioCasa.liqEligoFondiNeg; // liquidità sottostante la GP Eligo Fondi del patrimonio casa
decimal GPELIGTITOLI_CASA = patrimonioCasa.liqEligoTitoliNeg; //liquidità sottostante la GP Eligo Titoli del patrimonio casa
// 20181009 AC
decimal TUOFOGLIO_CASA = patrimonioCasa.liqFogliNeg; //liquidità sottostante Il Mio Foglio del patrimonio casa
//--20181009
// 20181009
//_presenzaNotaPatrimonioCasa = CCN_CASA != 0 || GPELIGOFONDI_CASA != 0 || GPELIGTITOLI_CASA != 0;
_presenzaNotaPatrimonioCasa = CCN_CASA != 0 || GPELIGOFONDI_CASA != 0 || GPELIGTITOLI_CASA != 0 || TUOFOGLIO_CASA != 0;
//--20181009
decimal GC = 100;// (presenzaContocorrenteInMonterio() ? dataMacroAsset.distribuzione.coverageCC : dataMacroAsset.distribuzione.coverage) * 100; ;//(presenzaContocorrenteInMonterio() ? patrimonioFinanziario.distribuzione.coverageCC : patrimonioFinanziario.distribuzione.coverage) * 100; // grado di copertura della distribuzione
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)
if (CCN_CASA != 0 || GPELIGOFONDI_CASA != 0 || GPELIGTITOLI_CASA != 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/$";
token = " ";
}
nota += token + "esclude il saldo negativo";
token = " ";
if (CCN_CASA != 0)
{
nota += token + datiSeiUnico.FormatDecimal("dei conti correnti ({0} €)", CCN_CASA);
token = ", ";
}
// 20181009 AC
if (TUOFOGLIO_CASA != 0)
{
nota += token + datiSeiUnico.FormatDecimal("della liquidità sottostante Il Mio Foglio ({0} €)", TUOFOGLIO_CASA);
token = ", ";
}
//--20181009 AC
if (GPELIGOFONDI_CASA != 0)
{
nota += token + datiSeiUnico.FormatDecimal("della liquidità sottostante la GP Eligo Fondi ({0} €)", GPELIGOFONDI_CASA);
token = ", ";
}
if (GPELIGTITOLI_CASA != 0)
{
nota += token + datiSeiUnico.FormatDecimal("della liquidità sottostante la GP Eligo Titoli ({0} €)", GPELIGTITOLI_CASA);
//token = ", ";
}
token = ". ";
//if (CCN_TERZI != 0)
//{
// if (_visualizzaAltriIstituti())
// {
// nota += token + datiSeiUnico.FormatDecimal("dei conti correnti ({0} €) del patrimonio Altri Istituti", CCN_TERZI);
// ;
// }
//}
}
if (CCN_TERZI != 0)
{
nota += token + datiSeiUnico.FormatDecimal("Il controvalore del patrimonio altri Istituti esclude il saldo negativo dei conti correnti ({0} €)", CCN_TERZI);
token = ". ";
}
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)
{
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 Helper.ReplaceVariables(nota, EnvironmentFacade.ReportEnvironment);
}
}
}